[AI OpenAI-doc] 迁移指南 Beta

news2025/1/12 23:11:49

我们已经改变了助手 API 在 beta 的 v1 版本和 v2 版本之间工具和文件的工作方式。今天,通过 API,两个 beta 版本仍然可以访问,但我们建议尽快迁移到我们 API 的最新版本。我们将在 2024 年底之前废弃 beta 的 v1 版本。

如果您今天不使用助手 API 的工具或文件,那么从 v1 版本迁移到 beta 的 v2 版本应该不需要进行任何更改。只需传递 v2 beta 版本头文件和/或迁移到我们的 Node 和 Python SDK 的最新版本即可!

发生了什么变化

助手 API 的 v2 版本包含以下变化:

  1. 工具重命名:检索工具已更名为文件搜索工具
  2. 文件属于工具:文件现在与工具而不是助手和消息相关联。这意味着:
    • AssistantFile 和 MessageFile 对象不再存在。
    • 不再使用 AssistantFile 和 MessageFile,而是使用新的 tool_resources 对象将文件附加到助手和线程上。
      • 代码解释器工具的 tool_resources 是一个文件 ID 的列表。
      • 文件搜索工具的 tool_resources 是一个称为 vector_stores 的新对象。
    • 消息现在具有附件,而不是 file_ids 参数。消息附件是帮助程序,将文件添加到线程的 tool_resources 中。
      在这里插入图片描述
      助手现在具有工具和工具资源,而不是 file_ids。检索工具现在是文件搜索工具。文件搜索工具的工具资源是一个 vector_store。
      在这里插入图片描述
      线程可以将其自己的工具资源带入对话中。
      在这里插入图片描述
      消息具有附件,而不是文件ID。附件是将文件添加到线程的工具资源的助手。

您可以在 API 参考的“遗留”部分中找到助手 API 的所有 v1 端点和对象。

在 v2 中访问 v1 数据

为了使您在我们的 v1 和 v2 API 之间进行简单的迁移,我们会自动将 AssistantFiles 和 MessageFiles 映射到相应的 tool_resources,这取决于助手或运行中启用的工具。

V1 VERSIONV2 VERSION
AssistantFiles for code_interpreterfile_ids on AssistantFiles in an Assistant’s tool_resources.code_interpreter
AssistantFiles for retrievalfile_ids on AssistantFiles in a vector_store attached to an Assistant (tool_resources.file_search)
MessageFiles for code_interpreterfile_ids on MessageFiles in a Thread’s tool_resources.code_interpreter
MessageFiles for retrievalfile_ids on MessageFiles in a vector_store attached to a Thread (tool_resources.file_search)

需要注意的是,虽然来自 v1 的 file_ids 被映射到 v2 的 tool_resources,但反之则不成立。您在 v2 中对 tool_resources 进行的更改不会在 v1 中反映为 file_ids。

因为助手文件和消息文件已经在 v2 中映射到了相应的 tool_resources,所以当您准备迁移到 v2 时,您不必担心数据迁移。相反,您只需要:

  • 更新集成以反映新的 API 和对象。您可能需要做一些事情,比如:
    • 如果您使用的是检索工具,则迁移到创建向量存储并使用 file_search。重要的是,由于这些操作是异步的,您需要确保文件在创建运行之前已成功被向量存储摄取。
    • 如果您使用的是代码解释器工具,则迁移到将文件添加到 tool_resources.code_interpreter,而不是添加到助手或消息的文件中。
    • 如果您使用的是文件ID,则迁移到使用消息附件。
  • 升级到我们 SDK 的最新版本。

更改 beta 版本

没有 SDKs

您可以通过在 API 请求中传递正确的 API 版本头来访问两个 beta 版本:

  1. v1: OpenAI-Beta: assistants=v1
  2. v2: OpenAI-Beta: assistants=v2
curl "https://api.openai.com/v1/assistants" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v2" \
  -d '{
    "instructions": "You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
    "name": "Math Tutor",
    "tools": [{"type": "code_interpreter"}],
    "model": "gpt-4-turbo"
  }'

使用 SDKs

在发布 v2 beta 后发布的 SDKs 版本将默认将 openai.beta 命名空间指向 API 的 v2 版本。您仍然可以通过使用旧版本的 SDK(对于 python,使用 1.20.0 或更早版本,对于 node,使用 4.36.0 或更早版本)或者覆盖版本头来访问 API 的 v1 版本。

