Interface to handle multiple LLMs and AI tools.
Project description
llmax
Python package to manage most external and internal LLM APIs fluently.
Installation
To install, run the following command:
python3 -m pip install llmax
How to use
You first have to define a list of Deployment
as such, where you need to specify the endpoints, key and deployment_name. Then create the client:
from llmax.clients import MultiAIClient
from llmax.models import Deployment, Model
deployments: dict[Model, Deployment] = {
"gpt-4o": Deployment(
model="gpt-4o",
provider="azure",
deployment_name="gpt-4o-2024-05-13",
api_key=os.getenv("LLMAX_AZURE_OPENAI_SWEDENCENTRAL_KEY", ""),
endpoint=os.getenv("LLMAX_AZURE_OPENAI_SWEDENCENTRAL_ENDPOINT", ""),
),
"whisper-1": Deployment(
model="whisper-1",
provider="azure",
deployment_name="whisper-1",
api_key=os.getenv("LLMAX_AZURE_OPENAI_SWEDENCENTRAL_KEY", ""),
endpoint=os.getenv("LLMAX_AZURE_OPENAI_SWEDENCENTRAL_ENDPOINT", ""),
api_version="2024-02-01",
),
}
client = MultiAIClient(
deployments=deployments,
)
Then you should define your input (that can be a text, image or audio, following the openai documentation for instance).
messages = [
{"role": "user", "content": "Raconte moi une blague."},
]
And finally get the response:
response = client.invoke_to_str(messages, model)
print(response)
Specificities
When creating the client, you can also specify two functions, increment_usage and get_usage. The first one is Callable[[float, Model], bool] while the second is Callable[[], float]. increment_usage is a function that is called after a call of the llm. The float is the price and Model, the model used. It can therefore be used to update your database. get_usage returns whether a condition is met. For instance, it can be a function that calls your database and returns whether the user is still active.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file delos_llmax-0.10.2.tar.gz
.
File metadata
- Download URL: delos_llmax-0.10.2.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c9eacdc7a2235da5ba62834ca750663d7bbde45f806848cfd43f3c143e687a1 |
|
MD5 | 53b04f6bd4e6537ec724a07a6122ac8a |
|
BLAKE2b-256 | 98562d4ea97ac8a5f5d264a8bdd5f4a431f9bdebf59c80275deb1b7a9f4e8ab1 |
File details
Details for the file delos_llmax-0.10.2-py3-none-any.whl
.
File metadata
- Download URL: delos_llmax-0.10.2-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f0dd78d748e4c2398e7329dc28a999f73fd20c27f1b810a6b97d52b8454c42a |
|
MD5 | f6be128ed7b4b21be130f0f6ffe98e8e |
|
BLAKE2b-256 | 26472e552bdfed95e5f1ba68c7259efb4e5463b2e82839f61e6b91135d79f289 |