Open AI 近期 (6/14) 宣布調降 API 費用最高達 75%,同時也推出 16K 版本的 gpt-3.5 turbo 模型,同時也強化了 Completion API 與其他應用程式的整合能力,讓開發商可以更快速將 AI 語言模型穩定導入到系統中。
推出 3 個新模型,更易控制、使用更有彈性
隨著 OpenAI 模型的成長,這次推出了幾個新模型:
GPT-4
- gpt4-0613:包含新的更新以及函數 (function call) 功能
- gpt-4-32k-0613:同樣包含 gpt-4-0613 的改進內容。
此外,OpenAI 也宣布這次更新會再開放更多等待清單中的人使用 GPT-4 模型 API。
GPT 3.5 Turbo
新的 gpt-3.5-turbo-0613 模型包含和 GPT-4 一樣的函數呼叫能力,讓開發商可以更流暢的將 AI 導入系統,增加更多對 AI 模型回應的控制力。
針對指令長度不足的問題,這次更新終於有了解決方法,新的 gpt-3.5-turbo-16k 模型一口氣將 token 數量拉高 4 倍,適合更複雜、需要更多互動的使用情境。
大降 API 使用成本,最高降幅 75%
價格的部分,目前最多人開發商使用的 gpt-3.5-turbo 模型 tokens 價格降低了 25%,現在每 1,000 個 tokens 的輸入價格為 0.0015 美元;輸出價格則為 0.002 美元,相當於每 1 美元約可產生 700 頁的文字內容。
gpt-3.5-turbo-16k 版本的訂價則為每 1,000 個 tokens 的輸入價格為 0.003 美元;輸出價格則為 0.004 美元。
最常被使用的 embeddings 模型 text-embedding-ada-002 也大幅降價,新公布的價格將降低 75% 使用成本,每 1,000 tokens 只需要 0.0001 美元。
函數呼叫功能,讓 AI 幫應用程式更智慧
這次更新的函數呼叫 (Function Calling) 功能可以讓開發人員透過 API 將系統內部的函數定義 (如名稱、功能描述、參數) 傳送給模型,模型會根據與使用者互動的內容來決定是否需要應用程式提供更多的資料。
不過和一般應用程式開發不同的是:GPT 模型並不會直接呼叫應用程式提供的函數,而是將模型認為需要呼叫的函數、參數等資料回拋給應用程式,應用程式執行這些函數後再將結果拋回 GPT 模型。
{
"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"
}]
}
當應用程式執行所有函數呼叫後,再將結果傳回給 GPT 模型
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"]
}
}
]
}'
最後,模型會將應用程式回傳的結果作為回覆給使用者內容的一部分,透過這樣的過程,讓一般應用程式可以更快速導入 AI 能力。