Skip to main content

Django AI Services Framework — DB-driven LLM provider, model & usage management

Project description

aifw — Django AI Services Framework

DB-driven LLM provider, model & usage management for Django projects.

Installation

pip install aifw

Quick Start

# settings.py
INSTALLED_APPS = [
    ...
    "aifw",
]

# Run migrations
python manage.py migrate aifw
# Use in views, tasks, management commands
from aifw.service import sync_completion, LLMResult

result: LLMResult = sync_completion(
    action_code="story_writing",
    messages=[{"role": "user", "content": "Write a short story about a dragon."}],
)

if result.success:
    print(result.content)

Features

  • DB-driven model routing — swap LLM providers/models via Django Admin, zero code changes
  • Multi-provider — OpenAI, Anthropic, Google, Ollama, any LiteLLM-compatible provider
  • Async & synccompletion() (async), sync_completion() (sync), completion_with_fallback()
  • Usage logging — automatic token & cost tracking per action type
  • Fallback models — configure primary + fallback model per action type

Models

  • LLMProvider — provider config (API key env var, base URL)
  • LLMModel — model config (max tokens, cost per million tokens)
  • AIActionType — action → model mapping with fallback
  • AIUsageLog — token/cost/latency tracking per request

Management Commands

python manage.py init_llm_config   # seed default providers & models

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

aifw-0.5.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

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

aifw-0.5.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file aifw-0.5.0.tar.gz.

File metadata

  • Download URL: aifw-0.5.0.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for aifw-0.5.0.tar.gz
Algorithm Hash digest
SHA256 ce51230553bd6431390c9ba6d0483969de2fb1f9257a87f60ba2a42678c04e14
MD5 4f5de0cb3898eb7abdb1f16fbe44805a
BLAKE2b-256 acf15eb2091bdbbc8719a8e658e69f760bd84d9b9567e6c1baa75239cbccbdf3

See more details on using hashes here.

File details

Details for the file aifw-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: aifw-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for aifw-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c02b63a5e3520eb03d6bc37d7e1ccc9d83a81a53a7e2f620f2ce6ce246acb69
MD5 c20abd8edec4fb8ba0fa11362c3912fc
BLAKE2b-256 205587288eff6d65c863a42cc8840b9d05e2a00e090a9b1f971a4261a35cf0bc

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