HugingGPT 模型整合,贾维斯来了

代码:https://github.com/microsoft/JARVIS

论文:https://arxiv.org/abs/2303.17580

解决不同领域和模式的复杂人工智能任务是关键一步走向先进的人工智能。虽然有大量的人工智能模型可用于不同的领域和模式,但它们无法处理复杂的人工智能任务。考虑到大型语言模型(LLM)在语言理解、生成、互动和推理,作者主张LLM可以作为控制器来管理现有的人工智能模型,以解决复杂的问题人工智能任务和语言可以是一个通用接口来实现这一点。

基于根据这一理念,作者提出了HuggingGPT,一个利用LLM的框架(例如。,ChatGPT)来连接机器学习社区中的各种AI模型(例如huggingface)来解决人工智能任务。

具体来说,作者使用ChatGPT来执行任务当收到用户请求时进行规划,根据其功能选择型号“Huggingface”中提供的描述,使用选定的执行每个子任务人工智能模型,并根据执行结果总结响应。通过利用ChatGPT强大的语言能力和丰富的人工智能模型库Huggingface,HuggingGPT能够在不同的模式和领域,并在语言、视觉和语言方面取得了令人印象深刻的成果,演讲和其他具有挑战性的任务,为高级学习铺平了新的道路人工智能。

具体步骤包括:

任务规划

在 HuggingGPT 的第一阶段,大型语言模型接受用户请求并将其分解为一系列结构化任务。复杂的请求往往涉及多个任务,大型语言模型需要确定这些任务的依赖关系和执行顺序。为了促使大型语言模型进行有效的任务规划,HuggingGPT 在其提示设计中采用了基于规范的指令和基于演示的解析。通过在提示中注入几个演示,HuggingGPT 允许大型语言模型更好地理解任务规划意图和标准。

模型选择

在解析任务列表之后,HuggingGPT 为任务列表中的每个任务选择适当的模型。为了实现这一过程,该研究首先从 HuggingFace Hub 获得对专家模型的描述(模型描述大致包括模型功能、体系架构、支持的语言和域、许可等信息。)然后通过上下文中的任务模型分配机制动态地为任务选择模型。

任务执行

一旦将任务分配给特定模型,接下来就是执行任务,即执行模型推理。为了加速和计算稳定性,HuggingGPT 在混合推理端点上运行这些模型。将任务参数作为输入,模型计算推理结果,然后将信息反馈给大型语言模型。

响应生成

所有任务执行完成后,HuggingGPT 进入响应生成阶段。在这一阶段,HuggingGPT 将前三个阶段(任务规划、模型选择和任务执行)的所有信息整合成一个简洁的摘要,包括计划任务列表、模型选择和推理结果。其中最重要的是推理结果,它是 HuggingGPT 做出最终决策的基础。这些推理结果以结构化格式出现,例如对象检测模型中具有检测概率的 bounding boxes、问答模型中的答案分布等。

例如:

对于“please generate an image where a girl is reading a book, and her pose is the same as the boy in the image example.jpg. Then please describe the new image with your voice. ”

处理流程如下:

对于一个简单的尽可能详细地描述图像的请求,HuggingGPT 可以将其扩展为五个相关任务,即图像字幕、图像分类、物体检测、分割和视觉问答。HuggingGPT 为每个任务分配专家模型,这些模型从 LLM 的不同方面提供与图像相关的信息。最后,LLM 将这些信息进行整合,并做出全面而详细的描述。

研究人员在广泛的多模态任务上测试了HuggingGPT。在ChatGP和专家模型的配合下,HuggingGPT可以解决语言、图像、音频和视频等多种模式的任务,包含了检测、生成、分类和问题回答等多种形式的任务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!维斯人工智能可以通过编写一个或多个程序来实现。以下是一个简单的示例代码,可以帮助你开始: ``` import speech_recognition as sr import pyttsx3 import datetime import wikipedia import webbrowser import os # 初始化语音识别引擎 r = sr.Recognizer() # 初始化语音合成引擎 engine = pyttsx3.init() # 设置语音合成引擎属性 engine.setProperty('rate', 150) # 定义语音合成函数 def speak(text): engine.say(text) engine.runAndWait() # 定义检测语音函数 def listen(): with sr.Microphone() as source: r.adjust_for_ambient_noise(source) audio = r.listen(source) try: speech_text = r.recognize_google(audio) print("你说的是:" + speech_text) return speech_text except sr.UnknownValueError: return "抱歉,我没听清。" except sr.RequestError as e: return "网络出现问题。" # 定义主程序函数 def main(): speak("你好,我是维斯人工智能。") while True: speech_text = listen().lower() if "退出" in speech_text: speak("再见!") break elif "现在几点" in speech_text: now = datetime.datetime.now() current_time = now.strftime("%H:%M") speak("现在时间是:" + current_time) elif "搜索" in speech_text: search_term = speech_text.split("搜索")[-1].strip() url = "https://www.google.com/search?q=" + search_term webbrowser.open(url) speak("这是我为你找到的结果。") elif "打开" in speech_text: app_name = speech_text.split("打开")[-1].strip() os.system("open -a " + app_name) speak("这是我为你打开的应用。") elif "讲个笑话" in speech_text: speak("为你讲一个笑话。为什么程序员总是用黑色的电脑屏幕?因为黑的最省电。") elif "告诉我" in speech_text: search_term = speech_text.split("告诉我")[-1].strip() wiki_summary = wikipedia.summary(search_term, sentences=2) speak("这是我为你找到的信息。" + wiki_summary) else: speak("抱歉,我不明白你的意思。") if __name__ == '__main__': main() ``` 这个代码利用了Python中的一些库,包括`speech_recognition`用于语音识别、`pyttsx3`用于语音合成、`datetime`用于获取当前时间、`wikipedia`用于搜索维基百科、`webbrowser`用于打开浏览器和`os`用于打开应用程序。这个程序可以执行一些简单的任务,如回答询问时间、搜索互联网、打开应用程序、讲笑话等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值