blog icon indicating copy to clipboard operation
blog copied to clipboard

请收下这份 GPTs 完全指南 (二):如何开发

Open cssmagic opened this issue 2 years ago • 0 comments

这是 GPTs 系列指南的第二集,包含大量实操内容。文字所能呈现的信息有限,因此文章末尾附带了视频版作为补充。


相信各位小伙伴或多或少都有技术背景,说到 “开发” 大家应该都不陌生。但和我们以前 “写代码” 的开发途径相比,GPTs 的开发模式还是有着很大区别。

GPTs 开发界面

我们先来看看 GPTs 的开发界面。我们在 ChatGPT 界面左下角点击自己的用户名,再点击 “My GPTs” 菜单。在打开的页面中,列出了我们创建的所有 GPTs。

my-gpts

在这里,我们可以编辑已有 GPTs,也可以点 “Create a GPT” 创建一个新的。让我们进入创建界面继续探索。

这个界面分为左右两部分:左侧是工作区,右侧则是预览区。这样的布局允许我们在左侧进行配置和指令编写,而在右侧立刻尝试这些更改的效果,十分高效。(值得注意的是,我们在预览区的所有对话记录不会保存。)

create-ui-type-1

在工作区,我们可以在 “Create” 和 “Configure” 两种模式之间切换。如果是第一次创建,我们会默认进入 “Create” 模式。这种模式是一个对话界面,我们与一个名为 “GPT Builder” 的机器人对话,通过自然语言对话的方式完成 GPTs 的创建。

对于新手而言,这种对话式的创建过程是一个极好的入门方式。而对于经验丰富的老鸟来说,可能会更倾向于采用 “Configure” 模式——通过填写详细的表单来完成配置,这种方式往往更直接、更高效。

create-ui-type-2

基本信息配置

在进入创建界面之后,我们首先要做的就是配置 GPTs 的基本信息。

form-1

名称与描述(Name & Description)

首先,每个 GPTs 都需要一个名字和描述。这不只是为了标识,更是为了让使用者一目了然地知道这个 GPTs 可以做什么,它的主要功能和特点是什么。

系统提示词(Instructions)

对 GPTs 来说,提示词就是核心工作逻辑。通过精心设计的提示词,你可以引导 GPTs 执行一系列复杂的任务,从简单的问答到复杂的逻辑处理。

在编写提示词时,建议使用结构化的方式来组织语言。其中包括角色设定、任务描述、执行条件、预期的输出格式等段落。关于这种结构化提示词的写法和好处,可以参考《ChatGPT 定制化进阶:四步成为 AI 对话高手》这篇文章。

快捷启动词(Conversation starters)

还记得我们在上一集里体验过的快捷启动词吗?在这里可以详细配置它。这些快捷启动词可以引导用户更有效地使用 GPTs,让对话从一开始就走上正轨。

在配置好这些基本信息之后,我们将探索 GPTs 所具备的基础能力及其五大扩展工具。

基础能力 + 五大工具

首先,GPTs 拥有流畅的对话能力,这是依托于底层的大型语言模型实现的。它能够理解自然语言的输入,给出合理且连贯的回答,这是所有高级功能的基础。

此外,GPTs 的真正魅力在于,它拥有五大扩展工具;而且,它能够根据不同的上下文情境,决策使用哪个工具来进行下一步工作。从这个意义上来说,GPTs 已经具备了类似 “Agent” 的工具调度能力。

form-2

我们来看看 GPTs 内置的这五大工具:

  • 外挂知识库(Knowledge):这允许 GPTs 访问超出其训练数据集时间范围的信息,或者访问特定的私有数据。这对于需要定制化信息回答的场景极其有用。

  • 网页浏览(Web Browsing):这一工具使 GPTs 能够在回答查询时实时访问互联网信息,突破了模型训练数据的时间限制,获取最新的信息。

  • 绘图功能(DALL·E Image Generation):借助 OpenAI 自家的 DALL·E 3 模型,GPTs 可以生成图像。某些时候它可以直接为用户生成想要的图片,而有些时候 GPTs 可以通过图片为对话增添更多的沉浸感。

  • 代码解释器(Code Interpreter):这一高级功能允许 GPTs 生成代码、运行代码,甚至帮助用户操作上传的文件、分析数据。这对于创建一个专业场景的 GPTs 非常有用。

  • 外部 API(Actions):通过定义和调用外部 API,GPTs 的功能可以无限扩展,连接到各种外部服务和数据源,实现更复杂的任务。

这些工具的集成使得 GPTs 不仅仅是一个问答机器人,而是一个多功能的 AI 智能体。接下来我们将逐一深入这些工具的应用场景和调用方法。

工具一:知识库

1. 配置

为了更清晰地演示外挂知识库的配置和效果,魔法哥单独创建了一个演示用的 GPTs。它的系统提示词很简单:

当用户提出问题时,仅在已上传的文件中寻找答案。如果在文件中找不到答案,请回复 “知识库里没有包含相关信息”。请严格遵守这一要求。

根据这个设定,它的回答只会基于这个特定的知识库来进行,而不是依赖模型的内在知识或网络搜索。

而它的知识库也很简单,取自魔法哥在《我悄悄建了一个 AI 网址导航,相信对你也有用》这篇文章里提到的开源项目 “Awesome AI”。

同时我也配置了一些快捷启动词,可以更方便地开始对话演示。

kb-config

特别提醒:如果知识库内容是 Markdown 格式,把文件命名为 *.md 似乎并不能让 GPTs 很好地理解。魔法哥调试了很多次,最终发现把它改成 .txt 扩展名才能正常工作。

2. 演示

接下来,我们点击一个快捷启动词,可以看到 GPTs 查询知识库并回答问题的过程。

kb-chat-1

当遇到知识库中不存在的信息时,这个 GPTs 也可以按照设定,直接告诉用户 “知识库里没有包含相关信息”。

kb-chat-2

当然,如果需要,我们可以让 GPTs 在这种情况下自动调用其他工具,比如网页浏览,以获取更多信息。

工具二:网页浏览

我们经常说,ChatGPT 比较让人困扰的一点就是大模型的 “幻觉”,会给出一些并不属实的信息。所以我们一直期望大模型拥有检索线上真实信息的能力。GPTs 就提供了这项重要能力。

当然这个功能也是有一定限制的,并不可以浏览任意网页,它的所有浏览行为实际上都是借助 Bing 搜索来实现的。

在接下来的演示中,魔法哥需要引入另一个 Demo GPTs。我们来看看它的系统提示词:

……

……

完整文章已收录到 “CSS魔法” 微信公众号,扫码立即关注:

weixin-qrcode

……

……

下期预告

在今天的文章里,我们一步步探索了 GPTs 的开发模式,实践了五大扩展工具的调用技巧。我们不仅见证了 GPTs 的强大功能和灵活性,也体会到它在解决实际问题中的巨大潜力。

在下一集里,魔法哥将讲解 如何为 GPTs 做好安全防护,并把 GPTs 上架到 GPTs 商店。敬请期待!


附:视频版

video

我的 B 站账号 “魔法哥聊AI” 已开通了,欢迎关注~


© Creative Commons BY-NC-ND 4.0   |   我要订阅   |   我要打赏

cssmagic avatar Feb 08 '24 05:02 cssmagic