要安装旧版本的 SDK,您可以使用以下命令:

pip install openai==1.20.0

您也可以在较新的 SDK 版本中覆盖此标头,但我们不建议此方法,因为这些新 SDK 版本中的对象类型将与 v1 对象不同。

from openai import OpenAI

client = OpenAI(default_headers={"OpenAI-Beta": "assistants=v1"})

计费

在 v2 API 发布之前(2024年4月17日)创建的所有向量存储空间将在 2024 年底之前免费使用。这意味着在 v2 发布之前,由于我们将您的 v1 数据映射到 v2 而创建的任何向量存储空间都将免费。在 2024 年底之后,它们将按照当时的向量存储费用计费。请查看我们的定价页面获取最新的定价信息。

在 v2 API 发布之前(2024年4月17日)创建的任何向量存储空间,但在该发布日期和 2024 年底之间的某一日期之间未在单个运行中使用的将被删除。这是为了避免我们开始向您收费您在测试版期间创建但从未使用的内容。

在 v2 API 发布之后创建的向量存储空间将按照定价页面上指定的当前费率计费。

删除文件

通过 v1 API 删除助手文件 / 消息文件也会将它们从 v2 API 中删除。然而,反之则不成立 - 在 v2 版本的 API 中进行的删除不会传播到 v1。如果您在 v1 上创建了一个文件,并希望在 v1 和 v2 上的帐户中 “完全” 删除文件,您应该:

  • 使用 v1 端点使用 v1 API 删除您使用 v1 API 创建的助手文件 / 消息文件,或者
  • 删除底层文件对象 - 这样可以确保它在所有版本的 API 中的所有对象中完全删除。

Playground

默认的 Playground 体验已迁移到使用 v2 版本的 API(您仍然可以查看 v1 版本对象的只读视图,但无法编辑它们)。通过 Playground 对工具和文件进行的任何更改只能在 v2 版本的 API 中访问。

为了在 v1 版本的 API 中对文件进行更改,您需要直接使用 API。


  • 官网
  • 本文
    • 博客 - 从零开始学AI
    • 公众号 - 从零开始学AI
    • CSDN - 从零开始学AI
    • 掘金 - 从零开始学AI
    • 知乎 - 从零开始学AI
    • 阿里云 - 从零开始学AI
    • 腾讯云 - 从零开始学AI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1650691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

套管外径测量仪 多尺寸型号 规格全可定制

套管(bushing)是一种将带电导体引入电气设备或穿过墙壁的一种绝缘装置。前者称为电器套管,后者称为穿墙套管。套管通常用在建筑地下室,是用来保护管道或者方便管道安装的铁圈。套管的分类有刚性套管、柔性防水套管、钢管套管及铁皮…

SpringBoot中HandlerInterceptor拦截器的构建详细教程

作用范围:拦截器主要作用于Spring MVC的DispatcherServlet处理流程中,针对进入Controller层的请求进行拦截处理。它基于Java的反射机制,通过AOP(面向切面编程)的思想实现,因此它能够访问Spring容器中的Bean…

Python-VBA函数之旅-property函数

目录 一、property函数的常见应用场景 二、property函数使用注意事项 三、如何用好property函数? 1、property函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:神奇夜光杯-CSDN博客 一、prop…

【北京迅为】《iTOP-3588开发板源码编译手册》-第4章 Android12/Linux设备树简介

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

4.【Orangepi Zero2】Linux定时器(signal、setitimer),软件PWM驱动舵机(SG90)

