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

相关推荐
AI视觉网奇28 分钟前
音频分类模型笔记
人工智能·python·深度学习
CoovallyAIHub1 小时前
农田扫描提速37%!基于检测置信度的无人机“智能抽查”路径规划,Coovally一键加速模型落地
深度学习·算法·计算机视觉
没有不重的名么2 小时前
Tmux Xftp及Xshell的服务器使用方法
服务器·人工智能·深度学习·机器学习·ssh
lxmyzzs4 小时前
【图像算法 - 16】庖丁解牛:基于YOLO12与OpenCV的车辆部件级实例分割实战(附完整代码)
人工智能·深度学习·opencv·算法·yolo·计算机视觉·实例分割
明心知4 小时前
DAY 45 Tensorboard使用介绍
人工智能·深度学习
智算菩萨5 小时前
【计算机视觉与深度学习实战】05计算机视觉与深度学习在蚊子检测中的应用综述与假设
人工智能·深度学习·计算机视觉
EthanLifeGreat6 小时前
ParallelWaveGAN-KaldiFree:纯Pytorch的PWG
人工智能·pytorch·深度学习·音频·语音识别
CoovallyAIHub7 小时前
为什么85%的企业AI项目都失败了?
深度学习·算法·计算机视觉
cwn_7 小时前
牛津大学xDeepMind 自然语言处理(1)
人工智能·深度学习·机器学习·自然语言处理
nonono9 小时前
深度学习——R-CNN及其变体
深度学习·r语言·cnn