OpenAI發布全新函數調用指南,助開發者擴展模型能力!此指南整合了用戶反饋,篇幅縮短50%,內容更清晰,並包含最佳實踐、文檔內函數生成以及使用天氣API的完整示例。 OpenAI致力於簡化AI工具,使其更易於開發者使用,從而更有效地利用函數調用功能。
OpenAI發布全新函數調用指南!
我們根據您的反饋做出了重要改進:
– 篇幅縮短50%,更清晰易懂 – 新增最佳實踐(詳情見下文?) – 支持文檔內函數生成! – 提供使用天氣API的完整功能示例
查看指南並分享您的想法… pic.twitter.com/Id89E9PEff
— ilan bigio (@ilanbigio) January 13, 2025
目錄
- OpenAI函數調用工作原理?
- 快速示例:天氣API
- 步驟1:定義函數
- 步驟2:使用已定義函數調用模型
- 步驟3:執行函數
- 步驟4:向模型提供結果
- 步驟5:獲取最終響應
- 函數調用的最佳實踐
- 總結
OpenAI函數調用工作原理?
函數調用允許OpenAI模型與開發者定義的工具交互,使其能夠執行超出文本或音頻生成的更多任務。以下是簡化的流程:
- 定義函數: 創建一個模型可以調用的函數(例如,get_weather)。
- 模型決定調用函數: 基於系統提示和用戶輸入,模型確定何時調用函數。
- 執行函數: 運行函數代碼並返回結果。
- 整合結果: 模型使用函數的輸出生成最終響應。
該圖片展示了開發者和AI模型之間函數調用的流程。以下是分步說明:
- 工具定義 消息: 開發者定義工具(函數)並發送消息。在本例中,定義了get_weather(location)函數,用戶詢問:“巴黎的天氣如何?”
- 工具調用: 模型識別需要使用參數“paris”調用get_weather函數。
- 執行函數代碼: 開發者(或系統)執行實際的get_weather(“paris”)函數。函數返迴響應,例如:{“temperature”: 14}。
- 結果: 函數的結果({“temperature”: 14})與所有先前消息一起返回給模型。
- 最終響應: 模型使用函數結果生成自然語言響應,例如:“巴黎目前的溫度是14°C。”
另請閱讀:支持函數調用的6大頂級LLM
快速示例:天氣API
讓我們來看一個使用get_weather函數的實際示例。此函數檢索給定坐標的當前溫度。
步驟1:定義函數
<code>import requests def get_weather(latitude, longitude): response = requests.get(f"https://api.open-meteo.com/v1/forecast?latitude={latitude}&longitude={longitude}¤t=temperature_2m,wind_speed_10m&hourly=temperature_2m,relative_humidity_2m,wind_speed_10m") data = response.json() return data['current']['temperature_2m']</code>
步驟2:使用已定義函數調用模型
<code>from openai import OpenAI import json client = OpenAI(api_key="sk-api_key”) tools = [{ "type": "function", "function": { "name": "get_weather", "description": "获取提供的坐标(摄氏度)的当前温度。", "parameters": { "type": "object", "properties": { "latitude": {"type": "number"}, "longitude": {"type": "number"} }, "required": ["latitude", "longitude"], "additionalProperties": False }, "strict": True } }] messages = [{"role": "user", "content": "今天巴黎的天气怎么样?"}] completion = client.chat.completions.create( model="gpt-4o", messages=messages, tools=tools, )</code>
步驟3:執行函數
<code>tool_call = completion.choices[0].message.tool_calls[0] args = json.loads(tool_call.function.arguments) result = get_weather(args["latitude"], args["longitude"])</code>
步驟4:向模型提供結果
<code># 附加模型的工具调用消息 messages.append(completion.choices[0].message) # 将结果消息作为字符串附加 messages.append({ "role": "tool", "tool_call_id": tool_call.id, "content": json.dumps({"temperature": result}) # 将结果转换为JSON字符串 }) # 创建第二个聊天完成 completion_2 = client.chat.completions.create( model="gpt-4o", messages=messages, tools=tools, )</code>
步驟5:獲取最終響應
<code>print(completion_2.choices[0].message.content)</code>
輸出:
<code>巴黎目前的温度是-2.8°C。</code>
函數調用的最佳實踐
為了幫助您充分利用函數調用,以下是一些專業技巧:
-
編寫清晰詳細的描述
- 清晰地描述函數的目的、參數和輸出。
- 使用系統提示指導模型何時(以及何時不)使用函數。
-
應用軟件工程最佳實踐
- 使函數直觀易懂。
- 使用枚舉和對象結構來防止無效狀態。
-
減輕模型的負擔
- 不要讓模型填寫您已知的參數。
- 合併總是按順序調用的函數。
-
保持函數數量較少
- 為了提高準確性,一次最多使用少於20個函數。
-
利用OpenAI資源
- 使用Playground生成和迭代函數模式。
- 考慮針對複雜任務或大量函數進行微調。
了解更多信息,請訪問OpenAI。
總結
OpenAI改進後的函數調用指南使開發者能夠無縫集成自定義工具,使AI更易於訪問和使用。通過簡化流程、提供清晰的示例以及優先考慮用戶反饋,OpenAI使開發者能夠進行創新並構建利用AI全部潛力的解決方案,從而推動現實世界的應用和創造力。
以上是簽署OpenAI函數調用指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!
![無法使用chatgpt!解釋可以立即測試的原因和解決方案[最新2025]](https://img.php.cn/upload/article/001/242/473/174717025174979.jpg?x-oss-process=image/resize,p_40)
ChatGPT無法訪問?本文提供多種實用解決方案!許多用戶在日常使用ChatGPT時,可能會遇到無法訪問或響應緩慢等問題。本文將根據不同情況,逐步指導您解決這些問題。 ChatGPT無法訪問的原因及初步排查 首先,我們需要確定問題是出在OpenAI服務器端,還是用戶自身網絡或設備問題。 請按照以下步驟進行排查: 步驟1:檢查OpenAI官方狀態 訪問OpenAI Status頁面 (status.openai.com),查看ChatGPT服務是否正常運行。如果顯示紅色或黃色警報,則表示Open

2025年5月10日,麻省理工學院物理學家Max Tegmark告訴《衛報》,AI實驗室應在釋放人工超級智能之前模仿Oppenheimer的三位一體測試演算。 “我的評估是'康普頓常數',這是一場比賽的可能性

AI音樂創作技術日新月異,本文將以ChatGPT等AI模型為例,詳細講解如何利用AI輔助音樂創作,並輔以實際案例進行說明。我們將分別介紹如何通過SunoAI、Hugging Face上的AI jukebox以及Python的Music21庫進行音樂創作。 通過這些技術,每個人都能輕鬆創作原創音樂。但需注意,AI生成內容的版權問題不容忽視,使用時務必謹慎。 讓我們一起探索AI在音樂領域的無限可能! OpenAI最新AI代理“OpenAI Deep Research”介紹: [ChatGPT]Ope

ChatGPT-4的出现,极大地拓展了AI应用的可能性。相较于GPT-3.5,ChatGPT-4有了显著提升,它具备强大的语境理解能力,还能识别和生成图像,堪称万能的AI助手。在提高商业效率、辅助创作等诸多领域,它都展现出巨大的潜力。然而,与此同时,我们也必须注意其使用上的注意事项。 本文将详细解读ChatGPT-4的特性,并介绍针对不同场景的有效使用方法。文中包含充分利用最新AI技术的技巧,敬请参考。 OpenAI发布的最新AI代理,“OpenAI Deep Research”详情请点击下方链

CHATGPT應用程序:與AI助手釋放您的創造力!初學者指南 ChatGpt應用程序是一位創新的AI助手,可處理各種任務,包括寫作,翻譯和答案。它是一種具有無限可能性的工具,可用於創意活動和信息收集。 在本文中,我們將以一種易於理解的方式解釋初學者,從如何安裝chatgpt智能手機應用程序到語音輸入功能和插件等應用程序所獨有的功能,以及在使用該應用時要牢記的要點。我們還將仔細研究插件限制和設備對設備配置同步

ChatGPT中文版:解鎖中文AI對話新體驗 ChatGPT風靡全球,您知道它也提供中文版本嗎?這款強大的AI工具不僅支持日常對話,還能處理專業內容,並兼容簡體中文和繁體中文。無論是中國地區的使用者,還是正在學習中文的朋友,都能從中受益。 本文將詳細介紹ChatGPT中文版的使用方法,包括賬戶設置、中文提示詞輸入、過濾器的使用、以及不同套餐的選擇,並分析潛在風險及應對策略。此外,我們還將對比ChatGPT中文版和其他中文AI工具,幫助您更好地了解其優勢和應用場景。 OpenAI最新發布的AI智能

這些可以將其視為生成AI領域的下一個飛躍,這為我們提供了Chatgpt和其他大型語言模型聊天機器人。他們可以代表我們採取行動,而不是簡單地回答問題或產生信息

使用chatgpt有效的多個帳戶管理技術|關於如何使用商業和私人生活的詳盡解釋! Chatgpt在各種情況下都使用,但是有些人可能擔心管理多個帳戶。本文將詳細解釋如何為ChatGpt創建多個帳戶,使用時該怎麼做以及如何安全有效地操作它。我們還介紹了重要的一點,例如業務和私人使用差異,並遵守OpenAI的使用條款,並提供指南,以幫助您安全地利用多個帳戶。 Openai


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器