开放AI官方近日宣布了一系列更新,其中包括更多可控制的API模型、功能调用能力、更长的上下文以及更低的价格。 今年早些时候,我们发布了gpt-3.5-turbo和gpt-4模型,仅仅在短短几个月内,我们就看到开发者们基于这些模型构建了令人惊叹的应用程序。
2023年6月13日,我们继续推出一些令人振奋的更新:
Chat Completions API中新增了功能调用能力。 更新并增加了gpt-4和gpt-3.5-turbo的可控制版本。 gpt-3.5-turbo新增了16k上下文版本(相比标准的4k版本)。 我们的最先进的嵌入模型价格降低了75%。 gpt-3.5-turbo的输入标记价格降低了25%。 公告了gpt-3.5-turbo-0301和gpt-4-0314模型的废弃时间表。 所有这些模型都提供与我们在3月1日引入的数据隐私和安全保证相同的服务。客户拥有其请求生成的所有输出,并且其API数据不会被用于训练。
功能调用 开发者现在可以向gpt-4-0613和gpt-3.5-turbo-0613描述功能,并让模型智能地选择输出一个包含调用这些函数参数的JSON对象。这是一种更可靠地将GPT的能力与外部工具和API相连接的新方法。
这些模型经过了精细调优,既可以检测到何时需要调用函数(取决于用户的输入),又可以响应符合函数签名的JSON。功能调用使开发者能够更可靠地从模型中获取结构化数据。例如,开发者可以:
通过调用外部工具(例如ChatGPT插件)创建能够回答问题的聊天机器人。 将查询如“给Anya发电子邮件,看看她下周五是否想喝咖啡”转化为像send_email(to: string, body: string)这样的函数调用,或者将“波士顿的天气如何?”转化为get_current_weather(location: string, unit: 'celsius' | 'fahrenheit')。
将自然语言转化为API调用或数据库查询。 将“这个月我的前十个客户是谁?”转化为get_customers_by_revenue(start_date: string, end_date: string, limit: int)这样的内部API调用,或者将“上个月Acme公司下了多少订单?”转化为使用sql_query(query: string)的SQL查询。
从文本中提取结构化数据。 定义一个名为extract_people_data(people: [{name: string, birthday: string, location: string}])的函数,以提取维基百科文章中提及的所有人物。
这些用例是通过我们的/v1/chat/completions端点中的新API参数functions和function_call实现的,开发者可以通过JSON Schema向模型描述函数,并可选择要求模型调用特定的函数。如需了解更多信息,请查阅我们的开发者文档,并在发现功能调用可以改进的情况下添加评估。