Files
python-agent/pyproject.toml
T
2026-09-22 15:42:25 +08:00

126 lines
4.5 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[project]
name = "demo-python-agent"
version = "0.1.0"
description = "Python AI Agent 学习项目(docs 涵盖阶段一~阶段八)"
requires-python = ">=3.10"
# =========================================================
# 依赖按 docs 学习阶段分组整理
# 阶段一:前置核心基础(Python 高级编程 / 大模型与 Prompt / 软件工程)
# 阶段三:主流 Agent 开发框架(LangGraph / LlamaIndex / CrewAI / AutoGen)
# 阶段四:工具生态与外围组件(向量库 / RAG / MCP / 检索)
# 阶段五:进阶技术(评测 / 记忆 / 多智能体)
# 阶段六:垂直领域 Agent(数据分析 / 客服 / 办公自动化)
# 阶段七:工程化部署与运维(FastAPI / Docker / 监控)
# 阶段八:实战项目(Level1~Level5 + Streamlit Demo)
# =========================================================
dependencies = [
# ---------- 阶段一:前置核心基础 ----------
# 数据校验 / 配置
"pydantic>=2.0",
"pydantic-settings>=2.0",
# 日志 / 重试 / 环境变量
"loguru>=0.7",
"tenacity>=8.0",
"python-dotenv>=1.0",
# 数据分析 Agent 基础
"pandas>=2.0",
"numpy>=1.24",
# HTTP(异步取代 requests,外呼统一用 httpx)
"httpx>=0.27",
"requests>=2.31",
# 主流模型 SDK(OpenAI / Claude / DeepSeek / Ollama 走 OpenAI 兼容接口)
"openai>=1.30",
"anthropic>=0.30",
# ---------- 阶段三:主流 Agent 开发框架 ----------
# 必修:LangChain + LangGraph(生产级 Agent 事实标准)
"langchain>=0.3",
"langgraph>=0.2",
# LangChain 各家 ChatModel 集成包
"langchain-openai>=0.2",
"langchain-anthropic>=0.2",
"langchain-deepseek>=0.1",
"langchain-ollama>=0.2",
# langchain-community 锁定 0.3.x:0.4+ 移除了 ragas 0.4.3 仍依赖的 ChatVertexAI
"langchain-community>=0.3.27,<0.4",
"langchain-core>=0.3",
# LlamaIndex:RAG 数据接入与检索框架
"llama-index>=0.12",
# 选学:多智能体框架(了解选型)
"crewai>=0.80",
# ---------- 阶段四:工具生态与外围组件 ----------
# 向量数据库(轻量 + 生产)
"chromadb>=0.5",
"qdrant-client>=1.10",
"faiss-cpu>=1.8",
# 文件处理:PDF / Excel
"pymupdf>=1.24",
"openpyxl>=3.1",
# OCR(图片文字识别)
"paddleocr>=2.7",
# MCP 协议 SDK(Anthropic 开源的 Agent 工具接入标准)
"mcp[cli]>=1.0",
# 代码执行沙箱(E2B 云沙箱,可选)
"e2b-code-interpreter>=1.0",
# Embedding / Reranker(BGE 等中文向量模型)
"sentence-transformers>=3.0",
# BM25 稀疏检索(混合检索标配)
"rank-bm25>=0.2",
# ---------- 阶段五:进阶技术 ----------
# RAG 评估(忠实度 / 答案相关性 / 检索质量)
"ragas>=0.1",
# LangChain 链路追踪与评估平台
"langsmith>=0.1",
# 开源可自托管追踪(数据合规场景首选)
"langfuse>=2.0",
# VertexAI 集成:ragas 0.4.3 仍从 langchain_community.chat_models.vertexai 拉 ChatVertexAI,
# 但该路径在新版 langchain-community 中已迁移到独立包;装此包并配 sitecustomize.py 兜底。
"langchain-google-vertexai>=2.0",
# ---------- 阶段七:工程化部署与运维 ----------
# Web 框架 + ASGI 服务(Agent 服务接入层)
"fastapi>=0.110",
"uvicorn[standard]>=0.30",
# 数据库
"sqlalchemy>=2.0",
"psycopg[binary]>=3.2",
# 会话缓存 / 队列 broker
"redis>=5.0",
# 异步任务队列(worker 消费 Agent 长任务)
"arq>=0.25",
# 监控三支柱:Metrics
"prometheus-client>=0.20",
# 监控三支柱:Traces(OTel 协议)
"opentelemetry-api>=1.27",
"opentelemetry-sdk>=1.27",
"opentelemetry-exporter-otlp>=1.27",
# 对象存储(原始文档 / 大附件)
"minio>=7.2",
# ---------- 阶段八:实战项目 ----------
# Streamlit:Agent Demo 前端
"streamlit>=1.30",
"langchain-vertexai-shim",
]
[dependency-groups]
dev = [
# 测试 / 静态检查 / 代码风格(项目分层骨架的质量门禁)
"pytest>=8.0",
"pytest-asyncio>=0.23",
"ruff>=0.6",
"mypy>=1.10",
"types-requests",
]
[tool.uv]
# 显式包管理方式与索引设置
managed = true
# 工作区成员:本地垫片包(让 ragas 0.4.3 能正常 import)
# 文档:https://docs.astral.sh/uv/concepts/projects/workspaces/
[tool.uv.workspace]
members = ["packages/*"]
[tool.uv.sources]
langchain-vertexai-shim = { workspace = true }