feat(agentic-rag): add multi-provider LLM, auth, and Docker support

## Added
- Multi-provider LLM support with factory pattern (8 providers):
  * OpenAI, Z.AI, OpenCode Zen, OpenRouter, Anthropic, Google, Mistral, Azure
- Authentication system: JWT + API Key dual-mode
- Provider management API (/api/v1/providers)
- Docker containerization (Dockerfile + docker-compose.yml)
- Updated documentation in main.py

## Modified
- Documents API: added authentication
- Query API: support for provider/model selection
- RAG service: dynamic LLM provider selection
- Config: multi-provider settings

## Infrastructure
- Qdrant vector store integration
- Redis support (optional)
- Health check endpoints

🚀 Ready for production deployment
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-06 11:22:26 +02:00
parent 2aa1f66227
commit f2408b2b88
11 changed files with 1179 additions and 92 deletions

52
requirements.txt Normal file
View File

@@ -0,0 +1,52 @@
# AgenticRAG Requirements
# Core dependencies
# FastAPI and web framework
fastapi>=0.104.0
uvicorn[standard]>=0.24.0
python-multipart>=0.0.6
python-jose[cryptography]>=3.3.0
passlib[bcrypt]>=1.7.4
# Datapizza AI framework
datapizza-ai>=0.1.0
datapizza-ai-core>=0.1.0
# LLM Clients
datapizza-ai-clients-openai>=0.0.12
# Additional providers will be installed via pip in Dockerfile
# Embeddings
datapizza-ai-embedders-openai>=0.0.6
# Vector Store
datapizza-ai-vectorstores-qdrant>=0.0.9
qdrant-client>=1.7.0
# Document Processing
datapizza-ai-modules-parsers-docling>=0.0.1
# Tools
datapizza-ai-tools-duckduckgo>=0.0.1
# Configuration and utilities
pydantic>=2.5.0
pydantic-settings>=2.1.0
python-dotenv>=1.0.0
httpx>=0.25.0
aiofiles>=23.2.0
# Observability
opentelemetry-api>=1.21.0
opentelemetry-sdk>=1.21.0
opentelemetry-instrumentation-fastapi>=0.42b0
# Testing
pytest>=7.4.0
pytest-asyncio>=0.21.0
httpx>=0.25.0
# Development
black>=23.0.0
ruff>=0.1.0
mypy>=1.7.0