Linux定时器(signal、setitimer),软件PWM驱动舵机(SG90) signalsetitimer示例 软件PWM驱动舵机(SG90) signal 详情请看Linux 3.进程间通信(shmget shmat shmdt shmctl 共享内存、si…

帆软报表实现填报报表

我们拿emp表举例 登记信息表 设计一个报表实现对emp表员工的登记 (emp表为ORACLE自带用户scott下的一个表) 首先,我们设计好填报界面,新建一个普通报表,将emp表中需要的输入一一回应填写进表中。 如下图所示&#xf…

代码随想录Day 40|Leetcode|Python|139.单词拆分 ● 关于多重背包,你该了解这些! ● 背包问题总结篇!

139.单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 解题思路: 确定dp数组含义…

如何去官网下载windows10操作系统iso镜像

文章目录 一、先从微软中国官网https://www.microsoft.com/zh-cn/进去二、然后按图示一步步点进去三、点击下载工具这个工具会帮你生成windows操作系统iso文件四、下载好后一步步按图示要求成功操作 一、先从微软中国官网https://www.microsoft.com/zh-cn/进去 二、然后按图示一…

【牛客】排列计算

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 如果直接涂色来计算单点权重&#xff0c;2e5*2e5必然超时。 所以用差分进行优化。 3. 代码实现 #include<bits/stdc.h> using name…

【工作记录】openjdk-22基础镜像的构建

背景 近期使用到的框架底层都用的是springboot3.0&#xff0c;要求jdk版本在17甚至更高。 于是决定制作一个基于openjdk22的基础镜像&#xff0c;本文对这一过程进行记录。 作为记录的同时也希望能够帮助到需要的朋友。 期望效果 容器内可以正常使用java相关命令且版本是2…

vm虚拟机安装网络适配器驱动卡死/无响应/无限等待状态

大部分原因都是以前的vm没有卸载干净所导致的&#xff0c;只需要使用CCleaner清楚干净就好 使用控制面板里的卸载把VM卸载干净 使用CCleaner软件删除干净注册表&#xff0c;这个软件百度很容易找到&#xff0c;只有十兆左右 打开下载好的软件&#xff0c;不需要注册码&#xff…

保研面试408复习 2——操作系统、计网

文章目录 1、操作系统一、进程、线程的概念以及区别&#xff1f;二、进程间的通信方式&#xff1f; 2、计算机网络一、香农准则二、协议的三要素1. 语法2. 语义3. 时序 标记文字记忆&#xff0c;加粗文字注意&#xff0c;普通文字理解。 1、操作系统 一、进程、线程的概念以及…

Pycharm无法链接服务器环境(host is unresponsived)

困扰了很久的一个问题&#xff0c;一开始是在服务器ubuntu20.04上安装pycharm community&#xff0c;直接运行服务器上的pycharm community就识别不了anaconda中的环境 后来改用pycharm professional也无法远程连接上服务器的环境&#xff0c;识别不了服务器上的环境&#xff…

ASP.NET网上鲜花销售系统的设计

摘 要 本系统实现了一般电子商务所具备的功能&#xff0c;如商品浏览、用户登录注册、网上与购物、结算、后台数据库管理等&#xff0c;利用这些功能可以对鲜花销售信息进行较好的管理。 网上鲜花销售系统的使用者主要是客户和销售管理者&#xff0c;对于客户来说&#xff0…

小米手机miui14 android chrome如何取消网页自动打开app

搜索媒体打开应用 选择你要阻止打开的app&#xff0c;以github为例 取消勾选打开支持的链接。 参考&#xff1a;https://www.reddit.com/r/chrome/s/JBsGkZDkRZ

期权怎么开户?

今天期权懂带你了解期权怎么开户&#xff1f;近年来&#xff0c;随着股市的持续低迷&#xff0c;市场交易痛点越发明显的氛围中&#xff0c;所以有人看到了双向交易的期权。 期权怎么开户&#xff1f; 1、首先是证券账户内的资金需要满足50万保留20个交易日&#xff1b; 2、其…

算法提高之树的最长路径

算法提高之树的最长路径 核心思想&#xff1a;树形dp 枚举路径的中间节点用f1[i] 表示i的子树到i的最长距离,f2[i]表示次长距离最终答案就是max(f1[i]f2[i]) #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N …

Python批量计算多张遥感影像的NDVI

本文介绍基于Python中的gdal模块&#xff0c;批量基于大量多波段遥感影像文件&#xff0c;计算其每1景图像各自的NDVI数值&#xff0c;并将多景结果依次保存为栅格文件的方法。 如下图所示&#xff0c;现在有大量.tif格式的遥感影像文件&#xff0c;其中均含有红光波段与近红外…

便捷的驾驶证识别API,简化工作流程

随着社会的发展和人们生活水平的提高&#xff0c;机动车的数量也越来越多。为了确保交通安全和减少违法行为&#xff0c;每个驾驶机动车的人都需要携带驾驶证。然而&#xff0c;识别驾驶证上的信息却是一个繁琐的过程。为了简化这个工作流程&#xff0c;提高工作效率&#xff0…