最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenAI?函數調用示例及功能入門教程

 更新時間:2023年06月25日 09:50:05   作者:文質彬彬的煎餅  
這篇文章主要為大家介紹了OpenAI?函數調用示例及功能入門教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

我是AI小火箭的HB,我探索和寫作人工智能和語言交叉點的所有事物,范圍從LLM,聊天機器人,語音機器人,開發(fā)框架,以數據為中心的潛在空間等。

范例

初步體驗

OpenAI新增了“函數調用”功能,這是什么呢?

我們先調用API來體驗下。

下面是發(fā)送到模型的 JSON 文檔。此調用的目的是生成一個 JSON 文件,該文件可用于發(fā)送到發(fā)送電子郵件的 API。
您可以看到函數名稱為 send_email,并定義了三個參數, to_address , subject 和 body ,即電子郵件正文。
用戶請求為:Send Cobus from humanfirst ai an email asking for the monthly report?

curl --location 'https://api.openai.com/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-xxxx' \
--data '{
  "model": "gpt-3.5-turbo-0613",
  "messages": [
    {"role": "user", "content": "Send Cobus from humanfirst ai an email asking for the monthly report?"}
  ],
  "functions": [
    {
      "name": "send_email",
      "description": "Please send an email.",
      "parameters": {
        "type": "object",
        "properties": {
          "to_address": {
            "type": "string",
            "description": "To address for email"
          },          
          "subject": {
            "type": "string",
            "description": "subject of the email"
          },
          "body": {
            "type": "string",
            "description": "Body of the email"
          }
        }
      }
    }
  ]
}'

下面是返回的 JSON

{
    "id": "chatcmpl-7TQuwzJpQAY470saQM2RPfxwF6DDE",
    "object": "chat.completion",
    "created": 1687249338,
    "model": "gpt-3.5-turbo-0613",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": null,
                "function_call": {
                    "name": "send_email",
                    "arguments": "{\n  \"to_address\": \"cobus@humanfirst.ai\",\n  \"subject\": \"Request for Monthly Report\",\n  \"body\": \"Hi Cobus,\\n\\nI hope you're doing well. Could you please share the monthly report with me? It would be great to have it before the end of the week.\\n\\nThanks,\\n[Your Name]\"\n}"
                }
            },
            "finish_reason": "function_call"
        }
    ],
    "usage": {
        "prompt_tokens": 86,
        "completion_tokens": 82,
        "total_tokens": 168
    }
}

GPT模型會返回需要調用的函數名 send_email和對應的參數(放在arguments字段)。

{
  "to_address": "cobus@humanfirst.ai",
  "subject": "Request for Monthly Report",
  "body": "Hi Cobus,\n\nI hope you're doing well. Could you please share the monthly report with me? It would be great to have it before the end of the week.\n\nThanks,\n[Your Name]"
}

這就非常有用,第三方的應用可以提供多個函數/服務(類似插件),GPT模型可以根據用戶的指令自動選擇不同的函數/服務。

現在再來看示例,就比較清晰了。

用途

根據官網文檔,函數調用允許您更可靠地從模型中獲取結構化數據。例如,您可以:

創(chuàng)建聊天機器人,通過調用外部 API 來回答問題(例如 ChatGPT 插件)

例如,定義像 send_email(to: string, body: string) 或 get_current_weather(location: string, unit: 'celsius' | 'fahrenheit') 這樣的函數

將自然語言轉換為 API 調用

例如,將“誰是我的頂級客戶?”轉換為 get_customers(min_revenue: int, created_before: string, limit: int) 并調用您的內部 API

從文本中提取結構化數據

例如,定義一個名為 extract_data(name: string, birthday: string) 或 sql_query(query: string) 的函數

函數調用的基本步驟順序如下:

使用用戶查詢和函數參數中定義的一組函數調用模型。

模型可以選擇調用函數;如果是這樣,內容將是符合自定義架構的字符串化 JSON 對象(注意:模型可能會生成無效的 JSON 或幻覺參數)。

在代碼中將字符串解析為 JSON,并使用提供的參數調用函數(如果存在)。

