httpx>=0.27
requests>=2.31
python-dotenv>=1.0
pydantic>=2.0

[all]
guardrails-ai>=0.5
transformers>=4.40
torch>=2.2
spacy>=3.7
qdrant-client>=1.9
huggingface-hub>=0.23
deepeval>=3.0
ragas>=0.1
openai>=1.40
langgraph>=0.2.50
langchain>=0.3.0
langchain-openai>=0.2.0
langchain-community>=0.3.0
langfuse>=2.50

[backend]
fastapi>=0.131
uvicorn[standard]>=0.41
gunicorn>=22.0
SQLAlchemy>=2.0
alembic>=1.18
psycopg2-binary>=2.9.9
python-jose[cryptography]>=3.3
passlib[bcrypt]>=1.7.4
anthropic>=0.40
redis>=5.0

[eval]
deepeval>=3.0

[gateway]
guardrails-ai>=0.5
transformers>=4.40
torch>=2.2
spacy>=3.7

[mad-v4]
langgraph>=0.2.50
langchain>=0.3.0
langchain-openai>=0.2.0
langchain-community>=0.3.0
langfuse>=2.50
tenacity>=8.0
qdrant-client>=1.9
openai>=1.40

[rag]
qdrant-client>=1.9
transformers>=4.40
torch>=2.2
huggingface-hub>=0.23
openai>=1.30

[rlhf]
fastapi>=0.110
uvicorn[standard]>=0.29
pydantic>=2.0
