瓦房店网站制作,有没有可以做各种字体的网站,成都网站建设 培训班,wordpress 代码高亮文章目录 一、功能需求二、演示用例三、核心模块流程图四、代码分析1#xff09;Agent类目录创建智能体对象2#xff09;开始主流程3#xff09;在prompt的main目录输入主prompt和最后prompt4#xff09;增加实际的工具集tools#xff08;也就是函数#xff09;5#xf… 文章目录 一、功能需求二、演示用例三、核心模块流程图四、代码分析1Agent类目录创建智能体对象2开始主流程3在prompt的main目录输入主prompt和最后prompt4增加实际的工具集tools也就是函数5新增文件夹Utils工具来打印中间结果 一、功能需求
目的 设计一个 Agent自动选择使用以下工具回答用户的问题问题
1、查看目录下的文件
2、基于给定的文档回答用户问题
3、查看与分析 Excel 文件
4、撰写文档
5、调用 Email 客户端发邮件二、演示用例
实验资料(实验中使用三个文档演示 Agent 的能力)
./data|__2023年8月-9月销售记录.xlsx|__供应商名录.xlsx|__供应商资格要求.pdf资料展示 测试用例输入举例
1、9 月份的销售额是多少
2、销售总额最大的产品是什么
3、帮我找最近一个月出销售额不达标的供应商
4、给对方发一封邮通知此事
5、对比 8 月和 9 月销售情况写一份报告三、核心模块流程图 四、代码分析
1Agent类目录创建智能体对象
初始化准备工作
1、语言模型llm
2、工具集 tools
3、工作数据地址work_dir
4、最多能思考多少步max_thiought_steps
5、常识记忆的向量数据库连接池memery_retriever
6、output_parse专门解析action传出来的json格式的数据
7、robust_parser用来矫正输出json格式的错误
8、__iniy_prompt_templates用来初始化模板需要用接口适配langchain输出中文有时候打印Unicode码看的不舒服函数名字是__chinese_friendly
9、初始化chain用主要prompt和结束的prompt串起来2开始主流程
①初始化常识和短识的记忆短识记忆初始化为空常识是连接向量数据库 ②记录思考步数 ③开始主循环推理若输出结果为FINISH就break否则就执行选择出来的action并更新短识记忆 ④若大于最大思考步数则输出未能完成任务 ⑤更新长识记忆
3在prompt的main目录输入主prompt和最后prompt 注意点 ①有时候目录会在查找过程中丢失所以访问文件确保文件路径调整 ②对于一些准则总结方法论告诉他约束 ③输出形式要按步骤输出思考过程然后加自我反思 ④观察执行记录和自我反思进一步思考 ⑤根据反思和思考一步步推理
4增加实际的工具集tools也就是函数
①实际工具类文件是Tools.py比如如下的FileTool.py定义了返回搜索数据文件的名字的函数 ②定义读取PDF的函数类似RAG的部分这里拿langchain原生接口代替不推荐,FileQATool.py ③按照客户需求生成文档的函数
④分析Excel的函数工具根据表名字、行列名字信息、具体格信息分析文件ExcelTool.py和生成代码去分析数据的工具PythonTool.py并且在prompts/tools目录下填上excel分析的prompt ⑤发邮件的工具EmailTool.py
5新增文件夹Utils工具来打印中间结果
新文件callbackfunc.py 和带颜色的打印