Skip to Content
FeaturesModulesLLM IntegrationLLM Integration Overview

LLM Integration Module

Django-CFG includes a comprehensive LLM integration module that provides multi-provider support, intelligent caching, cost tracking, and seamless Django integration.

Features

FeatureDescription
Multi-providerOpenAI, OpenRouter support
Vision & OCRImage analysis with model presets
Image ResizingAuto-resize for 90% token savings
Image GenerationDALL-E, FLUX support
Cost TrackingAutomatic cost calculation
CachingIntelligent caching with TTL
Type-safePydantic 2 configuration
Token AnalyticsUsage tracking and estimation

Quick Start

from django_cfg.modules.django_llm import ( LLMClient, LLMCache, LLMProvider, DjangoTranslator, chat_completion, translate_text, translate_json, get_available_models, ) # Text completion response = chat_completion( messages=[{"role": "user", "content": "Hello!"}], model="openai/gpt-4o-mini" ) # Translation translated = translate_text("Привет мир", target_language="en") # JSON translation data = translate_json({"title": "Привет"}, target_language="en") # Available models models = get_available_models()

Vision & Image Generation (submodule imports)

from django_cfg.modules.django_llm.features.vision import VisionClient from django_cfg.modules.django_llm.features.image_gen import ImageGenClient # Vision analysis (auto-resize enabled by default) vision = VisionClient() result = vision.analyze( image_source="https://example.com/image.jpg", query="Describe this image" ) print(f"Cost: ${result.cost_usd:.4f}") # Image generation gen = ImageGenClient() image = gen.generate(prompt="A sunset over mountains") print(image.first_url)

Architecture

django_llm/ ├── client/ # LLMClient for text completions ├── providers/ # Provider management (OpenAI, OpenRouter) ├── registry/ # Model catalogue, pricing, cost calculation ├── storage/ # Response caching with TTL ├── structured/ # Structured output + JSON extraction ├── tokenizer.py # Token counting ├── monitoring/ # Provider balance monitoring ├── features/ │ ├── vision/ # VisionClient, OCR, image resizing │ ├── image_gen/ # ImageGenClient │ └── translator/ # DjangoTranslator └── __init__.py

Module Overview

Vision & OCR

Image analysis with automatic resizing for cost optimization.

# Default: 512x512 resize = 85 tokens per image client = VisionClient() # auto_resize=True, default_detail="low" # OCR extraction response = client.ocr( image_url="https://example.com/document.jpg", mode="base" ) print(response.text)

Key features:

  • Auto-resize (90% cost savings)
  • Model quality presets (fast/balanced/best)
  • OCR modes (tiny/small/base/gundam)
  • Async support

Learn more about Vision & OCR

Image Generation

Generate images with quality presets.

client = ImageGenClient() response = client.generate( prompt="A futuristic city", model_quality="best", size="1024x1024" )

Learn more about Image Generation

Text Client

Chat completions, embeddings, and JSON extraction.

client = LLMClient() # Chat response = client.chat_completion( messages=[{"role": "user", "content": "Explain AI"}], model="openai/gpt-4o-mini" ) # Embeddings embedding = client.generate_embedding( text="Sample text", model="text-embedding-ada-002" )

Learn more about Text Client

Cost Tracking

Automatic cost calculation and monitoring.

from django_cfg.modules.django_llm.registry import calculate_chat_cost cost = calculate_chat_cost( model="openai/gpt-4o-mini", input_tokens=100, output_tokens=50, models_cache=models_cache )

Learn more about Cost Tracking

API Keys

API keys are auto-detected from Django config:

# Auto-detection client = VisionClient() # Uses django_config.api_keys.get_openrouter_key() # Explicit client = VisionClient(api_key="sk-or-v1-...")

TAGS: llm, ai, openai, vision, ocr, image-generation DEPENDS_ON: [configuration, api-keys]

Last updated on