Hugging Face Transfomers Agent 一个惊人的AI工具列表
AI的发展现在是一天一个样,之前介绍了一些 自治AI代理 的项目。而在两天前,Hugging Face 发布了 Transformers Agent,一种利用自然语言从精选工具集合中选择工具并完成各种任务的代理。此举使其与 LangChain 作为构建企业通用人工智能 (AGI) 应用程序的新兴框架直接竞争,因为它很像 LangChain 工具和代理。在这里,将介绍什么是 Transformers Agent 以及它与 LangChain Agent 的比较。
示例
可以点击 Colab中的代码 (由 Hugging Face 提供)进行体验。
什么是 Transformers Agents
简单来说它在转换器之上提供了一个自然语言 API:定义了一组精选工具并设计了一个代理来解释自然语言并使用这些工具。
可以想象 HuggingFace 的工程师会是这样的:在 HuggingFace 上托管了很多令人惊叹的模型,可以将它们与 LLM 整合吗?可以使用 LLM 来决定使用哪个模型、编写代码、运行代码并生成结果吗?从本质上讲,没有人需要再学习所有复杂的特定任务模型。只要给它一个任务,LLMs(代理人)就会为其包办一切。
以下是步骤:
-
Instruction(使用说明)
:提示由用户来提供 -
Prompt(提示)
:添加了具体说明的提示模板,其中列出了多个要使用的工具。 -
Tools(工具)
:精选的 transformers 模型列表,例如用于问答的Flan-T5
, -
Agent(代理)
:解释问题、决定使用哪些工具并生成代码以使用工具执行任务的 LLM。 -
Restricted Python interpreter(受限 Python 解释器)
:执行 Python 代码。
工作原理
第 1 步:实例化 Agent (代理)
第一步是实例化一个 Agent (代理), Agent (代理)只是一个 LLM,它可以是 OpenAI 模型、StarCoder 模型或 OpenAssistant 模型。
OpenAI 模型需要 OpenAI API 密钥并且使用不是免费的。从 HuggingFace Hub 加载 StarCoder 模型和 OpenAssistant 模型,这需要 HuggingFace Hub API 密钥并且可以免费使用。
from transformers import HfAgent
# OpenAI
agent = OpenAiAgent(model= "text-davinci-003" , api_key= "<your_api_key>" )
from transformers import OpenAiAgent
from huggingface_hub import login
login( "<YOUR_TOKEN>" )