扫码阅读
手机扫码阅读

动手做一个最小Agent——TinyAgent!

131 2024-09-29

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:动手做一个最小Agent——TinyAgent!
文章来源:
Datawhale
扫码关注公众号
文章摘要

Datawhale干货

作者:宋志学,Datawhale成员

前言

随着ChatGPT的出现,大模型变得流行。但这些模型在实时或特定领域问题上有局限。为了提升大模型的实用性,我们需要工具来提供粒度对齐,使其与现实世界更加契合。作者使用React的方法构建了一个最小的Agent结构,并计划将其改进。

实现细节

Step 1: 构造大模型

使用InternLM2作为基础对话大模型,通过transformers库加载。创建BaseModel类定义基本方法,并从中派生出InternLM2类实现具体的chat和load_model方法。

Step 2: 构造工具

在tools.py文件中构建Tools类,添加如Google搜索工具。这些工具包含描述信息和具体实现,通过serper网站申请token实现功能。

Step 3: 构造Agent

构建React的Agent,实现chat方法。系统提示告诉大模型可以调用的工具及其描述信息。用户提问时,Agent会通过两次大模型调用来整合工具返回的结果和用户问题,实现React结构的对话。

Step 4: 运行Agent

使用InternLM2-chat-7B模型示例,展示了如何运行Agent并处理用户提问。演示了Agent如何结合大模型和工具来提供答案。

完整代码和结构可以在Github仓库 https://github.com/KMnO4-zx/TinyAgent 中查看,并鼓励给仓库点星标。

论文参考

ReAct: Synergizing Reasoning and Acting in Language Models

想要了解更多内容?

查看原文:动手做一个最小Agent——TinyAgent!
文章来源:
Datawhale
扫码关注公众号