Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
cssmagic opened this issue Feb 8, 2024 · 0 comments
Open

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

cssmagic opened this issue Feb 8, 2024 · 0 comments

Comments

@cssmagic
Copy link
Owner

cssmagic commented Feb 8, 2024

这是 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   |   我要订阅   |   我要打赏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant