如何快速搭起一个AI代理服务: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
agent-service-toolkit 是一套基于 LangGraph、FastAPI 和 Streamlit 运行 AI Agent 服务的全链路工具包:代理定义、后端服务、聊天前端三层都给你备好了,还带 Docker 部署配置,写第一个 agent 之后就能直接对外提供服务。
什么场景下你会用到它
- 做研究或检索增强助手:src/agents/ 里预置了 research_assistant(自带联网搜索和计算器工具),也能换成基于 ChromaDB 的 RAG 助手,把私有文档变成可问答的知识源。
- 做带语音交互的聊天产品:前端支持语音输入和语音输出,语音客服、会议助理这类场景可以直接起步。
- 给已有的 Web 前端接 AI 能力:服务可以把每个 agent 暴露成 AG-UI 协议端点,CopilotKit 等 React/Next.js 前端可以直连,不必被绑死在 Streamlit 上。
本地快速启动:克隆仓库后三行命令跑起服务
准备一个 LLM API key,项目用.env文件管理环境变量,可配置项参考.env.example。然后执行:
git clone https://gitcode.com/GitHub_Trending/ag/agent-service-toolkit && cd agent-service-toolkit echo 'OPENAI_API_KEY=your_openai_api_key' >> .env uv sync --frozen && python src/run_service.pypython src/run_service.py起的就是 FastAPI 服务。再开一个终端运行streamlit run src/streamlit_app.py,聊天界面即可访问。如果你不用 uv,pip install .也可以完成依赖安装;另外 src/client/client.py 提供了通用客户端AgentClient,同步/异步、流式/非流式调用都支持,适合用来在别的应用里复用这个 agent 服务。
工作流编排:层级化监督与人工介入都能落地
项目落地了 LangGraph 的较新特性:interrupt()做 human-in-the-loop、Command做流程控制、Store做长期记忆。src/agents/langgraph_supervisor_agent.py 和 src/agents/langgraph_supervisor_hierarchy_agent.py 分别演示了 supervisor 统一调度和多层级代理协作两种模式,需要多步骤、多角色决策流程时,这两份文件就是现成的参照。
多代理服务:一个FastAPI服务跑多个Agent,流式与AG-UI都支持
每个 agent 都在 src/agents/agents.py 的agents字典里注册,之后可以按 URL 路径/<agent_name>/invoke或/<agent_name>/stream单独调用;/info端点列出当前可用的 agent 和模型,/threads能按用户列出历史对话。服务同时提供 token 级和 message 级两种流式端点,内部走 async/await 处理并发。想接自己的前端时,还可以用POST /agui/{agent_id}/run这个 AG-UI 端点(适配层在 src/service/agui.py),以 SSE 事件流返回执行过程。
聊天界面与语音:Streamlit前端自带STT/TTS
src/streamlit_app.py 是基于 Streamlit 的聊天前端,能看到 agent 过程中的工具调用,侧边栏还有历史会话列表。语音能力集中在 src/voice/:stt.py和tts.py分别负责识别与合成,providers/下接了 OpenAI 的语音服务,manager.py把 Streamlit 侧的 UI 逻辑单独封装——换语音提供商时只需改这一个模块。
定制与扩展点:两步加上自己的Agent
官方路径很直白:复制 src/agents/ 里的research_assistant.py或chatbot.py,改成你的行为和工具集,再把新 agent 注册进src/agents/agents.py的agents字典,/<your_agent_name>/invoke就能直接访问,同时按 src/streamlit_app.py 调整前端。想换模型提供商则改 src/core/ 里的 LLM 定义与配置,README 里还给了 Ollama、本地 GPU(vLLM/SGLang)、VertexAI 的补充配置说明。
部署与上线:docker compose watch 起整套服务
compose.yaml 定义了postgres、agent_service、streamlit_app三个服务,对应的 Dockerfile 在 docker/ 目录(Dockerfile.service 与 Dockerfile.app)。推荐这样运行:
docker compose watch它会一并拉起 PostgreSQL、FastAPI 服务和 Streamlit 应用,并在你改动 src/ 下代码时自动同步重启容器;界面在 http://localhost:8501,agent 服务 API 在 8080 端口,OpenAPI 文档可在 /redoc 查看。如果 agent 需要文件形式的凭据,放进privatecredentials/目录即可,该目录会被 git 和构建过程自动排除。
接下来做什么
建议先读 docs/ 里的三份文档:docs/RAG_Assistant.md 讲如何用 ChromaDB 搭知识库助手,docs/Ollama.md 讲接入本地模型,docs/AGUI.md 讲把 agent 接到 React 前端。动手的话,先按上面的启动步骤跑一遍 research-assistant,再试试聊天界面里的语音输入。
【免费下载链接】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),仅供参考