GPT-4 Turbo Assistants API

Assistants API

Assistants API 允许您在自己的应用程序中构建 AI 助手。助手有指令,可以利用模型、工具和知识来响应用户查询。Assistants API 目前支持三种类型的工具:代码解释器、检索和函数调用。未来,我们计划发布更多 OpenAI 构建的工具,并允许您在我们的平台上提供自己的工具。

您可以使用Assistants Playground或通过构建本指南中概述的分步集成来探索 Assistants API 的功能。从较高层面来看,Assistants API 的典型集成具有以下流程:

  1. 通过定义其自定义指令并选择模型来在 API 中创建助手。如果有帮助,请启用代码解释器、检索和函数调用等工具。
  2. 当用户开始对话时创建一个线程。
  3. 当用户提问时将消息添加到线程中。
  4. 在线程上运行助手以触发响应。这会自动调用相关工具。

本入门指南逐步介绍了创建和运行使用代码解释器的助手的关键步骤。

第 1 步:创建助手

助手代表一个实体,可以配置为使用多个参数响应用户的消息,例如:

  • 说明:助理和模特应如何表现或回应
  • 模型:您可以指定任何 GPT-3.5 或 GPT-4 模型,包括微调模型。检索工具需要gpt-3.5-turbo-1106gpt-4-1106-preview模型。
  • 工具:API 支持由 OpenAI 构建和托管的代码解释器和检索。
  • 函数:API 允许您定义自定义函数签名,其行为与我们的函数调用功能类似。

在此示例中,我们将创建一个作为个人数学导师的助手,并启用代码解释器工具:

调用 Assistants API 要求您传递 beta HTTP 标头。如果您使用 OpenAI 的官方 Python 或 Node.js SDK,则会自动处理此问题。

text 复制代码
OpenAI-Beta: assistants=v1

升级到 Python SDK v1.2 使用 pip install --upgrade openai

python 复制代码
assistant = client.beta.assistants.create(
    name="Math Tutor",
    instructions="You are a personal math tutor. Write and run code to answer math questions.",
    tools=[{"type": "code_interpreter"}],
    model="gpt-4-1106-preview"
)

第 2 步:创建线程

一个线程代表一个对话。我们建议在用户发起对话后立即为每个用户创建一个线程。通过创建消息在此线程中传递任何特定于用户的上下文和文件。

升级到 Python SDK v1.2 使用 pip install --upgrade openai

python 复制代码
thread = client.beta.threads.create()

线程没有大小限制。您可以向线程传递任意数量的消息。API 将使用截断等相关优化技术来确保对模型的请求适合最大上下文窗口。

第 3 步:向主题添加消息

消息包含用户的文本以及用户上传的任何文件(可选)。目前不支持图像文件,但我们计划在未来几个月内添加对它们的支持。

升级到 Python SDK v1.2 使用 pip install --upgrade openai

python 复制代码
message = client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
)

现在,如果您在 Thread 中列出消息,您将看到该消息在创建时添加到线程中:

json 复制代码
{
  "object": "list",
  "data": [
    {
      "created_at": 1696995451,
      "id": "msg_4rb1Skx3XgQZEe4PHVRFQhr0",
      "object": "thread.message",
      "thread_id": "thread_34p0sfdas0823smfv",
      "role": "user",
      "content": [{
        "type": "text",
        "text": {
          "value": "I need to solve the equation `3x + 11 = 14`. Can you help me?",
          "annotations": []
        }
          }],
        ...

第四步:运行助手

为了让助手响应用户消息,您需要创建一个Run。这使得助手读取线程并决定是调用工具还是简单地使用模型来最好地回答用户查询。随着运行的进行,助手将消息附加到带有role="assistant".

您可以选择在创建运行时向助手传递附加指令:

升级到 Python SDK v1.2 使用 pip install --upgrade openai

python 复制代码
run = client.beta.threads.runs.create(
  thread_id=thread.id,
  assistant_id=assistant.id,
  instructions="Please address the user as Jane Doe. The user has a premium account."
)

#### 第 5 步:显示助理的响应 这将创建"运行"状态`queued`。您可以定期检索运行以检查其[状态](https://platform.openai.com/docs/assistants/how-it-works/run-lifecycle),看看它是否已移至`completed`. 升级到 [Python SDK v1.2](https://github.com/openai/openai-python/tree/main#installation) 使用 pip install --upgrade openai ```python run = client.beta.threads.runs.retrieve( thread_id=thread.id, run_id=run.id ) ``` 运行完成后,您可以检索助手添加到线程的消息。 升级到 [Python SDK v1.2](https://github.com/openai/openai-python/tree/main#installation) 使用 pip install --upgrade openai ```python messages = client.beta.threads.messages.list( thread_id=thread.id ) ``` 最后,将它们显示给用户!在此运行期间,助理向线程添加了两条新消息。 | 角色 | 内容 | |-------------|------------------------------------------------------------------------------------------------------------------------------------------| | `user` | 我需要解方程`3x + 11 = 14`。你能帮助我吗? | | `assistant` | 当然,简·多伊。`(3x + 11 = 14)`要求解的方程`(x)`,您需要`(x)`在方程的一侧进行隔离。您可以按照以下方法执行此操作:1. 等式两边同时减去11,得到`(3x = 3)`。2. 然后,两边除以 3 即可解出`(x)`。`(x)`让我为您计算一下价值。 | | `assistant` | 方程的解`(3x + 11 = 14)`为`(x = 1)`。 |

相关推荐
量子位2 天前
GPT-5编程专用版发布!独立连续编程7小时,简单任务提速10倍,VS Code就能用
gpt·chatgpt
Code_流苏3 天前
AI热点周报(9.7~9.13):阿里Qwen3-Next震撼发布、Claude 增强记忆与服务抖动、OpenAI 聚焦模型规范化...
人工智能·gpt·ai·openai·claude·qwen3-next·架构创新
gptplus4 天前
【重要通知】ChatGPT Plus将于9月16日调整全球充值定价,低价区将被弃用,开发者如何应对?
人工智能·gpt·chatgpt
nju_spy4 天前
GPT 系列论文1-2 两阶段半监督 + zero-shot prompt
人工智能·gpt·nlp·大语言模型·zero-shot·transformer架构·半监督训练
*星星之火*4 天前
【GPT入门】第67课 多模态模型实践: 本地部署文生视频模型和图片推理模型
gpt
技术程序猿华锋4 天前
深度解码OpenAI的2025野心:Codex重生与GPT-5 APIKey获取调用示例
人工智能·vscode·python·gpt·深度学习·编辑器
钝挫力PROGRAMER5 天前
GPT与BERT BGE
人工智能·gpt·bert
edisao6 天前
[特殊字符] 从助手到引擎:基于 GPT 的战略协作系统演示
大数据·人工智能·gpt
陈敬雷-充电了么-CEO兼CTO6 天前
BLIP-2革新多模态预训练:QFormer桥接视觉语言,零样本任务性能飙升10.7%!
人工智能·gpt·机器学习·机器人·多模态·blip·多模态大模型
安思派Anspire7 天前
GPT-OSS 深度解析:OpenAI 最新大语言模型(LLM)架构
gpt·语言模型·架构