Skip to main content

Python SDK for AI Observability - Monitor LLM usage across 21+ models with smart routing, cost tracking, and budget management

Project description

AI Observability Python SDK

PyPI version Python 3.7+ License: MIT

Monitor, track, and optimize your LLM usage across 21+ AI models with one SDK.

✨ Features

  • 🚀 Smart Routing - Route prompts by cost, speed, or quality
  • 📊 Cost Tracking - Track usage and costs across all models
  • 💰 Budget Management - Set budgets and get alerts
  • 🔍 Model Comparison - Compare 21+ models side-by-side
  • 📚 RAG Knowledge Base - Search your documents
  • 🖼️ Image Generation - Generate images from text
  • Async Support - High-throughput async operations

✅ Confirmed Working Models

Provider Model Latency Cost
Groq llama-3.1-8b-instant 58ms ~$0.00003
Groq llama-3.3-70b-versatile 386ms ~$0.00003
Groq gpt-oss-120b 308ms ~$0.00014
Google gemma-3-27b-it 773ms FREE
Google gemma-3-1b-it 694ms FREE
Google gemini-2.5-flash 1640ms ~$0.000002

📦 Installation

pip install freelanceflow
🚀 Quick Start
python
from aiobservability import AIObservability

# Initialize client
client = AIObservability(api_key="your_api_key")

# Route a prompt (automatically picks best model)
response = client.route("What is machine learning?", preference="speed")
print(f"Response: {response['response']}")
print(f"Cost: ${response['cost']}")
print(f"Latency: {response['latencyMs']}ms")

📊 Usage Examples

Track LLM Usage

python
from aiobservability import LLMUsage

usage = LLMUsage(
    tenant_id="my-company",
    user_id="user-123",
    provider="groq",
    model="llama-3.1-8b-instant",
    prompt="What is AI?",
    completion="AI is artificial intelligence...",
    prompt_tokens=10,
    completion_tokens=50,
    duration_ms=150
)
client.track(usage)
Get Usage History
python

# Get history (uses default tenant)
history = client.get_usage_history(limit=10)
print(f"Found {len(history)} records")

# Or specify a different tenant
history = client.get_usage_history(tenant_id="other-tenant", limit=10)

# Compare Models

python
# Compare models side-by-side
comparison = client.compare_models("What is Python?")
for model in comparison['results']:
    print(f"{model['model']}: ${model['cost']} - {model['latencyMs']}ms")
Clean Up
python

# Close the client connection
client.close()

📖 API Reference
Full documentation: https://ai-api.usefreelanceflow.com/docs

🔑 Authentication
Get your API key from the AI Observability Dashboard.

Demo key for testing: ai_demo_key_12345

🧪 Testing Your Installation
After installing, verify it works:

bash
python -c "from aiobservability import AIObservability; print('SDK works!')"
🤝 Contributing
Contributions welcome! Please see CONTRIBUTING.md.

📄 License
MIT License - see LICENSE file for details.

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

freelanceflow-1.0.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

freelanceflow-1.0.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file freelanceflow-1.0.0.tar.gz.

File metadata

  • Download URL: freelanceflow-1.0.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for freelanceflow-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f9582a8952042dcdfbf97d7f8997318fb6edea82e9b0b5e1a9010c16f2e95ed3
MD5 70c9bc361f40d952ecaa0bc5bef0d0d9
BLAKE2b-256 25269b15e1483b67f75170631ad21a88b1812ecc0997837dd40a19fb1694a917

See more details on using hashes here.

File details

Details for the file freelanceflow-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: freelanceflow-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for freelanceflow-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ef3fb448379ddc05d3171a4229bc8e551ed04ac68270a7d0e5dcab3f900bb6e
MD5 05e14f5d3c50a8f1d29f89e66ad5624a
BLAKE2b-256 80a5b6e268b0d4e9ca7f1c5ac3a17fd0fd1c8977eca678f94eb3e406a18c9267

See more details on using hashes here.

Supported by

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