使用多个ChatGPT API实现清华UltraChat多轮对话

冬浩小哥_2590

冬浩小哥_2590

2023-04-22

1344人浏览

转载

chatgpt 发布以来,这段时间对话模型的热度只增不减。当我们赞叹这些模型表现惊艳的同时,也应该猜到其背后巨大的算力和海量数据的支持。

单就数据而言,高质量的数据至关重要,为此 OpenAI 对数据和标注工作下了很大力气。有多项研究表明,ChatGPT 是比人类更加可靠的数据标注者,如果开源社区可以获得 ChatGPT 等强大语言模型的大量对话数据,就可以训练出性能更好的对话模型。这一点羊驼系列模型 ——Alpaca、Vicuna、Koala—— 已经证明过。例如,Vicuna 使用从 ShareGPT 收集的用户共享数据对 LLaMA 模型进行指令微调,就复刻了 ChatGPT 九成功力。越来越多的证据表明,数据是训练强大语言模型的第一生产力。

ShareGPT 是一个 ChatGPT 数据共享网站,用户会上传自己觉得有趣的 ChatGPT 回答。ShareGPT 上的数据是开放但琐碎的,需要研究人员自己收集整理。如果能够有一个高质量的,覆盖范围广泛的数据集,开源社区在对话模型研发方面将会事半功倍。

基于此,最近一个名为 UltraChat 的项目就系统构建了一个超高质量的对话数据集。项目作者尝试用两个独立的 ChatGPT Turbo API 进行对话,从而生成多轮对话数据。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

  • 项目地址:https://github.com/thunlp/UltraChat
  • 数据集地址:http://39.101.77.220/
  • 数据集交互地址:https://atlas.nomic.ai/map/0ce65783-c3a9-40b5-895d-384933f50081/a7b46301-022f-45d8-bbf4-98107eabdbac

具体而言,该项目旨在构建一个开源、大规模、多轮的基于 Turbo APIs 的对话数据,方便研究者开发具有通用对话能力的强大语言模型。此外,考虑到隐私保护等因素,该项目不会直接使用互联网上的数据作为提示。为了确保生成数据质量,研究者在生成过程中采用了两个独立的 ChatGPT Turbo API,其中一个模型扮演用户角色来生成问题或指令,另一个模型生成反馈。

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

如果直接使用 ChatGPT 基于一些种子对话和问题让其自由生成,容易出现话题单一、内容重复等问题,从而难以保证数据本身的多样性。为此,UltraChat 对对话数据覆盖的主题和任务类型进行了系统的分类和设计,还对用户模型和回复模型进行了细致的提示工程,它包含三个部分:

  • 关于世界的问题(Questions about the World):这部分对话来自于对现实世界中的概念、实体和对象相关的广泛询问。所涉及的主题涵盖科技、艺术、金融等多个领域。
  • 写作与创作(Writing and Creation):这部分对话数据着重于指示 AI 从头进行创作一个完整的文本材料,并在此基础上进行后续的提问或进一步指导以完善写作,撰写的材料内容类型包括文章、博客、诗歌、故事、戏剧,电子邮件等等。
  • 对于现有资料的辅助改写(Writing and Creation):该对话数据是基于现有资料生成的,指令包括但不限于改写、续写、翻译、归纳、推理等,涵盖主题同样非常多样。

这三部分数据覆盖了大部分用户对于 AI 模型的要求。同时,这三类数据也会面临着不同的挑战,为此需要不同的构造方法。

例如,第一部分的数据主要挑战在于如何在总量为几十万组对话中尽量广泛地涵盖人类社会中的常见知识,为此研究者从自动生成的主题和来源于 Wikidata 的实体两个方面进行了筛选和构造。

第二、三部分的挑战主要来自于如何模拟用户指令,并在后续对话中让用户模型的生成尽量多样化的同时又不偏离对话的最终目标(按照要求生成材料或改写材料),为此研究者对用户模型的输入提示进行了充分的设计和实验。在构造完成之后,作者还对数据进行了后处理以削弱幻觉问题。

目前,该项目已经发布了前两部分的数据,数据量为 124124 万条,应该是目前开源社区内规模最大的相关数据集。内容包含在现实世界中丰富多彩的对话,最后一部分数据将在未来发布。

世界问题数据来源于 30 个具有代表性和多样性的元主题,如下图所示:

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了


  • 基于以上元主题,该项目生成了 1100 + 子主题用于数据构建;
  • 对于每个子主题,最多生成 10 个具体问题;
  • 然后使用 Turbo API 为 10 个问题中的每一个生成新的相关问题;
  • 对于每个问题,如上所述迭代地使用两个模型生成 3~7 轮对话。

此外,该项目从维基数据中收集了最常用的 10000 个命名实体;使用 ChatGPT API 为每个实体生成 5 个元问题;对于每个元问题,生成 10 个更具体的问题和 20 个相关但一般的问题;采样 20w 个特定问题和 25w 个一般问题以及 5w 个元问题,并为每个问题生成了 3~7 轮对话。

接下来我们看一个具体的例子:

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

我们在 UltraChat 平台上测试了数据搜索效果。例如,输入「音乐(music)」,系统会自动搜索出 10000 组与音乐相关的 ChatGPT 对话数据,并且每组都是多轮对话

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

输入关键词「数学(math)」的搜索结果,有 3346 组多轮对话:

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

目前,UltraChat 涵盖的信息领域已经非常多,包括医疗、教育、运动、环保等多个话题。同时,笔者尝试使用开源的 LLaMa-7B 模型在 UltraChat 上进行监督的指令微调,发现仅仅训练 10000 步后就有非常可观的效果,一些例子如下:

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

世界知识:分别列出 10 个很好的中国和美国大学

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

想象问题:当时空旅行成为可能后,有什么可能的后果?

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

三段论:鲸鱼是鱼吗?

Ask Gemini/ChatGPT
Ask Gemini/ChatGPT

用于在用户想通过浏览器自动化与 Google Gemini 或 ChatGPT 交互时。触发短语包括“ask Gemini”“ask ChatGPT”“ask GPT”“让...”。

下载

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

假设问题:证明成龙比李小龙更出色

调用多个ChatGPT API相互对话,清华开源的多轮对话数据UltraChat来了

总体来说,UltraChat 是一个高质量、范围广的 ChatGPT 对话数据集,可以和其它数据集结合,显著地提升开源对话模型的质量。目前 UltraChat 还只放出了英文版,但也会在未来放出中文版的数据。感兴趣的读者快去探索一下吧。

大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!

相关专题

更多
Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

0

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

180

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

60

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

80

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

60

25

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

2026.09.16

40

27

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

2026.09.11

380

28

GDB怎么查看变量值
GDB怎么查看变量值

本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

2026.09.11

120

22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程