pydantic>=2.7
pyyaml>=6.0
typer>=0.12
fastapi>=0.111
uvicorn>=0.30
langchain>=0.2
langchain-community>=0.3
langgraph>=0.2
pypdf>=4.2
langchain-ollama>=0.1.20
torch<3,>=2.4
torchvision<1,>=0.19
transformers>=4.44
accelerate>=1.10.1
sentence-transformers>=3.0
sentencepiece>=0.2.1

[api]
fastapi>=0.111
uvicorn>=0.30

[dev]
pytest>=8.2
pytest-cov>=5.0
mypy>=1.11
ruff>=0.5
black>=24.8
types-PyYAML>=6.0.12.20240808
build>=1.2
twine>=5.1

[llm-openai]
langchain-openai>=0.1.20

[local-cpu]

[local-gpu-cu121]
torch<3,>=2.4
torchvision<1,>=0.19
transformers>=4.44
accelerate>=1.10
sentence-transformers>=3.0

[local-gpu-cu124]
torch<3,>=2.4
torchvision<1,>=0.19
transformers>=4.44
accelerate>=1.10
sentence-transformers>=3.0

[openai]
openai>=1.40
langchain-openai>=0.1.20

[qdrant]
qdrant-client>=1.9

[rag]
chromadb>=0.5
sentence-transformers>=3.0

[rerank]
rank-bm25>=0.2
sentence-transformers>=3.0

[search]
duckduckgo-search>=5.3
tavily-python>=0.3
