2023.05.12-使用Transformers Agents来一键调用千万个AI模型

news2024/11/24 23:11:47

1. 简介

  • 简单来说,就是以前想要实现某一个AI功能,需要自己去网上搜索对应的模型、下载对应的权重才能使用。现在可以把中间的这些个环节都砍了,我们只需要告诉模型我们想要对某段文字或者某张图片进行什么操作,transformer就会自动帮我们分解我们的命令、要求,从Hugging Face上面搜索对应的仓库,下载对应的权重,然后运行推理,非常的梦幻。

2. 安装

首先,安装最新版的transformers

  • 目前这个功能还是处于实验阶段,因此只有最新版的transformers才可以访问上面的工具链

  • pip install -U transformers

    其他模块的安装

pip install huggingface_hub>=0.14.1 git+https://github.com/huggingface/transformers@$transformers_version -q diffusers accelerate datasets torch soundfile sentencepiece opencv-python openai

3. 配置

3.1. 配置模型库的token

  • 输入自己Hugging Face的Token进行登录

3.2. 配置命令解析agent

  • 命令解析库主要用于将我们说的自然语言翻译成机器能听懂的机器语言,到底是用哪个模型来执行对应的操作,比如生成图像的用image_generate模型,生成文字的用text_generate模型,相当于中央控制器。
  • 可以使用Hugging Face,也可以使用OpenAI,还可以使用OpenAssistant,为了方便,这里我就使用默认的Hugging Face了

4. 各个功能

4.1. 通过描述生成图片

  • 一行代码就可以搞定之前需要花费大把时间才能完成的任务
### boat = agent.run("Generate an image of a boat in the water")

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()

4.2. 给图片加上标题

  • 之前我们生成的图片如下
  • 通过下面的代码生成这张图片的描述
### caption = agent.run("Can you caption the `boat_image`?", boat_image=boat)
  • 他生成的答案是 a boat is floating in the water ,非常准确

4.2.1. 完整代码

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)
print("caption:", caption)
  • 甚至可以用中文来回复

4.3. 朗读文本

  • 我们可以直接给他发命令,让他帮我们朗读一段文字
### audio = agent.run("Read out loud 'I love china' ")
play_audio(audio)
audio = agent.run("Read out loud the summary of https://www.zhihu.com/")
play_audio(audio)

4.4. 进行对话

  • 既然已经接入了类似于ChatGPT这样的控制器,那么自然而然可以进行对话了
  • 这里的命令是agent.chat()

4.4.1. 问一下他的名字

可能是因为这里之前一直在说的是声音和图像的问题,所以这里突然问他的名字,结合前面的上下文,有点不知所云了

5. 评价

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518606.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【经验贴】项目风险管理的有效方法

你遇见过“最奇葩”的项目风险是什么? 中级项目经理小李:我比较幸运? 项目一开始发现客户的需求不太明确,就识别出可能会有范围无限蔓延的风险,制定了一系列的应对措施,不出所料出了问题,最终还是将风险遏…

springboot整合redis,MongoDB,Elasticsearch(ES)

目录 springboot整合redis 连接Redis 字符串操作 哈希表操作 列表操作 集合操作 有序集合操作 lettcus与jedis的区别 springboot整合MongoDB 新增数据 查询数据 更新数据 删除数据 springboot整合Elasticsearch(ES) 创建ElasticsearchRepo…

区间预测 | MATLAB实现QRCNN-BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测

区间预测 | MATLAB实现QRCNN-BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRCNN-BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于QRCNN…

Redis数据热迁移

1、redis数据热迁移,先通过redis-shake工具实现。 2、再通过redis-full-check检查迁移后的数据是否想同。 3、redis-shake版本下载: https://github.com/tair-opensource/RedisShake/releases 4、redis-full-check版本下载: https://github.c…

更简单的存和取bean

注解(更简单存bean和取bean)更简单的存bean(使用类注解)方法注解更简单的获取bean 注解(更简单存bean和取bean) 注解:声明和表示这个类或方法有某个能力。servlet的Web注解;实现路由…

2000多套微信小程序源码-史上最全的不同行业的源码集合

前言 提示:这里可以添加本文要记录的大概内容: 很多伙伴学习小程序不知怎么开始,我准备了2000多套小程序源码,基本覆盖各个行业,大家有需要的可以借鉴学习~ 提示:以下是本篇文章正文内容,下面…

“数字人交互,与虚拟的自己互动”——用PaddleAvatar打造数字分身,探索人机交互的未来

“数字人交互,与虚拟的自己互动”——用PaddleAvatar打造数字分身,探索人机交互的未来 你是否曾经幻想过与自己的虚拟人交互?现在,使用PaddleAvatar,您可以将自己的图像、音频和视频转化为一个逼真的数字人视频&#…

