transformers之agent

Hugging Face 发布了 Transformers Agent,一种利用自然语言从精选工具集合中选择工具并完成各种任务的代理。此举使其与 LangChain 作为构建企业通用人工智能 (AGI) 应用程序的新兴框架直接竞争,因为它很像 LangChain 工具和代理。

什么是 Transformers Agents?

简单来说它在转换器之上提供了一个自然语言 API:定义了一组精选工具并设计了一个代理来解释自然语言并使用这些工具。

可以想象 HuggingFace 的工程师会是这样的:在 HuggingFace 上托管了很多令人惊叹的模型,可以将它们与 LLM 整合吗?可以使用 LLM 来决定使用哪个模型、编写代码、运行代码并生成结果吗?从本质上讲,没有人需要再学习所有复杂的特定任务模型。只要给它一个任务,LLMs(代理人)就会为其包办一切。

注意:LLM就大语言模型,转换器可学会理解基本的语法、语言和知识,例如:如理解蛋白质结构、编写软件代码等。像人类大脑一样,大型语言模型必须经过预先训练,然后再进行微调,这样它们才能解决文本分类、问题解答、文档摘要和文本生成等问题。它们这些解决问题的能力可应用于医疗保健、金融和娱乐等多种领域;在这些领域中,大型语言模型用于支持各种 NLP 应用程序,例如翻译、聊天机器人、AI 助手等。

工作流程:

  • 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>" ) 

# Starcoder
 agent = HfAgent( "https://api-inference.huggingface.co/models/bigcode/starcoder" ) 

# OpenAssistant
 agent = HfAgent(url_endpoint= "https://api-inference.huggingface.co/models/OpenAssistant/oasst-sft-4 -pythia-12b-epoch-3.5" )
第 2 步:运行 Agent (代理)

agent.run 是一个单一的执行方法,自动选择任务的工具,例如,选择图像生成器工具来创建图像。

from huggingface_hub import login
from transformers.tools import HfAgent
import matplotlib.pyplot as plt

login('xxxx')
agent = HfAgent("https://api-inference.huggingface.co/models/bigcode/starcoder")
boat = agent.run("Generate an image of a boat in the water")
plt.imshow(boat)
plt.show()

给图片加描述:

caption = agent.run("Can you caption the `boat_image`?", boat_image=boat)

他生成的答案是 a boat is floating in the water

朗读文本:

audio = agent.run("Read out loud 'I love china' ")
play_audio(audio)

进行对话

这里的命令是agent.chat()

agent.chat('今天天气好么')

注意:

最好是放在谷歌的Colaboratory上面来运行,如果是用本地运行的话,一是本地下载速度可能会比较慢。二是下载的东西太多,都是大文件,很快就把自己的C盘电脑空间给占完了

Hugging Face Transfomers Agent 有一个惊人的工具列表,每个工具都由变形模型提供支持。这些工具提供了三个显着优势:

1、尽管 Transformers Agent 目前只能与少数工具进行交互,但它有可能与超过 100,000 个Hugging Face 模型进行通信。它拥有完整的多模式功能,包括文本、图像、视频、音频和文档。

2、由于这些模型是为特定任务专门构建的,与仅依赖 LLM 相比,使用它们可以更直接并产生更准确的结果。例如,可以简单地部署专为文本分类设计的 BART,而不是为 LLM 设计文本分类的提示;

3、这些工具解锁了 LLM 无法单独完成的功能,例如 BLIP。

在这里探索了 Hugging Face Transformers Agents 的功能,并将其与 LangChain Agents 进行了比较。期待 Transformers Agent 的更多的惊人成果。

相关推荐
SylviaW0839 分钟前
神经网络八股(三)
人工智能·深度学习·神经网络
potender2 小时前
CGAN代码
人工智能·pytorch·深度学习
紫雾凌寒2 小时前
计算机视觉基础|卷积神经网络:从数学原理到可视化实战
人工智能·深度学习·神经网络·机器学习·计算机视觉·cnn·卷积神经网络
阿_旭3 小时前
目标检测中单阶段检测模型与双阶段检测模型详细对比与说明
人工智能·深度学习·目标检测·计算机视觉
thinkMoreAndDoMore5 小时前
深度学习(2)-深度学习关键网络架构
人工智能·深度学习·机器学习
紫雾凌寒5 小时前
计算机视觉基础|从 OpenCV 到频域分析
深度学习·opencv·计算机视觉·傅里叶变换·频域分析
B站计算机毕业设计超人6 小时前
计算机毕业设计hadoop+spark旅游景点推荐 旅游推荐系统 旅游可视化 旅游爬虫 景区客流量预测 旅游大数据 大数据毕业设计
大数据·hadoop·爬虫·深度学习·机器学习·数据可视化·推荐算法
mengyoufengyu6 小时前
DeepSeek04-导出导入模型文件
人工智能·深度学习·deepseek
大数据追光猿6 小时前
【深度学习】Pytorch的深入理解和研究
人工智能·pytorch·python·深度学习·机器学习·ai编程
go54631584657 小时前
基于深度学习进行呼吸音检测的详细示例
人工智能·深度学习