Skip to main content

python client to interact with Aleph Alpha api endpoints

Project description

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aleph_alpha_client-10.2.1.tar.gz (44.3 kB view details)

Uploaded Source

Built Distribution

aleph_alpha_client-10.2.1-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file aleph_alpha_client-10.2.1.tar.gz.

File metadata

  • Download URL: aleph_alpha_client-10.2.1.tar.gz
  • Upload date:
  • Size: 44.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.6

File hashes

Hashes for aleph_alpha_client-10.2.1.tar.gz
Algorithm Hash digest
SHA256 ecfc0f11388f44c2fad7c9ada309c2fc5152914c6435442f20a433eb7472f17f
MD5 5181f61f9909469494a39ed5b2ab8acd
BLAKE2b-256 7ca61371541ec16e3390be74bc73ffa781b48dbc42839e85da8c992d39b83e2b

See more details on using hashes here.

File details

Details for the file aleph_alpha_client-10.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aleph_alpha_client-10.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 740310eb913c54aa78134114cf88b849d32392a2d82366babce3c3e19dddae38
MD5 02ad8b4ae84e8c1c50d60e2382808641
BLAKE2b-256 234c3416cad329209840fe7e807b9e9ca80168f02888fc414d903ff08f9ffebd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page