簡介

在前一篇文章中,我們介紹了 OpenAI 的新函數調用功能,以及如何用它來查詢天氣。今天,我們將探討另一個實用的應用場景:庫存查詢。這個功能尤其適用於電子商務平台。

主要特點回顧

  1. 智能選擇函數調用:模型會根據用戶輸入選擇最適合的函數。
  2. 輸出結構化數據:模型會輸出一個包含所需參數的 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 的互操作性,也大大簡化了開發過程。

如果你有其他問題或想法,歡迎在下方留言討論!

最後修改日期: 2023 年 10 月 20 日

作者