跳至主要内容

OpenAI 宣布推出 Assistants API

了解 OpenAI Assistants API,它旨在简化 AI 助手的开发。立即探索其关键功能。
Richie Cotton
Richie Cotton

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

在 OpenAI 的 开发者日(Dev Day)上,公司发布了多项公告,包括全新的 Assistants API。有关其他公告的详情,请参阅关于 GPT-4 Turbo 和 GPTs 与 GPT 商店 的文章。

Assistants API 扩展了现有的 OpenAI API,使软件开发者更容易构建类似聊天机器人的 AI 助手。

此次宣布了四项新功能:

  1. 用于管理更长对话的“线程”(Threads)
  2. 用于存储文本的“检索”(Retrieval)
  3. 内置代码解释功能
  4. 函数调用功能的改进。

Assistants API 关键功能

下面我们将更详细地介绍这些功能。

通过线程更轻松地管理对话

虽然有些任务可以通过向 API 发送单个提示并获得单个响应来完成,但聊天机器人需要更长的对话(或“线程”)。迄今为止,开发者需要自行跟踪先前的对话状态,并决定将哪些先前消息发送给 API。随着对话变长,每次 API 调用需要发送的文本也越来越多,从而降低性能。

此外,一旦对话超过“上下文窗口”(GPT 一次能记住的文本量),就必须做出取舍:是丢弃较旧的消息、尝试对其进行总结,还是先存储起来,日后再决定哪些相关内容需要包含?这很快就会变得繁琐,并拖慢应用开发进度。

新的线程工具将 OpenAI 从“无状态”(无记忆)转变为“有状态”。先前消息可存储在 OpenAI 端,开发者无需再为这些管理问题操心。

检索工具可让您存储更多文本

OpenAI 的演示还提到了用于存储文本的检索工具。它被作为第二项功能提出,不过由于线程功能似乎也会用到它,目前尚不清楚这项功能与线程的独立程度。

演示中的技术细节不多,但可以大胆推测其工作方式。目前,要在应用中引入生成式 AI,通常需要两种不同的技术:类似 GPT 这样的大型语言模型(LLM),以及一种 向量数据库。

向量数据库通过一种称为嵌入(embedding)的过程,将文本(或图像等其他非结构化数据类型)存储为数值向量。您可以稍后检索这些文本,将其包含到提示中。典型用例包括存放与您想讨论主题相关的事实资料。

例如,如果您要创建一个帮助解答公司产品问题的聊天机器人,就可以将产品信息存储在向量数据库中,用于确保 LLM 给出准确的事实性回答。

演示中提到的检索功能暗示 Assistants API 可能允许您通过 API 访问一个向量数据库。这不仅能支持更长对话,还带来了有趣的可能性,因为这意味着您无需再使用 Pinecone、Milvus 或 Weaviate 等独立的向量数据库来存储文本。

目前这仍属推测,我们还需等待 Assistants API 的具体细节发布。

内置代码解释功能

ChatGPT 拥有“高级数据分析”工具,可根据自然语言指令生成并执行 Python 代码。尽管 OpenAI 的演示细节略显模糊,但有迹象表明该功能将内置于 Assistants API 中,因此您可以通过提示让 GPT 运行 Python 代码。

改进的函数调用,更易与其他软件交互

API 的 函数调用 功能允许您用自然语言编写指令,并让 GPT 返回一个 JSON 字符串,以表示对您定义的函数的调用。这对 AI 代理至关重要,因为它们旨在根据自然语言输入执行任务。

此次公告描述了该功能的两项改进。首先,引入了“JSON 模式”,保证响应为有效的 JSON,并应更严格地遵循指定的函数签名。此前,响应可能无效,从而需要在您的软件中编写严密的错误检测代码。

新功能应能简化 AI 代理的创建,使构建软件的自然语言接口更加容易。

总结

尽管 2023 年的生成式 AI 革命令人惊叹,但要将生成式 AI 融入其他软件,仍需相当的软工技能。Assistants API 有望在一定程度上降低这一门槛,帮助更多产品更快地采用该技术。

持续学习

DataCamp 提供多门课程,教您如何使用 OpenAI API。先从 Working with the OpenAI API 开始,然后继续学习 Introduction to Embeddings with the OpenAI API。

您还可以在 OpenAI Function Calling Tutorial 中了解函数调用 API。

主题