AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

微软开源多模态聊天机器人 Visual ChatGPT

  • 2023-05-16
    北京
  • 本文字数:1200 字

    阅读完需:约 4 分钟

微软开源多模态聊天机器人Visual ChatGPT

微软研究院最近开源了Visual ChatGPT,一个聊天机器人系统,可以根据人类的文本提示生成和处理图像。该系统将OpenAI的ChatGPT与 22 种不同的视觉基础模型(VFM)相结合,可以支持多模态交互。


arXiv 上的一篇论文对该系统进行了描述。用户可以通过输入文本或上传图片与聊天机器人互动。机器人还可以根据文本提示生成图像,或者通过处理聊天历史记录中的图像来生成图像。该聊天机器人的一个关键模块是提示词管理器(Prompt Manager),它将用户输入的原始文本组织成一个“思维链”提示词,帮助 ChatGPT 确定是否需要调用 VFM 工具来执行图像任务。据微软团队称,Visual ChatGPT 是:


一个包含各种 VFM 的开放系统,使用户能够超越语言格式与 ChatGPT 进行交互。为了构建这样一个系统,我们精心设计了一系列提示词,将视觉信息注入到 ChatGPT 中,从而逐步解决复杂的视觉问题。


ChatGPT 和其他大语言模型(LLM)已经显示出了强大的自然语言处理能力,但它们被训练成只处理一种输入模式:文本。微软并没有训练另一个新的模型来处理多模态输入,而是设计了一个 Prompt Manager 来生成输入给 ChatGPT 的文本,进而生成可以调用 VFM(如 CLIP 或Stable Diffusion)来执行计算机视觉任务的输出。


Visual ChatGPT 架构


提示词管理器基于 LangChain 代理,而 VFM 被定义为 LangChain 代理工具。为了确定是否需要调用工具,代理会结合用户提示词和对话历史记录(其中包含了图像文件名),然后应用提示词的前缀和后缀。前缀包括以下文本:


Visual ChatGPT 不能直接读取图像,但它有一些工具可用来完成不同的视觉任务。每一张图像都有一个文件名,格式为“image/xxx.png”,Visual ChatGPT 可以调用不同的工具来间接理解图像。


前缀中的附加文本会引导 ChatGPT 问自己“是否需要使用工具”,如果需要使用工具,它应该输出工具的名称以及所需的输入,例如要生成的图像文件名或图像的文本描述。代理将迭代地调用 VFM 工具,将生成的图像发送到聊天会话中,直到不再需要使用工具。此时,最后生成的文本输出将被发送到聊天会话中。


在 Hacker News 的一个帖子中,一位用户指出 VFM 使用的内存比语言模型少得多,他想知道为什么。另一位用户回复说:


图像模型可以很差,但仍然可以生成令人满意的结果。试想一下,我们可以将图像的像素随机变化 10%,我们只会看到图像质量降低了一些,但其他方面仍然是完美的。而语言模型就不是这样了,因为它们试图解决的问题要“尖锐”得多,即使它们只是偏离了一点点,都会导致结果出现严重偏差。所以我们需要一个更大的模型来获得足够的文本“清晰度”。


Visual ChatGPT源代码可在 GitHub 上获得。


原文链接:

Microsoft Open-Sources Multimodal Chatbot Visual ChatGPT


相关阅读:

一部手机就可运行,精通 Python 等 20 种语言!谷歌终于能与 OpenAI 打擂台了,全新 PaLM 2 比肩 GPT-4

AIGC 在保险行业有哪些应用落地的可能性?

AI 时代的“身份证”要来了?ChatGPT 之父推出加密钱包 World App,并称区块链可以区分人与 AI


2023-05-16 09:219875

评论

发布
暂无评论
发现更多内容

读书笔记之数据密集型应用的可扩展性

宇宙之一粟

读书笔记 设计数据密集型应用 7月月更

模块一作业

薛敏

【古月21讲】ROS入门系列(1)——ROS命令工具的使用及创建工作空间和功能包

秃头小苏

ROS 7月月更

Hibernate 元数据模型(MetaModel)提示类没有找到错误

HoneyMoose

从代码角度,带你手把手调试

芒果酱

7月月更

Qt|VS2017中编译QWT并使用

中国好公民st

qt 7月月更

LeetCode-112. 路径总和(java)

bug菌

Leet Code 7月月更

一文带你了解JavaScript的数据类型

是乃德也是Ned

JavaScript 7月月更

Ceph Swift 实践运用(四)

Lansonli

云原生 Ceph 7月月更

zookeeper-安装zookeeper与znode说明

zarmnosaj

7月月更

Qt 实现 禁用快捷键

小肉球

qt 7月月更

5G NR MIB详解

柒号华仔

5G 7月月更

从0开始的TypeScriptの十三:infer、extends、keyof、typeof、in

空城机

typescript 7月月更

XGRIDS三维重建服务,构建云上数字孪生世界

阿里云弹性计算

容器 3D渲染 弹性计算 GPU算力

直播带货系统源码(开源系统版)——如何搭建测试呢?

开源直播系统源码

软件开发 直播源码 语音直播源码 连麦直播

uWebSockets.js 遇见 Http3

devpoint

JavaScript websocket HTTP3.0 7月月更

【愚公系列】2022年07月 Java教学课程 03-Hello World的运行

愚公搬代码

7月月更

架构师训练营第八期-刘新国

liu

架构实战营模块一作业

zhihai.tu

Green Hills Software(GHS)的安装和申请License文件

不脱发的程序猿

嵌入式 MCU Green Hills Software GHS 集成开发环境

Qt | 实现一个简单的可以转动的仪表盘

YOLO.

qt 7月月更

模块一作业

张立奎

查找——分块查找

乔乔

7月月更

【LeetCode】行星碰撞Java题解

Albert

LeetCode 7月月更

采用Qt设计一个即时群聊天系统软件

DS小龙哥

7月月更

两数之和 II - 输入有序数组

面试官问

LeetCode 两数之和

【愚公系列】2022年7月 Go教学课程 011-字符串类型

愚公搬代码

7月月更

jQuery(二)

Jason199

jquery 选择器 7月月更

数通网络

乌龟哥哥

7月月更

java零基础入门-String

喵手

Java 7月月更

微软开源多模态聊天机器人Visual ChatGPT_开源_Anthony Alford_InfoQ精选文章