针对Qwen-Agent框架的Function Call及ReAct的源码阅读与解析:Agent基类篇
文章目录
- Agent继承链
- Agent类
- 总体架构
- 初始化方法
- `__init__` 方法:
- `_init_tool` 方法:
- 对话生成方法
- `_call_llm` 方法:
- 工具调用方法
- `_call_tool` 方法:
- `_detect_tool` 方法:
- 整体执行方法
- `run` 方法:
- `_run` 方法:
- `run_nonstream` 方法
- 总结回顾
本文在 基于Qwen-Agent框架的Function Call及ReAct方式调用自定义工具的基础上,进一步阅读Qwen-Agent框架涉及到的相关源码,深入解析不同参数对于工具调用效果的作用方式。
Agent继承链
查看源码,可以发现ReActChat
类继承了FnCallAgent
类,FnCallAgent
类继承了Agent
类,因此我们也按照自底向上的顺序,缕清从Agent
到FnCallAgent
到ReActChat
的实现思路。在这一篇,本文重点介绍Agent
类的架构和内容。
Agent类
总体架构
在qwen_agent/agent.py
下,可查看其定义
class