OpenAI 近期对其言语模型和 API 进行了一系列重要的更新和优化。所有这些模型都具有 OpenAI 在 3 月 1 日推出的相同的数据隐私和安全保证——客户拥有依据他们的恳求生成的所有输出,他们的 API 数据不会用于训练。
API 与功用改善
-
函数调用能力:为 Chat Completions API 引入了全新的函数调用功用。开发者现在能够描述函数给
gpt-4-0613
和gpt-3.5-turbo-0613
,并使模型智能地选择输出一个包含调用这些函数的参数的 JSON 对象。这是一个更可靠地将 GPT 的功用与外部工具和 API 连接起来的新方法。 -
API 更新:发布了更新且更易驾御的
gpt-4
和gpt-3.5-turbo
版别,为开发者供给了更高的可控性。 - 扩展上下文版别:发布了新的 gpt-3.5-turbo 16k 上下文版别(相较于标准的 4k 版别)。16k 上下文意味着模型现在能够在单次恳求中支撑约 20 页的文本。
函数调用示例
What’s the weather like in Boston right now?
现在波士顿的气候如何?
Step 1: OpenAI API
Call the model with functions and the user’s input
用函数和用户的输入调用模型
Request
curl https://api.openai.com/v1/chat/completions -u :$OPENAI_API_KEY -H 'Content-Type: application/json' -d '{
"model": "gpt-3.5-turbo-0613",
"messages": [
{"role": "user", "content": "What is the weather like in Boston?"}
],
"functions": [
{
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location"]
}
}
]
}'
Response
{
"id": "chatcmpl-123",
...
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": null,
"function_call": {
"name": "get_current_weather",
"arguments": "{ \"location\": \"Boston, MA\"}"
}
},
"finish_reason": "function_call"
}]
}
Step 2: Third party API
Use the model response to call your API
运用模型的呼应来调用你的API
Request
curl https://weatherapi.com/...
Response
{ "temperature": 22, "unit": "celsius", "description": "Sunny" }
Step 3: OpenAI API
Send the response back to the model to summarize
将呼应回来给模型进行总结
Request
curl https://api.openai.com/v1/chat/completions -u :$OPENAI_API_KEY -H 'Content-Type: application/json' -d '{
"model": "gpt-3.5-turbo-0613",
"messages": [
{"role": "user", "content": "What is the weather like in Boston?"},
{"role": "assistant", "content": null, "function_call": {"name": "get_current_weather", "arguments": "{ \"location\": \"Boston, MA\"}"}},
{"role": "function", "name": "get_current_weather", "content": "{\"temperature\": "22", \"unit\": \"celsius\", \"description\": \"Sunny\"}"}
],
"functions": [
{
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location"]
}
}
]
}'
Response
{
"id": "chatcmpl-123",
...
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "The weather in Boston is currently sunny with a temperature of 22 degrees Celsius.",
},
"finish_reason": "stop"
}]
}
The weather in Boston is currently sunny with a temperature of 22 degrees Celsius.
波士顿的气候现在是晴朗的,温度为 22 摄氏度。
新模型发布
-
GPT-4:发布了包含函数调用在内的更新和改善的
gpt-4-0613
模型,以及具有扩展上下文长度的 gpt-4-32k-0613 模型,以便更好地理解更大的文本。 -
GPT-3.5 Turbo:
gpt-3.5-turbo-0613
模型包含与 GPT-4 相同的函数调用功用,以及经过系统消息更可靠地控制能力,这两个特性使开发者能够更有效地辅导模型的呼应。
模型退役
OpenAI 将开端为在 3 月份发布的 gpt-4
和 gpt-3.5-turbo
的初代版别进行晋级和退役。在 6 月 27 日,运用安稳模型称号的应用程序(gpt-3.5-turbo
,gpt-4
和 gpt-4-32k
)将主动晋级为新版别。需求更多时刻过渡的开发者能够经过在 API 恳求中指定模型参数来继续运用旧模型,这些旧模型将一向可用到 9 月 13 日。
价格调整
-
嵌入模型价格降低:将最受欢迎的嵌入模型
text-embedding-ada-002
的价格降低了 75%,至每 1K tokens $0.0001。 -
GPT-3.5 Turbo 价格调整:
gpt-3.5-turbo
的输入 tokens 的成本降低了 25%,现在,开发者能够仅以每 1K 输入tokens 0.0015和每1K输出tokens0.0015 和每 1K 输出 tokens 0.002 的价格运用该模型,约等于每美元 700 页。gpt-3.5-turbo-16k
将定价为每 1K 输入 tokens 0.003和每1K输出tokens0.003 和每 1K 输出 tokens 0.004。
总结
更强大的函数调用能力,更新且更易驾御的模型版别,以及上下文长度的扩展,这些都进一步优化了开发者的用户体会。此外,还调整了模型的定价战略,降低了嵌入模型和 GPT-3.5 Turbo 的价格,进一步提高了其产品的性价比。
参阅
- Blog: Function calling and other API updates
- GPT-4 API waitlist
- 开发文档: Function calling
- 模型抛弃: Deprecations
- openai/evals: Evals 是一个用于评估 LLMs 和 LLM 系统的结构,同时也是一个基准测验的开源注册表。