wow-agent体验task2

108 阅读2分钟

第04课-用Llama-index创建Agent

  • 核心概念:介绍了ReActAgent框架,它通过结合推理和行动创建动态的LLM Agent,使LLM模型能在复杂环境中交替进行推理和行动步骤来高效执行任务,形成闭环,直至完成任务。

  • 代码实现

    • 准备环境:加载环境变量,读取api_key等配置信息。
    • 构建llm:自定义OurLLM类继承自CustomLLM,实现complete和stream_complete方法,用于生成文本回答。
    • 测试llm:通过调用stream_complete方法测试llm能否正常工作。
    • 创建ReActAgent:定义工具函数multiply和add,并将其放入FunctionTool对象中,创建ReActAgent实例,通过调用chat方法让agent使用自定义函数完成算术题计算。
    • 扩展功能:为agent添加查询天气的get_weather方法,创建weather_tool并加入agent,使其能回答天气相关问题。
  • 应用场景:ReActAgent可将业务自动向代码转换,适用于多种业务场景,且符合软件解耦设计原则,不同Agent可完成不同任务并相互交互。

第07课-搜索引擎Agent

  • 准备工作:加载环境变量,读取api_key等配置信息,包括WOWRAG_API_KEYbase_urlchat_modelemb_model

  • 构建llm

    • 自定义OurLLM类继承自CustomLLM,实现completestream_complete方法,用于生成文本回答。
    • 通过OpenAI客户端,使用指定的api_key和base_url进行初始化,并调用模型生成回答。
  • 测试llm:调用stream_complete方法测试llm,输出“我是一个人工智能助手,名叫 ChatGLM,是基于清华大学 KEG 实验室和智谱 AI 公司于 2024 年共同训练的语言模型开发的。我的任务是针对用户的问题和要求提供适当的答复和支持。”

  • 定义搜索工具

    • 使用BOCHA_API_KEY调用Bocha Web Search API进行联网搜索。
    • 定义bocha_web_search_tool函数,传入搜索关键词和返回结果数量,通过post请求获取搜索结果,并返回格式化的搜索结果文本。
    • bocha_web_search_tool函数封装为FunctionTool对象。
  • 创建ReActAgent:使用search_tool和自定义的llm创建ReActAgent实例。

  • 测试Agent:通过调用agent.chat方法,传入查询内容“阿里巴巴2024年的ESG报告主要讲了哪些内容?”,Agent利用搜索工具获取信息并生成回答,回答内容涵盖了阿里巴巴在可持续发展、环境、社会责任和治理等方面的进展和成就。