ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

别再手写 FastAPI 和 Streamlit:agent-service-toolkit 五分钟拉起一套 LangGraph 多智能体服务

别再手写 FastAPI 和 Streamlit:agent-service-toolkit 五分钟拉起一套 LangGraph 多智能体服务

别再手写 FastAPI 和 Streamlit:agent-service-toolkit 五分钟拉起一套 LangGraph 多智能体服务

【免费下载链接】agent-service-toolkitFull toolkit for running an AI agent service built with LangGraph, FastAPI and Streamlit项目地址: https://gitcode.com/GitHub_Trending/ag/agent-service-toolkit

图画完了,想让智能体真正能用,还得自己包 FastAPI、搭 Streamlit 聊天窗、写 Dockerfile。agent-service-toolkit 把 LangGraph 智能体、FastAPI 服务、客户端 SDK 和 Streamlit 界面打成一套模板,内置 10 个智能体示例,clone 下来换个 API 密钥就能跑。

🧩 能力清单:先知道它能干什么

上手前先看能力版图,方便你决定拿它干什么。

能力说明
10 个内置智能体示例chatbot、research-assistant、rag-assistant、supervisor 多智能体、interrupt 人在环、GitHub MCP 等
双模式流式token 级与消息级流式同时支持
多 LLM 提供商OpenAI、Anthropic、Google、VertexAI、Ollama、Bedrock、DeepSeek、OpenRouter 等,环境变量切换
内容安全内置 Safeguard 做提示注入检测(需 Groq 密钥)
对话历史/threads接口 + 界面侧边栏 Previous Chats
检查点存储sqlite / postgres / mongo 三种后端可切

⚡ 跑通它:本地三条命令,容器两行

两条路线:Python 裸跑和 Docker 跑,都不超过三步。

本地裸跑。先拿代码、配密钥:

git clone https://gitcode.com/GitHub_Trending/ag/agent-service-toolkit cd agent-service-toolkit echo 'OPENAI_API_KEY=your_openai_api_key' >> .env

这步就是把仓库拿下来并给服务配上一个 LLM 密钥(任意提供商均可,完整变量参考.env.example)。接着装依赖并启动 FastAPI 服务,uv 会自动建好虚拟环境:

curl -LsSf https://astral.sh/uv/0.12.5/install.sh | sh uv sync --frozen source .venv/bin/activate python src/run_service.py

最后在新终端启动聊天界面,浏览器开http://localhost:8501即可,API 文档在http://localhost:8080/redoc:

streamlit run src/streamlit_app.py

容器化启动。团队用 Docker 的话就两行:

cp .env.example .env # 填入密钥 docker compose watch

compose.yaml会同时拉起 postgres、FastAPI 服务、Streamlit 三个容器,watch 模式下改代码自动重载;改动pyproject.toml时需要docker compose up --build重建。

🛠️ 加一个自己的智能体:复制、注册、完事

分层的原因:改图逻辑只动src/agents/下的文件,服务和界面不用跟着改。

加自己的智能体,走三步:

  1. 复制示例改造:以 src/agents/research_assistant.py 或 src/agents/chatbot.py 为底,换 prompt 和 tools;
  2. 注册:在 src/agents/agents.py 的agents字典里加一行;
  3. 界面想贴合新功能再调 src/streamlit_app.py,不追求就跳过。
"my-agent": Agent(description="My custom agent.", graph_like=my_agent),

my_agent本体可以极简,一个 StateGraph 就够:

graph = StateGraph(AgentState) graph.add_node("process", process_message) graph.add_edge(START, "process") graph.add_edge("process", END) return graph.compile()

注册完,/my-agent/invoke和/my-agent/stream两个路径自动可用,/info会列出全部智能体与可用模型。

🔌 进阶玩法:跑起来后的三个真问题

跑通之后,接下来想问的通常是:怎么换模型、怎么加自己的知识库、怎么别让 API 裸奔。

不想绑死单一模型提供商?设OLLAMA_MODEL=llama3.2即可切到本地 Ollama 模型,服务跑在容器里再加一个OLLAMA_BASE_URL,见 docs/Ollama.md。

想让智能体基于你的文档回答?把 pdf/docx 放进data/,跑python scripts/create_chroma_db.py建好向量库,rag-assistant就能检索作答,见 docs/RAG_Assistant.md。

担心 API 被裸奔?设AUTH_SECRET后请求必须带 Bearer 头,客户端会自动附带;要并发就用ainvoke/astream异步接口,现成例子在 src/run_client.py。

收束

agent-service-toolkit 是一套从智能体定义到聊天界面全流程可见的 LangGraph 智能体服务模板,最快的开始方式是 clone 下来改:

git clone https://gitcode.com/GitHub_Trending/ag/agent-service-toolkit

【免费下载链接】agent-service-toolkitFull toolkit for running an AI agent service built with LangGraph, FastAPI and Streamlit项目地址: https://gitcode.com/GitHub_Trending/ag/agent-service-toolkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进