[project] name = "yuxi-know" version = "0.4.0.dev" description = "基于大模型的智能知识库与知识图谱智能体开发平台,融合了 RAG 技术与知识图谱技术,基于 LangGraph v1 + Vue.js + FastAPI + LightRAG 架构构建" readme = "README.md" requires-python = ">=3.11" dependencies = [ "asyncpg>=0.30.0", "langchain>=1.0.2", "chromadb>=1.3", "colorlog>=6.9.0", "dashscope>=1.23.2", "docx2txt>=0.9", "fastapi>=0.121", "langchain-community>=0.4", "langchain-deepseek>=1.0", "langchain-huggingface>=1.0.1", "langchain-mcp-adapters>=0.1.9", "langchain-openai>=1.0.2", "langchain-tavily>=0.2.13", "langchain-text-splitters>=1.0", "langgraph>=1.0.1", "langgraph-checkpoint-sqlite>=3.0", "langgraph-cli[inmem]>=0.4", "langsmith>=0.4", "lightrag-hku>=1.4.6", "llama-index>=0.14", "llama-index-readers-file>=0.4.7", "markdownify>=1.1.0", "mcp>=1.20", "neo4j>=5.28.1", "networkx>=3.5", "openai>=1.109", "opencv-python-headless>=4.11.0.86", "pyjwt>=2.8.0", "pymilvus>=2.5.8", "pymupdf>=1.25.5", "python-docx>=1.2.0", "python-dotenv>=1.1.0", "python-jose[cryptography]>=3.4.0", "python-multipart>=0.0.20", "pyyaml>=6.0.2", "rapidocr-onnxruntime>=1.4.4", "tavily-python>=0.7.0", "unstructured>=0.17.2", "uvicorn[standard]>=0.34.2", "httpx>=0.27.0", "tqdm>=4.66.4", "rich>=13.7.1", "typer>=0.16.0", "mineru[core]>=2.6", "tabulate>=0.9.0", "minio>=7.2.7", "Pillow>=10.5.0", "pymysql>=1.1.0", "tenacity>=8.0.0", "pypinyin>=0.55.0", "tomli", "tomli-w", "aiofiles>=24.1.0", "aiohttp>=3.9.0", "deepagents>=0.2.5", ] [tool.ruff] line-length = 120 # 代码最大行宽 lint.select = [ # 选择的规则 "F", "E", "W", "UP", ] [tool.pytest.ini_options] addopts = "-v --tb=short" testpaths = ["test"] markers = [ "auth: marks tests that require authentication", "slow: marks tests as slow", "integration: marks tests as integration tests" ] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" [dependency-groups] dev = [ "ruff>=0.12.1", ] test = [ "pytest>=8.0.0", "pytest-asyncio>=0.24.0", "pytest-httpx>=0.32.0", "pytest-cov>=6.0.0", ]