通過將函數響應追加為新消息來再次調用模型,并讓模型將結果匯總回給用戶。

AI小火箭已經支持函數調用和gpt-3.5-turbo-16k、gpt-3.5-turbo-0613、gpt-3.5-turbo-16k-0613,大家可以去體驗下。

以上就是OpenAI 函數調用示例及功能入門教程的詳細內容,更多關于OpenAI 函數調用的資料請關注腳本之家其它相關文章!

相關文章

  • 一文詳解Git中分支本地和遠程刪除的方法

    一文詳解Git中分支本地和遠程刪除的方法

    在使用 Git 進行版本控制的過程中,我們會創(chuàng)建多個分支來進行不同功能的開發(fā),這就容易涉及到如何正確地刪除本地分支和遠程分支,下面我們就來看看相關的實現方法吧
    2025-06-06
  • 數據類型和Json格式分析小結

    數據類型和Json格式分析小結

    數據類型和Json格式,需要的朋友可以參考下。
    2009-10-10
  • Git打標簽從本地創(chuàng)建到遠端推送的詳細流程

    Git打標簽從本地創(chuàng)建到遠端推送的詳細流程

    在軟件開發(fā)中,Git標簽(Tag)是為發(fā)布版本、標記里程碑量身定制的“快照錨點”,它能永久記錄項目歷史中的關鍵節(jié)點,然而,僅創(chuàng)建本地標簽往往不夠,如何將其高效地推送到遠程倉庫以實現團隊共享,是許多開發(fā)者會遇到的實際問題,本文給大家介紹了Git打標簽的完整流程
    2025-09-09
  • 永久解決VSCode終端中文亂碼問題

    永久解決VSCode終端中文亂碼問題

    這篇文章主要介紹了永久解決VSCode終端中文亂碼問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 一文了解Hive是什么

    一文了解Hive是什么

    Hive?是基于?Hadoop?的一個數據倉庫工具,可以將結構化的數據文件映射為一張表,并提供類?SQL?查詢功能,對Hive是什么及優(yōu)缺點感興趣的朋友跟隨小編一起看看吧
    2022-05-05
  • Visual?Studio實用調試技巧大全

    Visual?Studio實用調試技巧大全

    這篇文章主要給大家介紹了關于Visual?Studio實用調試技巧的相關資料,如果你還沒有使用過這些技巧,希望這篇博文能幫你發(fā)現它們,它們學起來很容易,能幫你節(jié)省很多時間,需要的朋友可以參考下
    2023-06-06
  • 在kali上安裝AWVS的圖文教程

    在kali上安裝AWVS的圖文教程

    這篇文章主要介紹了在kali上安裝破解AWVS的圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • idea對CPU的占用率過大問題的解決方法

    idea對CPU的占用率過大問題的解決方法

    本文主要介紹了idea對CPU的占用率過大問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • 樹莓派安裝mjpg-streamer使用攝像頭的方法

    樹莓派安裝mjpg-streamer使用攝像頭的方法

    這篇文章主要介紹了樹莓派安裝mjpg-streamer使用攝像頭,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Git獲取本地倉庫及基礎操作指令總結

    Git獲取本地倉庫及基礎操作指令總結

    Git是一個分布式版本控制系統(tǒng),和SVN類似,但遠比SVN強大的一個版本控制系統(tǒng)。本文為大家總結了一下Git獲取本地倉庫及基礎操作指令,需要的可以參考一下
    2022-08-08

最新評論

张家川| 胶州市| 隆子县| 平山县| 镇宁| 南溪县| 普陀区| 曲水县| 沙田区| 建德市| 闻喜县| 时尚| 都匀市| 石屏县| 铁力市| 洛宁县| 长顺县| 安龙县| 广安市| 赤水市| 桂林市| 原阳县| 阜城县| 兴城市| 伊宁市| 南平市| 嘉义市| 龙游县| 济阳县| 赤水市| 星座| 广丰县| 阿拉善右旗| 莒南县| 延川县| 四平市| 姚安县| 巴林右旗| 开鲁县| 郯城县| 通渭县|