手机网站模板下载,网站建设指南,网站建设方案范文1000字,沉默是金歌词从零构建生产级Agent服务 1、系统功能 使用FastAPI框架实现对外提供Agent智能体API后端接口服务 使用LangGraph中预置的ReAct架构的Agent 支持Short-term#xff08;短期记忆#xff09;并使用PostgreSQL进行持久化存储 支持Function Calling#xff0c;包含自定义工具和…从零构建生产级Agent服务1、系统功能使用FastAPI框架实现对外提供Agent智能体API后端接口服务使用LangGraph中预置的ReAct架构的Agent支持Short-term短期记忆并使用PostgreSQL进行持久化存储支持Function Calling包含自定义工具和MCP Server提供的工具支持Human in the loopHITL 人工审查对工具调用提供人工审查功能支持四种审查类型支持多厂家大模型接口调用OpenAI、阿里通义千问、本地开源大模型Ollama等支持Redis存储用户会话状态支持客户端的故障恢复和服务端的故障恢复使用功能强大的rich库实现前端demo应用与后端API接口服务联调支持动态调整会话的过期时间支持用户登录到系统后自动打开最近一次使用的会话若无则新建会话支持历史会话管理和历史会话恢复支持修剪短期记忆中的聊天历史以满足上下文对token数量或消息数量的限制支持读取和写入长期记忆如用户偏好设置等支持异步模式调用Agent运行支持并行(Celery是一个强大的异步任务队列/作业队列库)接口立即返回task_id支持客户端随时通过task_id来查询服务端任务的状态与响应内容2、核心业务流程2.1 后端业务核心流程docs/01_后端业务核心流程.pdfdocs/02_API接口和数据模型描述.pdf2.2 前端业务核心流程docs/03_前端业务核心流程.pdf3、前期准备工作3.1 集成开发环境搭建anaconda提供python虚拟环境Condapycharm提供集成开发环境3.2 大模型LLM服务接口调用方案OpenAI等国外大模型使用方案国内无法直接访问可以使用代理的方式具体代理方案自己选择国内大模型采用厂商原生接口本地开源大模型方案Ollama方式4、项目初始化4.1 安装项目依赖# 创建项目虚拟环境 conda create -n ReActAgents python3.11# 安装项目依赖 pip install langgraph0.4.5 pip install langchain0.3.25 pip install langchain-openai0.3.17 pip install langgraph-checkpoint-postgres2.0.21 pip install rich14.0.0 pip install fastapi0.115.12 pip install redis6.2.0 pip install concurrent-log-handler0.9.28 pip install celery5.5.3[!CAUTION]建议先使用要求的对应版本进行本项目测试避免因版本升级造成的代码不兼容。测试通过后可进行升级测试。4.2 构建项目使用PyCharm构建一个项目为项目配置虚拟python环境 项目名称ReActAgents4.3 将课件代码拷贝到项目工程中将下载的代码文件夹中的文件全部拷贝到新建的项目根目录下5、功能测试5.1 使用Docker方式运行PostgreSQL数据库和Redis数据库进入官网 https://www.docker.com/ 下载安装Docker Desktop软件并安装安装完成后打开软件打开命令行终端进入到docker/postgresql下执行 docker-compose up -d 运行PostgreSQL服务进入到docker/redis下执行 docker-compose up -d 运行Redis服务运行成功后可在Docker Desktop软件中进行管理操作或使用命令行操作或使用指令使用数据库客户端软件远程登陆进行可视化操作这里使用Navicat客户端软件和Redis-Insight客户端软件5.2 测试 HITL 对工具请求进行人类反馈进入 04_ReActAgentHITLApi 文件夹下运行脚本进行测试运行后端服务python 01_backendServer.py运行前端服务python 02_frontendServer.py使用python实现的一个模拟酒店预订的工具book_hotel其需传入的参数为{hotel_name}使用python实现的一个计算两个数的乘积的工具multiply其需传入的参数为{a:float, b:float}测试流程输入 yes 接受工具调用调用工具预定如家酒店输入 no 拒绝工具调用调用工具预定桔子酒店输入 edit 修改工具参数后调用工具调用工具预定全季酒店{hotel_name: 全季酒店(软件园店)}输入 response 不调用工具直接反馈信息调用工具预定汉庭酒店把酒店名称换为汉庭酒店(软件园店)再调用工具预定5.3 测试 status、new、exit指令status查看会话状态用于客户端故障恢复new新建会话exit退出当前会话5.4 测试客户端和服务端故障恢复客户端故障恢复会话管理用户IDtest2上海天气如何强制关闭客户端意外退出再次启动客户端输入用户IDtest2会话自动恢复到中断的状态服务端故障恢复LangGraph节点的状态恢复checkpointer5.5 测试动态调整会话的过期时间5.6 测试历史会话管理和历史会话恢复5.7 测试异步模式调用Agent服务进入06_ReActAgentHILApiMultiSessionTask文件夹下运行脚本进行测试支持多用户访问首先运行celery -A 01_backendServer.celery_app worker --loglevelinfo启动 celery 服务再运行后端服务python 01_backendServer.py最后运行前端服务python 02_frontendServer.py6、扩展学习国外大神讲解ragagent提示词工程cicd的流水线NirDiamanthttps://github.com/NirDiamant