Voitta
A Python framework for routing, automating, and orchestrating LLM tool calls. Voitta simplifies the integration of AI agents with external tools and APIs, enabling more powerful and flexible AI applications.
Features
- Tool Call Routing: Seamlessly route LLM tool calls to the appropriate handlers
- Flexible Configuration: Define your tools and routing logic using YAML or Python
- Framework Agnostic: Works with any LLM provider or framework
- Extensible Architecture: Easily add custom tools and integrations
- Observability: Monitor and debug tool calls with built-in logging
Installation
From PyPI (Stable Release)
pip install voitta
From TestPyPI (Pre-release Versions)
To install the latest pre-release version from TestPyPI:
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ voitta
The --extra-index-url flag is needed to fetch dependencies from the main PyPI repository, as TestPyPI may not have all the required dependencies.
You can also specify a particular version:
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ voitta==0.2.3
Note: Pre-release versions on TestPyPI may contain experimental features and bugs. Use in production environments at your own risk.
Quick Start
from voitta import Voitta
# Initialize Voitta
voitta = Voitta()
# Register a tool handler
@voitta.tool("get_weather")
def get_weather(location, unit="celsius"):
# Implementation to fetch weather data
return {"temperature": 22, "condition": "sunny", "location": location, "unit": unit}
# Process an LLM tool call
result = voitta.process_tool_call({
"name": "get_weather",
"arguments": {"location": "San Francisco", "unit": "fahrenheit"}
})
print(result) # Output: {"temperature": 72, "condition": "sunny", "location": "San Francisco", "unit": "fahrenheit"}
Usage
For detailed usage examples and documentation, please refer to:
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Release files for voitta 0.28.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| voitta-0.28.0.tar.gz | 16.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| voitta-0.28.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.6 kB
Release files / voitta-0.28.0.tar.gz
| Download URL | voitta-0.28.0.tar.gz |
|---|---|
| Size | 16.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a51c583f6ffd4412e6b31b43ba1bc8382e22ade66f8a4549d964790a05b4dc6
|
|
BLAKE2b-256 checksum How to use checksums |
afa40b531dfbfadc1a07758eb7b91d697395e61bf9a7eeb1921cc6ff01bcfbe6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / voitta-0.28.0-py3-none-any.whl
| Download URL | voitta-0.28.0-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f75cc1ebff43a82bd34caa77353f039cc6713762315b379f364be6942ceae926
|
|
BLAKE2b-256 checksum How to use checksums |
fad075c382e976e021e9382dfc97b15085bb9eff59a6d4d47d463acf5aaefe5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|