OpenAI 2023 年的这些目标正在逐一实现。从 ChatGPT 推出至今,短短几个月,OpenAI 在 GPT-3.5 Turbo、GPT-4 等这些模型的基础上构建了令人难以置信的应用程序。当地时间 6 月 13 日,OpenAI 发布函数调用及其他 API 更新,具体包括:
- 在 Chat Completions API 中新增新的函数调用,能让模型在需要的时候调用函数并生成对应的 JSON 对象作为输出;
- 更新和更可操纵版本的 GPT-4 和 GPT-3.5 Turbo;
- 16k 上下文版本的 gpt-3.5-turbo(标准的是 4k 版本);
- 最先进的嵌入模型(embeddings model)成本降低了 75%;
- gpt-3.5-turbo 输入 token 成本降低 25%;
- 宣布 gpt-3.5-turbo-0301 和 gpt-4-0314 型号的弃用时间表。
OpenAI 表示:API 中的 GPT-4 和 GPT-3.5 Turbo 模型现在支持调用用户自定义函数,允许模型使用用户为其设计的工具。此外,用户使用模型的价格降低了,OpenAI 也发布了一些新的型号版本(包括 16k 上下文 GPT-3.5 Turbo):
函数调用
现在开发人员可以向 gpt-4-0613 和 gpt-3.5-turbo-0613 描述函数,并让模型智能地选择输出一个包含调用这些函数所需参数的 JSON 对象。这是一种更可靠地将 GPT 的能力与外部工具和 API 连接起来的新方法。
模型经过微调,既可以检测何时需要调用函数(取决于用户的输入),又可以使用符合函数签名的 JSON 进行响应。函数调用使开发人员可以更可靠地从模型中获取结构化数据。例如,开发人员可以:
- 创建聊天机器人,通过调用外部工具来回答问题:
例如将诸如「给 Anya 发电子邮件,问问她下周五是否想喝咖啡」之类的查询转换为函数调用 send_email (to: string, body: string) ;或者将「波士顿的天气怎么样?」 转换为 get_current_weather (location: string, unit: 'celsius' | 'fahrenheit')。
- 将自然语言转换为 API 调用或数据库查询:
例如将「谁是我这个月的十大客户?」转换为内部 API 调用 get_customers_by_revenue (start_date: string, end_date: string, limit: int);又或者将「Acme 公司上个月下了多少订单?」转化为 SQL 查询 sql_query (query: string)。
- 从文本中提取数据结构:
例如定义一个名为 extract_people_data (people: [{name: string, birthday: string, location: string}]) 的函数,用来提取维基百科中提到的所有人。
以上这些用例由 /v1/chat/completions 端点、functions 和 function_call 中的新 API 参数启用,允许开发人员通过 JSON 模式向模型描述函数,并选择要求它调用特定函数。
函数调用示例
例如用户询问「现在波士顿的天气怎么样?」,经过一系列处理后,最终模型输出答案:「波士顿目前天气晴朗,气温为 22 摄氏度。」
下图对应上图中的第一步,包括请求和响应:
新模型
首先是 GPT-4:
- gpt-4-0613 包含了一个更新和改进的函数调用模型。
- gpt-4-32k-0613 包括与 gpt-4-0613 相同的改进,以及扩展的上下文长度,以理解更大的文本。
然后是 GPT - 3.5 Turbo:
- gpt-3.5-turbo-0613 包含与 GPT-4 相同的函数调用,以及通过系统消息更可靠的可操作性,开发人员可以利用这两个特性更加有效地指导模型进行响应。
- gpt-3.5-turbo-16k 提供的上下文长度是 gpt-3.5-turbo 的 4 倍,价格是 gpt-3.5-turbo 的两倍:每 1K 输入 token 0.003 美元,每 1K 输出 token 0.004 美元。16k 上下文意味着该模型现在可以在单个请求中支持大约 20 页的文本。
模型弃用
3 月发布的 gpt-4 和 gpt-3.5-turbo 的初始版本将进行弃用和升级。应用程序将使用更稳定的模型 gpt-3.5-turbo、 gpt-4 和 gpt-4-32k,这些模型将于 6 月 27 日自动升级。如果大家想对不同版本的模型进行比较,可以使用 Eval 库进行公共和私有评估。
此外,那些需要过渡时间的开发人员可以继续使用旧版本的模型 gpt-3.5-turbo-0301、gpt-4-0314 或 gpt-4-32k-0314,但在 9 月 13 号之后,在请求使用这些模型,将会失败。想要了解更多模型弃用消息,可参考:
模型弃用查询:https://platform.openai.com/docs/deprecations/
此外,本次更新价格更低了,Text-embedding-ada-002 是嵌入系统最流行的嵌入模型。如今,其成本降低了 75%,低至每 1K token 0.0001 美元。
最后,还有大家比较关注的 GPT - 3.5 Turbo,其为数百万用户提供了 ChatGPT 功能。现今,gpt-3.5-turbo 的输入 token 成本降低了 25%。开发人员现在使用这个模型,每 1K 输入 token 只需 0.0015 美元,每 1K 输出 token 只需 0.002 美元,这相当于每美元大约 700 页。