簡介
在前一篇文章中,我們介紹了 OpenAI 的新函數調用功能,以及如何用它來查詢天氣。今天,我們將探討另一個實用的應用場景:庫存查詢。這個功能尤其適用於電子商務平台。
主要特點回顧
- 智能選擇函數調用:模型會根據用戶輸入選擇最適合的函數。
- 輸出結構化數據:模型會輸出一個包含所需參數的 JSON 物件。
實戰範例:庫存查詢
1. 定義函數
首先,我們需要定義一個用於查詢庫存的函數。
functions = [
{
"name": "check_inventory",
"type": "object",
"properties": {
"product_id": {"type": "string"}
}
}
]
2. 用戶輸入
假設用戶問:「iPhone 13 還有庫存嗎?」
3. 調用模型
使用以下 Python 代碼來調用模型。
import openai
openai.api_key = "your-api-key"
response = openai.ChatCompletion.create(
model="gpt-4-0613",
messages=[
{"role": "system", "content": "You are a helpful assistant for an e-commerce platform."},
{"role": "user", "content": "Is iPhone 13 in stock?"},
],
functions=functions
)
4. 模型輸出
模型會返回一個 function_call
物件,例如:
{
"name": "check_inventory",
"args": {
"product_id": "iPhone_13"
}
}
5. 外部調用
根據這個 function_call
物件,你可以調用相應的庫存查詢 API。
if function_call['name'] == 'check_inventory':
product_id = function_call['args']['product_id']
# 調用你的庫存查詢 API
結論
這個範例展示了如何使用 OpenAI 的新函數調用功能來實現更複雜的應用場景,如庫存查詢。這個功能不僅提高了模型與外部工具和 API 的互操作性,也大大簡化了開發過程。
如果你有其他問題或想法,歡迎在下方留言討論!