前言:
GPTs 是 OpenAI 在 2023 年11月6日 推出的一项新功能,它让我们可以用自然语言对话的形式,轻松创建属于我们自己的 GPTs 应用。GPTs 应用可以利用 GPT-4 的强大的自然语言处理和生成能力,以及其他的多模态功能,如在线检索、图像生成、数据分析等,实现各种复杂的任务。本篇博客中,我将介绍如何使用 GPT Builder 这个工具,来自定义和优化 GPT 模型,以适应特定的应用场景。展示 GPTs 应用开发的步骤和方法,以及 GPT Builder 的各种选项和功能。后续的文章我会考虑将提供完整实操例子。
2023/11/13补充概念区分:
GPTs = GPT应用商店的概念
GPT Builder = GPT应用的构建工具
GPT应用的构建能力 = 多模态(GPT4 +DALL·E + Browsing + Analysis )+ 微调 +Actions 调用第三方API。
以上并不包括Plugin插件开发和调用。
GPT4 Chat = 多模态(GPT4 +DALL·E + Browsing + Analysis )
GPT4 Plugin = 最多支持3个插件同时使用,已经独立了。
GPT3.5 Chat = 这个不用解释了老东西。
GPT Plugin 插件开发是个单独的权限 和 GPTs 不是一个东西。
1,GPTs 应用开发步骤:
- 登录OpenAI账户:
访问 OpenAI 网站,登录访问https://chat.openai.com/gpts/discovery。该功能需要GPT4 Plus。 - 通过GPT Builder构建应用:
在OpenAI控制台中,寻找 GPT Builder 的入口。点击以进入 GPT Builder 界面。
- 定义项目需求:
确定想要模型执行的具体任务或解决的问题。明确目标和期望的输出。根据不同的需求可以配置不同的选项和功能,如数据上传、模型训练和测试等。 - 准备训练微调和知识数据:
如果需要,可以收集和整理将用于训练模型的数据。这些数据应与项目相关。目的是为了专业确保数据的质量。
- 上传数据:
在 GPT Builder 中,按照指示上传的训练数据。遵循格式和大小要求,目前只测试PDF,MD后缀的效果差一些(MD有bug,可以把MD后缀改TXT),TXT,DOC等没啥问题。 - 配置训练参数:
根据项目需求配置模型训练的各种参数,可以从默认设置,然后根据需要进行调整设置。 - 调试和迭代:
根据Preview节目的测试结果,可能需要回到Create或Configure选项中准备或参数配置阶段进行调整和优化。 - 应用发布:
当应用构建和调试的差不多就可以将其部署和发布使用了。
2,GPT Builder概念:
GPT Builder是一个工具,允许用户自定义和优化GPT模型以适应特定的用例。它提供了对模型训练数据的更精细控制,允许根据特定需求微调模型。
OpenAI 是在北京时间 2023/11/07 凌晨2点的首届OPENAI DEVDAY 开发者大会上,推出了一项很吊的新功能:GPTs。它让我们可以用自然语言对话的形式,轻松创建属于我们自己的 GPTs应用。
GPTs应用可以利用 ChatGPT 的强大的自然语言处理和生成能力外还集成了 比如在线检索 / 图像生成 / 数据分析等功能,之前每个功能都是独立的存在,现在意味着GPT4原本的大语言模型功能基础上把之前独立的功能都集成了,解决一个复杂的问题不需要再多开很多chat窗口,而只需要在一个chat窗口就拥有这4项能力,根据需求自动选择大模型,简称:多模态大语言模型。
好了,前面铺垫了一些概念内容,那么GPT Builder到底是个啥东西?和之前的GPT4大语言模型有什么区别?
我个人理解:
GPTs 可以简单理解为移动端的App store,就是OpenAI的大语言模型的应用商店,但是在没发布GPTs之前,我们很早之前就可以通过复杂的Prompt(提示词),去影响GPT3.5/GPT4 去实现某个功能,比如文档总结,代码生成,会根据我们前置的Prompt提示词去完成复杂的功能。其实这个已经可以当成一个应用了。
区别:
- GPT-4 写 Prompt:
- 使用现有的 GPT-4 通用模型。
- 我们通过撰写特定的提示(prompt)来引导模型生成所需的回答或内容。
- 不能修改或调整模型本身,只能通过精心设计的提示(prompt)来尝试影响输出结果。
- GPT Builder:
- 允许定制和优化 GPT 模型以适应特定的应用场景。
- 可以上传自己的训练数据,以影响模型的学习和输出。
- 不仅限于通过提示影响输出,用户可以直接影响模型的训练和行为。
- 例子:如果正在运行一个在线风水咨询服务,并希望创建一个专门针对风水咨询的 GPT 模型,可以使用 GPT Builder 上传与风水相关的对话和信息,从而训练一个在风水咨询方面表现更好的专门模型。
但之前的GPT4 通过在某个新开的chat窗口输入Prompt实现的“应用” 有很多局限性,比如不能很精准的权限控制,个人使用,只允许链接访问的人使用,公开到GPTs给所有人使用,以及不能设置Instructions和Conversation starters前置引导词,不能设置Actions访问第三方API,不能上传Knowledge微调数据。
GPT4=通用大模型,Prompt仅影响已训练大模型输出内容。
GPT4s=通用大模型+傻瓜式专业的Prompt引导+可微调训练数据+可访问第三方API。
如果不理解的话,就把之前的GPT4 通过Prompt实现的“应用”理解为自己创建的Demo App,不能发布到应用市场 不是商用的。如果要发布到应用市场需要实现满足很多复杂的需求和步骤。
个人粗略的理解为,GPTs=App Store,GPT Builder=Xcode。
GPT Builder可以上传自己的文档,让应用更加贴合的需求和场景。还可以通过 Actions 调用第三方 API,应用更加强大和灵活。
GPTs 功能目前只对 所有的ChatGPT Plus 用户开放,可以在 GPTs 管理和查看你的 GPTs应用。
OpenAI 有着宏大的愿景(野心),想要把 GPTs Store 打造成 AI 时代的 Apple Store。
对于我们普通用户而言,这是一个难得的机会,我们应该尽早学习 GPTs 应用开发。
再过几年往回看,万一这就是个机会呢?别时代给你机会你不中用!
3, GPT Builder详解:
- 花时间浏览和了解 GPT Builder 的界面。
- 查看不同的选项和功能,如数据上传、模型训练和测试等。
3.1,GPT Builder 的 Create 选项详解
GPT Builder 的 Create选项:
- Create 选项允许用户开始一个新的模型创建过程。
- 在这一部分,可以配置新模型的各种参数和设置,包括命名模型、设定训练目标等。
- 这是定制和优化模型的起点,从这里开始输入我们的特定需求和数据。
- 例如:我创建过的一个例子举例,输入下面的内容,GPTs会引导你一步步的完善应用。
1.需要创建一个名字为“在线文章摘要助手”的应用。
2.需要所有的交互、提示和指示都会使用中文进行。
3.需要使用Dalle3创建一个应用Logo,Logo为和阅读相关需要科技感。
4.需要当用户输入url链接的时候通过actions的配置去请求API,返回API结果。
5.需要当用户输入非url的内容,只提供文本内容的时候,请把文章内容总结提炼成一段内容,用列表方式列出文本的5个关键信息内容。
GPT Builder 中的文件上传:
- 文件上传是指可以上传自己的数据文件,这些文件将被用来训练或微调模型。
- 可以上传的文件类型:我目前只测过
.txt
或.json
格式。 - 文件大小限制:具体大小限制可能因 OpenAI 的政策和技术限制而有所不同 日新月异,暂时不清楚。
- 文件内容格式要求:
- 格式需整洁,便于解析。
- 应该包含希望模型学习的任务相关的数据。
- 例子:如果我们正在创建一个用于风水的模型,可能会上传包含专业风水相关的知识的
.txt
文件。
左边的内容已经详细的讲解完,很简单。最复杂的就是右边的Configure
。
Create中的文件上传与Configure中的知识更新文件的区别:
- Create中的文件上传:通常用于在创建新模型或训练一个全新模型时上传训练数据。这些数据将用于从头开始构建模型的知识基础,比如我就上传一些风水相关的资料。
- Configure中的知识更新文件:这通常涉及在一个已经存在的模型上进行微调或更新,作。在这里上传的文件通常用于扩展或更新模型的现有知识库,如果找不到相关内容,会从Knowledge 上传的数据查找,而不是完全重建它。
- 例如,如果我有一个已经训练好的模型《平行世界!我被美女包围了!》GPTs应用,但想让它了解个人主人公的详细数据。
这里的概念有点复杂,需要深入学习理解一下:
- 训练目标的意义是啥 ?:
- 训练目标指的是希望通过训练定制化模型达到的具体需求结果。这些目标定义了模型训练的方向和重点。
- 例如,如果我正在创建一个用于风水的聊天机器人,训练目标可能包括提高对特定行业术语的理解、优化回答的准确性,或者增强对客户情绪的识别能力。
- 训练和微调模型的解释:
- 训练模型:指的是从头开始构建一个新的模型,通常需要大量的数据资源和成本。在这个过程中,模型学习如何理解和生成文本。
- 比如OpenAI就训练了GPT4这个通用大模型,有xxx参数,训练一次耗资多少,这就是为什么之前的GPT4知识库停留在2021年,最近才更新到2023年,因为训练一次,耗资巨大。
- 微调模型:指的是在一个已经训练好的模型基础上进行进一步的优化。通过微调,模型可以更好地适应特定的应用场景或需求。
- 例如OpenAI 提供了一个基本的 GPT4的通用大模型,可以通过在该模型上添加特定行业的对话例子来进行微调,使其更适合在该行业内使用。
什么!还不理解?玩过github吧,知道抄代码吗?
比如github上有个成熟项目,这个项目人家耗费很多时间去构建完善,过程多复杂只有作者知道。
这个成熟项目=训练模型。
如果这个项目80%需求是符合你的,但是不完全符合你,这个时候你clone代码到本地,进行添加自己的业务代码,进行微调,理解了吗?
简单的总结下:训练目标是指导模型训练方向的具体目标,训练模型是从头开始建立模型的过程,微调模型则是在现有模型基础上进行调整。在Create中上传文件是为了建立新模型的基础,而在Configure中上传更新文件是为了在现有模型上添加新知识。
GPTs 应用开发:使用 GPT Builder 创建自己的 GPTs 应用(下)+https://developer.aliyun.com/article/1489667