搜尋
首頁科技週邊人工智慧簽署OpenAI函數調用指南

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模型與開發者定義的工具交互,使其能夠執行超出文本或音頻生成的更多任務。以下是簡化的流程:

  1. 定義函數: 創建一個模型可以調用的函數(例如,get_weather)。
  2. 模型決定調用函數: 基於系統提示和用戶輸入,模型確定何時調用函數。
  3. 執行函數: 運行函數代碼並返回結果。
  4. 整合結果: 模型使用函數的輸出生成最終響應。

Checkout the OpenAI Function Calling Guide

該圖片展示了開發者和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}&current=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>

函數調用的最佳實踐

為了幫助您充分利用函數調用,以下是一些專業技巧:

  1. 編寫清晰詳細的描述
    • 清晰地描述函數的目的、參數和輸出。
    • 使用系統提示指導模型何時(以及何時不)使用函數。
  2. 應用軟件工程最佳實踐
    • 使函數直觀易懂。
    • 使用枚舉和對象結構來防止無效狀態。
  3. 減輕模型的負擔
    • 不要讓模型填寫您已知的參數。
    • 合併總是按順序調用的函數。
  4. 保持函數數量較少
    • 為了提高準確性,一次最多使用少於20個函數。
  5. 利用OpenAI資源
    • 使用Playground生成和迭代函數模式。
    • 考慮針對複雜任務或大量函數進行微調。

了解更多信息,請訪問OpenAI。

總結

OpenAI改進後的函數調用指南使開發者能夠無縫集成自定義工具,使AI更易於訪問和使用。通過簡化流程、提供清晰的示例以及優先考慮用戶反饋,OpenAI使開發者能夠進行創新並構建利用AI全部潛力的解決方案,從而推動現實世界的應用和創造力。

以上是簽署OpenAI函數調用指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
無法使用chatgpt!解釋可以立即測試的原因和解決方案[最新2025]無法使用chatgpt!解釋可以立即測試的原因和解決方案[最新2025]May 14, 2025 am 05:04 AM

ChatGPT無法訪問?本文提供多種實用解決方案!許多用戶在日常使用ChatGPT時,可能會遇到無法訪問或響應緩慢等問題。本文將根據不同情況,逐步指導您解決這些問題。 ChatGPT無法訪問的原因及初步排查 首先,我們需要確定問題是出在OpenAI服務器端,還是用戶自身網絡或設備問題。 請按照以下步驟進行排查: 步驟1:檢查OpenAI官方狀態 訪問OpenAI Status頁面 (status.openai.com),查看ChatGPT服務是否正常運行。如果顯示紅色或黃色警報,則表示Open

計算ASI的風險始於人類的思想計算ASI的風險始於人類的思想May 14, 2025 am 05:02 AM

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

易於理解的解釋如何編寫和撰寫歌詞和推薦工具易於理解的解釋如何編寫和撰寫歌詞和推薦工具May 14, 2025 am 05:01 AM

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

什麼是chatgpt-4?對您可以做什麼,定價以及與GPT-3.5的差異的詳盡解釋!什麼是chatgpt-4?對您可以做什麼,定價以及與GPT-3.5的差異的詳盡解釋!May 14, 2025 am 05:00 AM

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

解釋如何使用chatgpt應用程序!日本支持和語音對話功能解釋如何使用chatgpt應用程序!日本支持和語音對話功能May 14, 2025 am 04:59 AM

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

如何使用中文版Chatgpt?註冊程序和費用的說明如何使用中文版Chatgpt?註冊程序和費用的說明May 14, 2025 am 04:56 AM

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

5 AI代理神話,您需要停止相信5 AI代理神話,您需要停止相信May 14, 2025 am 04:54 AM

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

易於理解使用Chatgpt創建和管理多個帳戶的非法性的解釋易於理解使用Chatgpt創建和管理多個帳戶的非法性的解釋May 14, 2025 am 04:50 AM

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

熱工具

SublimeText3 英文版

SublimeText3 英文版

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

SecLists

SecLists

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

Safe Exam Browser

Safe Exam Browser

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

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器