定義 function calling

使用 OpenAI API 開發 AI 系統

Francesca Donadoni

Curriculum Manager, DataCamp

OpenAI 的工具

 

  • 可回傳更具體的資訊
  • 可定義更精確的結構
  • 強化 API 呼叫的能力

兩人操作工具與大型螢幕的插圖

使用 OpenAI API 開發 AI 系統

OpenAI 的工具

一個圖表顯示使用者訊息送到 OpenAI API,回應連到智慧家庭

使用 OpenAI API 開發 AI 系統

OpenAI 的工具

一個圖表顯示使用者訊息以 tools 選項送到 OpenAI API,回應連到含燈泡的智慧家庭

使用 OpenAI API 開發 AI 系統

什麼是 function calling?

response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[
   {"role": "user", 
   "content": "Please write down four trees with their scientific names in json."}
 ],
  response_format={"type": "json_object"}
)
print(response.choices[0].message.content)
{"trees": [{"common_name": "Oak", "scientific_name": "Quercus"}, { "common_name": 
"Maple", "scientific_name": "Acer"}, {"common_name": "Pine", "scientific_name": 
"Pinus"}, {"common_name": "Birch", "scientific_name": "Betula"}]}
使用 OpenAI API 開發 AI 系統

為什麼要用 function calling?

 

{"trees": [
           {"common_name": "Oak", 
           "scientific_name": "Quercus"}, 
           { "common_name": "Maple", 
           "scientific_name": "Acer"}, 
           {"common_name": "Pine", 
           "scientific_name": "Pinus"}, 
           {"common_name": "Birch", 
           "scientific_name": "Betula"}
           ]
}

 

{"Oak": "Quercus",
 "Maple": "Acer",
 "Pine": "Pinus", 
 "Birch": "Betula"}
使用 OpenAI API 開發 AI 系統

function calling 的應用情境

 

從非結構到一致的結構化輸出

  一個人用手機控制家中溫度的插圖

使用 OpenAI API 開發 AI 系統

function calling 的應用情境

 

呼叫多個函式以提供複合回應

顧客與客服機器人聊天的插圖

使用 OpenAI API 開發 AI 系統

function calling 的應用情境

 

呼叫外部 API

一位女性站在顯示紐約天氣資訊的螢幕旁

使用 OpenAI API 開發 AI 系統

一起來練習吧!

使用 OpenAI API 開發 AI 系統

Preparing Video For Download...