- ai_service.py: единый AI-сервис (chat, chat_with_history, analyze_document) - routes/ai.py: POST /api/v1/ai/chat (chat, summarize, extract_risks, classify, translate) - config.py: ANTHROPIC_API_KEY, ANTHROPIC_MODEL - requirements.txt: anthropic>=0.42.0 - api-client.ts: aiApi (chat, summarize, extractRisks) - CSP: connect-src добавлен https://api.anthropic.com - app/api/ai-chat: прокси на бэкенд /api/v1/ai/chat (Anthropic) - legal_agents/llm_client.py: переведён на ai_service (Claude) - AIAccessSettings: только Claude (Sonnet 4, 3 Sonnet, 3 Opus) - k8s, .env.example: OPENAI → ANTHROPIC - package.json: удалена зависимость openai - Документация: OpenAI/GPT заменены на Claude/Anthropic Провайдер: исключительно Anthropic Claude Модель по умолчанию: claude-sonnet-4-20250514 Co-authored-by: Cursor <cursoragent@cursor.com>
45 lines
652 B
Plaintext
45 lines
652 B
Plaintext
# FastAPI
|
|
fastapi==0.115.0
|
|
uvicorn[standard]==0.30.0
|
|
pydantic==2.9.0
|
|
pydantic-settings==2.5.0
|
|
|
|
# Database
|
|
psycopg2-binary==2.9.9
|
|
sqlalchemy==2.0.35
|
|
alembic==1.13.0
|
|
|
|
# Auth
|
|
python-jose[cryptography]==3.3.0
|
|
httpx==0.27.0
|
|
|
|
# Redis
|
|
redis==5.2.0
|
|
|
|
# Storage
|
|
python-multipart==0.0.12
|
|
|
|
# Data processing
|
|
openpyxl==3.1.5
|
|
|
|
# Logging
|
|
structlog==24.4.0
|
|
|
|
# Monitoring
|
|
prometheus-client==0.21.0
|
|
|
|
# Scheduler (risk scan jobs)
|
|
APScheduler>=3.10
|
|
|
|
# AI (Anthropic Claude — единственный AI-провайдер)
|
|
anthropic>=0.42.0
|
|
|
|
# Utils
|
|
python-dotenv==1.0.1
|
|
|
|
# Testing (dev only)
|
|
# pytest==8.3.0
|
|
# pytest-asyncio==0.24.0
|
|
# factory_boy==3.3.1
|
|
reportlab>=4.0
|