Spring Cloud Alibaba--Nacos集群配置

文章目录 一、Nacos持久化配置二、Nacos集群配置三、避坑指南集群端口号冲突问题内存不足,无法启动的问题 一、Nacos持久化配置 Nacos默认自带的是嵌入式数据库derby,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。 …

Goby 漏洞更新 |secnet-智能路由系统 actpt_5g.data 信息泄露

漏洞名称:secnet-智能路由系统 actpt_5g.data 信息泄露 English Name:secnet Intelligent Router actpt_5g.data Infoleakage CVSS core: 7.5 影响资产数:71768 漏洞描述: secnet安网智能AC管理系统是广州安网通信技术有限公…

mysql错误:2059 - Authentication plugin ‘caching_ sha2_password‘ cannot be loaded:

这个错误是因为MySQL数据库使用了 caching_sha2_password 插件进行身份验证,而该插件需要 MySQL 8.0.4 及以上版本的 MySQL 客户端才能够使用。 如果你使用的是旧版本的 MySQL 客户端,可以考虑升级到 MySQL 8.0.4 或更高版本。如果升级不是一个可行的选…

Windows重启mysql的方法(快速简单)

目录 一、背景 二、操作步骤 错误做法 正确做法 一、背景 有时候修改了数据库,但是MySQL数据库内容有延迟缓存,那么就需要重启一下数据库去解决问题 二、操作步骤 错误做法 直接去cmd命令里面输入net stop mysql这样停止,这样很可能…

【C++初阶】C++模版(进阶)

文章目录 前言一、非类型模板参数二、模板的特化概念函数模板特化类模板特化1.全特化3.偏特化 三、模板分离编译什么是分离编译模板的分离编译解决方法 模板总结 前言 前边我们讲解了模版初阶的内容,对泛型编程,函数模版,类模板有了一定的认…

上海亚商投顾:沪指失守3300点关口 AI应用方向大幅调整

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日集体调整,尾盘均跌超1%,沪指失守3300点关口,日线录得4连阴走势。游…

IS210AEPSG1AFC磁场由串联励磁绕组和并联励磁的组合提供

​ IS210AEPSG1AFC磁场由串联励磁绕组和并联励磁的组合提供 复合发生器 在这种类型中,磁场由串联励磁绕组和并联励磁的组合提供,并联磁场有许多圈数的导线,但它只承载小电流,而串联励磁绕组有几圈粗线并承载负载电流 串联励磁绕组…

【JAVAEE】线程池基础知识⭐

目录 1.什么是线程池 2.为什么要使用线程池 3.怎么使用线程池 4.自定义一个线程池 5.为什么不推荐使用系统自带的线程池 5.1线程池构造方法的参数和含义 5.1.1拒绝策略 5.2线程池的工作原理 5.3为什么不适用系统自带的线程池 补充:工厂模式 1.什么是线程池…

stm32 74hc595外扩io 调试记录

本文使用的测试代码如下 (1条消息) stm3274hc595外扩io调试工程,软件代码2片74hc595级联外扩IO资源-CSDN文库 有个项目对成本比较敏感,又想用ST的片子,输出管脚比较多,就考虑外扩IO,也有一些外扩IO的片子但是用下来成…

视频理解AI模型分类与汇总

人工智能领域视频模型大体也经历了从传统手工特征,到卷积神经网络、3D卷积网络、双流网络、transformer的发展脉络。 视频的技术大多借鉴图像处理技术,只是视频比图片多了一个时间维度。 下面内容先简单汇总下,后续再逐渐补充。 1. 双流网…

DS200SLCCG1AFG随着频率的增加而增加。具有高 Dk 的基材将具有高 Df。

​ DS200SLCCG1AFG随着频率的增加而增加。具有高 Dk 的基材将具有高 Df。 Df 耗散因数(又名损耗角正切) Df 测量由于电阻加热而损失了多少功率。PCB 基板形成电容器作为绝缘体,导体通常位于两侧。作为电容器,它会表现出容抗&#…

MySQL---聚合函数、字符串函数、数学函数、日期函数

1. 聚合函数 数据准备: create database mydb4; use mydb4;create table emp(emp_id int primary key auto_increment comment 编号,emp_name char(20) not null default comment 姓名,salary decimal(10,2) not null default 0 comment 工资,department char(20…

激光切割机要换新该怎么选?如何减少激光加工设备的老化问题?

激光器的销量持续攀高,激光切割机的应用领域涉及众多行业。随着加工范围和厚度的提升,运行多年的中低功率 激光切割机已经不能满足时下很多设备加工的需求,要提企业的加工能力,选择一款新的激光加工设备已是势在必行。 激光切割机…