以魏明谷海線鐵路站點資料 做 file Retrieval vs function calling 的 比較
原始內容:https://medium.com/ai-人機協作/chatgpt-assistants-api-串接-line-message-api-實踐-架空海線鐵路站點-查詢-c90f3d5f789a
在這篇文章中,我們將詳細介紹如何使用 OpenAI PlayGround Assistant 測試文件(Files)和檢索(Retrieval)功能,並探討 function calling 的應用。
gpt-3.5-turbo-1106
,因為只有這個版本才支援 Retrieval 功能。Function calling 是一種讓模型呼叫預定義函數的功能,但它並非直接呼叫外部 API。以下是如何將自然語言轉換成 JSON schema 的過程:
轉換範例:
get_current_weather(location: string, unit: 'celsius' | 'fahrenheit')
轉換成 JSON schema:
{
"name": "get_weather",
"description": "Determine weather in my location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": [
"c",
"f"
]
}
},
"required": ["location"]
}
}
實例練習:
將 get_route(from: string, to: string)
轉換成 JSON schema:
{
"name": "get_route",
"description": "Calculates the route from one location to another",
"parameters": {
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Starting location"
},
"to": {
"type": "string",
"description": "Destination location"
}
},
"required": ["from", "to"]
}
}
添加選項:
將 from
和 to
的輸入限制為特定選項:
{
"name": "get_route",
"description": "Calculates the route from one location to another",
"parameters": {
"type": "object",
"properties": {
"from": {
"type": "string",
"enum": ["台中龍井", "伸港", "線西", "鹿港", "福興", "北溪湖", "二林", "芳苑", "大城", "六輕", "北港", "太保", "布袋", "學甲", "佳里", "台南"],
"description": "Starting location"
},
"to": {
"type": "string",
"enum": ["台中龍井", "伸港", "線西", "鹿港", "福興", "北溪湖", "二林", "芳苑", "大城", "六輕", "北港", "太保", "布袋", "學甲", "佳里", "台南"],
"description": "Destination location"
}
},
"required": ["from", "to"]
}
}
在 PlayGround 上進行測試:
將上述 JSON schema 加入 PlayGround。
測試時,輸入 from
和 to
的值,例如:{"from": "鹿港", "to": "大城"}
。
查看 runs
中的結果,應該顯示類似以下內容:
{
"required_action": {
"type": "submit_tool_outputs",
"submit_tool_outputs": {
"tool_calls": [
{
"id": "call_5PvWtMxkLMimA03h8GqpbabF",
"type": "function",
"function": {
"name": "get_route",
"arguments": "{\\"from\\":\\"鹿港\\",\\"to\\":\\"大城\\"}"
}
}
]
}
}
}
測試返回值:
這篇文章詳細介紹了如何在 OpenAI PlayGround 上測試 Files 和 Retrieval 功能,以及 function calling 的詳細步驟和應用。這些功能可以幫助我們更好地利用 OpenAI 的模型進行多樣化的測試和應用,從而提升我們的開發效率和應用效果。
我是 Wolke。我是一名專業程式開發者,專長是開發 AI 和程式解決方案。
•
我投入了不少時間在專業發展上。我是多本書的作者,其中包括《LINE聊天機器人+AI+雲端+開源+程式:輕鬆入門到完整學習》和《ChatGPT來襲,未來人人都需具備的運算思維!應用詠唱工程來釋放程式生產力—程式學習/開發篇》。也有出版線上課程,我熱衷於分享我的經驗和技術,幫助其他開發者更好地利用 AI 工具。
•
也在許多知名大學、論壇、社團擔任講者,如果貴方有需要也歡迎與我聯繫。
2023年 講座 紀錄
最後這篇文章若有切合你的需求,敬請訂閱按讚分享