Skip to content

Aleph-Alpha/aleph-alpha-client

Repository files navigation

Aleph Alpha Client

License PyPI version Documentation Status

Python client for the Aleph Alpha API.

Usage

Synchronous Client

import os
from aleph_alpha_client import Client, CompletionRequest, Prompt

client = Client(
    token=os.environ["TEST_TOKEN"],
    host=os.environ["TEST_API_URL"],
)
request = CompletionRequest(
    prompt=Prompt.from_text("Provide a short description of AI:"),
    maximum_tokens=64,
)
response = client.complete(request, model="pharia-1-llm-7b-control")

print(response.completions[0].completion)

Asynchronous Client

import os
from aleph_alpha_client import AsyncClient, CompletionRequest, Prompt

# Can enter context manager within an async function
async with AsyncClient(
    token=os.environ["TEST_TOKEN"],
    host=os.environ["TEST_API_URL"],
) as client:
    request = CompletionRequest(
        prompt=Prompt.from_text("Provide a short description of AI:"),
        maximum_tokens=64,
    )
    response = client.complete_with_streaming(request, model="pharia-1-llm-7b-control")

    async for stream_item in response:
        print(stream_item)

Interactive Examples

This table contains interactive code examples, further exercises can be found in the examples repository.

Template Description Internal Link Colab Link
1 Calling the API Template 1 Open In Colab
2 Simple completion Template 2 Open In Colab
3 Simple search Template 3 Open In Colab
4 Symmetric and Asymmetric Search Template 4 Open In Colab
5 Hidden Embeddings Template 5 Open In Colab
6 Task-specific Endpoints Template 6 Open In Colab

Installation

The latest stable version is deployed to PyPi so you can install this package via pip/uv:

uv add aleph-alpha-client

Get started using the client by first creating an account. Afterwards head over to your profile to create an API token. Read more about how you can manage your API tokens here.

Development

For local development, install the dependencies:

uv sync

Now you should be able to ...

  • run all the tests using uv run pytest or, uv run pytest -k <test_name> to run a specific test
  • typecheck the code and tests using uv run mypy aleph_alpha_client resp. uv run mypy tests
  • format the code using uv run ruff

Releasing a new version

  1. Bump the version in pyproject.toml.
  2. Edit Changelog.md.
  3. Push and merge.
  4. Go to https://github.com/Aleph-Alpha/aleph-alpha-client/releases/new
    • use the version as tag and release title (e.g. v10.1.0)
    • auto-generate the description based on commit history

Links