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 的更多的惊人成果。

相关推荐
AIGC科技19 分钟前
焕新而来,境由AI生|AIRender升级更名“渲境AI”,重新定义设计渲染效率
人工智能·深度学习·图形渲染
bryant_meng1 小时前
【Depth Estimation】learning notes
人工智能·深度学习·计算机视觉·深度估计·depth anything
Rabbit_QL1 小时前
【深度学习】Hidden vs Latent:神经网络与概率模型中两个“隐”的本质区别
人工智能·深度学习·神经网络
金融小师妹1 小时前
AI算法视角下非农夜冲击波来袭,黄金高位区间震荡态势的深度神经网络解析
大数据·深度学习·1024程序员节
拉姆哥的小屋1 小时前
基于深度学习的瞬变电磁法裂缝参数智能反演研究
人工智能·python·深度学习
铅笔侠_小龙虾1 小时前
深度学习--阶段总结(1)
人工智能·深度学习·ai·回归
Heyxy1 小时前
RobustMerge—— 无训练的 PEFT 模型融合方法,从低秩分解视角揭示方向鲁棒性对 PEFT 融合的作用
人工智能·深度学习·机器学习·大模型
来两个炸鸡腿2 小时前
DW动手学大模型应用全栈开发 - (1)大模型应用开发应知必会
python·深度学习·学习·nlp
科学最TOP2 小时前
AAAI25|基于神经共形控制的时间序列预测模型
人工智能·深度学习·神经网络·机器学习·时间序列
塔楼2 小时前
MiniCPM-V 4.5
人工智能·深度学习