https://github.com/aleph-alpha/aleph-alpha-client
Python Client for the Aleph Alpha API
https://github.com/aleph-alpha/aleph-alpha-client
Last synced: about 1 year ago
JSON representation
Python Client for the Aleph Alpha API
- Host: GitHub
- URL: https://github.com/aleph-alpha/aleph-alpha-client
- Owner: Aleph-Alpha
- License: mit
- Created: 2021-06-10T07:35:38.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-05-15T11:18:13.000Z (about 1 year ago)
- Last Synced: 2025-05-16T04:04:05.988Z (about 1 year ago)
- Language: Python
- Homepage: https://aleph-alpha-client.readthedocs.io/
- Size: 1.61 MB
- Stars: 95
- Watchers: 11
- Forks: 21
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
- Contributing: Contributing.md
- License: LICENSE
Awesome Lists containing this project
README
# Aleph Alpha Client
[](https://github.com/Aleph-Alpha/aleph-alpha-client/blob/main/LICENSE)
[](https://pypi.org/project/aleph-alpha-client/)
[](https://aleph-alpha-client.readthedocs.io/en/latest/?badge=latest)
Python client for the [Aleph Alpha](https://aleph-alpha.com) API.
## Usage
### Synchronous Client
```python
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
```python
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](https://github.com/Aleph-Alpha/examples).
| Template | Description | Internal Link | Colab Link |
|----------|-------------|---------------| -----------|
| 1 | Calling the API | [Template 1](https://github.com/Aleph-Alpha/examples/blob/main/boilerplate/01_using_client.ipynb) | [](https://colab.research.google.com/github/Aleph-Alpha/examples/blob/main/boilerplate/01_using_client.ipynb)|
| 2 | Simple completion | [Template 2](https://github.com/Aleph-Alpha/examples/blob/main/boilerplate/02_prompting.ipynb) | [](https://colab.research.google.com/github/Aleph-Alpha/examples/blob/main/boilerplate/02_prompting.ipynb)|
| 3 | Simple search | [Template 3](https://github.com/Aleph-Alpha/examples/blob/main/boilerplate/03_simple_search.ipynb) | [](https://colab.research.google.com/github/Aleph-Alpha/examples/blob/main/boilerplate/03_simple_search.ipynb)|
| 4 | Symmetric and Asymmetric Search | [Template 4](https://github.com/Aleph-Alpha/examples/blob/main/boilerplate/04_semantic_search.ipynb) | [](https://colab.research.google.com/github/Aleph-Alpha/examples/blob/main/boilerplate/04_semantic_search.ipynb)|
| 5 | Hidden Embeddings | [Template 5](https://github.com/Aleph-Alpha/examples/blob/main/boilerplate/05_hidden_embeddings.ipynb) | [](https://colab.research.google.com/github/Aleph-Alpha/examples/blob/main/boilerplate/05_hidden_embeddings.ipynb)|
| 6 | Task-specific Endpoints | [Template 6](https://github.com/Aleph-Alpha/examples/blob/main/boilerplate/06_task_specific_endpoints.ipynb) | [](https://colab.research.google.com/github/Aleph-Alpha/examples/blob/main/boilerplate/06_task_specific_endpoints.ipynb)|
## Installation
The latest stable version is deployed to PyPi so you can install this package via pip/uv:
```sh
uv add aleph-alpha-client
```
Get started using the client by first [creating an account](https://app.aleph-alpha.com/signup). Afterwards head over to [your profile](https://app.aleph-alpha.com/profile) to create an API token. Read more about how you can manage your API tokens [here](https://docs.aleph-alpha.com/docs/account).
## Development
For local development, install the dependencies:
```sh
uv sync
```
Now you should be able to ...
* run all the tests using `uv run pytest` or, `uv run pytest -k ` 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. 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
- [HTTP API Docs](https://docs.aleph-alpha.com/products/apis/pharia-inference/)