File size: 1,548 Bytes
6b62834 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | [project]
name = "agentic-rag"
version = "0.1.0"
description = "Agentic RAG System — Multi-modal, ReAct-powered, MCP-enabled"
requires-python = ">=3.10"
readme = "README.md"
dependencies = [
# Web framework and file uploads
"fastapi>=0.115",
"uvicorn[standard]>=0.30",
"sse-starlette>=2.0",
"python-multipart>=0.0.9",
# Default LLM provider (also supports local OpenAI-compatible services)
"openai>=1.60",
# Vector database
"pymilvus[milvus-lite]>=2.5",
# Data and configuration
"pydantic>=2.8",
"pydantic-settings>=2.5",
"pyyaml>=6.0",
# CLI
"typer>=0.15",
"rich>=13.0",
# HTTP, web search and async file I/O
"httpx>=0.28",
"ddgs>=9.0",
"aiofiles>=24.0",
]
[project.optional-dependencies]
anthropic = [
"anthropic>=0.40",
]
voice = [
# Remote SenseVoice/Kokoro clients; models run on AX8850
"aiohttp>=3.10",
"numpy>=1.26,<2.3",
"soundfile>=0.12",
"librosa>=0.10",
"pydub>=0.25",
]
media = [
"opencv-python>=4.10",
]
documents = [
"pymupdf>=1.24",
]
gateways = [
"websockets>=13.0",
"pycryptodome>=3.20",
]
dev = [
"pytest>=8.3",
"pytest-asyncio>=0.24",
"pytest-cov>=5.0",
"pillow>=10.0",
"ruff>=0.7",
"mypy>=1.13",
]
[build-system]
requires = ["setuptools>=75"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
include = ["agentic_rag*"]
[tool.ruff]
line-length = 100
target-version = "py310"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
|