精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenAI API進階-Function Calling實現插件!

人工智能
開發者現在可以向 gpt-4-0613 和 gpt-3.5-turbo-0613 描述函數,并讓模型智能地選擇輸出一個包含調用這些函數參數的 JSON 對象。這是一種更可靠地將 GPT 的功能與外部工具和 API 相連接的新方法。

Function Calling介紹

Function Calling是什么

OpenAI Chat API官方文檔:Chat API[1]

Function Calling官方介紹:Function Calling[2]

圖片圖片

開發者現在可以向 gpt-4-0613 和 gpt-3.5-turbo-0613 描述函數,并讓模型智能地選擇輸出一個包含調用這些函數參數的 JSON 對象。這是一種更可靠地將 GPT 的功能與外部工具和 API 相連接的新方法。

這些模型經過了微調,既可以檢測到何時需要調用函數(根據用戶的輸入),又可以回復符合函數簽名的 JSON。函數調用使開發者能夠更可靠地從模型中獲得結構化數據。例如,開發者可以:

  • 利用外部工具調用的聊天機器人(如 ChatGPT 插件)來回答問題

將查詢如“Email Anya看看她下周五是否想喝咖啡”轉換為像 send_email(to: string, body: string) 這樣的函數調用,或者將“波士頓的天氣如何?”轉換為 get_current_weather(location: string, unit: 'celsius' | 'fahrenheit')。

  • 將自然語言轉換為 API 調用或數據庫查詢

將“這個月我的前十位客戶是誰?”轉換為內部 API 調用,如 get_customers_by_revenue(start_date: string, end_date: string, limit: int),或者將“Acme 公司上個月下了多少訂單?”轉換為使用 sql_query(query: string) 的 SQL 查詢。

  • 從文本中提取結構化數據

定義一個名為 extract_people_data(people: [{name: string, birthday: string, location: string}]) 的函數,以提取在維基百科文章中提到的所有人物。

這些用例通過我們的 /v1/chat/completions 端點中的新 API 參數 functions 和 function_call 得以實現,開發者可以通過 JSON Schema 描述函數,并可選擇要求模型調用特定函數。

一句戶解釋就是:我們可以把自己的函數集成到GPT里了

Function Calling解決什么問題

Function Calling本質上就是插件!

插件功能相當于給OpenAI增加了一個武器庫,開發者可以隨意給它安裝武器提升它的能力。

數據實時性問題

圖片圖片

問他langchain是什么?由于訓練集是截止2021年的,他會回答不知道。但是有了Function Callling,我們就可以寫一個函數集成谷歌/百度搜索API,給GPT加上聯網能力,這樣就借助搜索引擎的能力支持了數據的動態更新。

跟已有系統集成問題

圖片圖片

問他今天天氣如何?由于ChatGPT數據集是離線的,無法滿足獲取實時天氣的需求。但是有了Function Calling,我們可以編寫一個函數來調用天氣獲取的API,從而獲取實時天氣信息,然后再與大模型的對話能力進行自然語言交互。

Function Calling如何使用

使用介紹

與普通chat對話的區別是增加了兩個額外參數

  • functions: 聲明自定義函數庫
  • funcion_call: 控制大模型什么時機使用通Function Calling功能

圖片圖片

普通代碼:

completion = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=messages
)

Function calling:

completion = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=messages,
   
    # 增加額外兩個參數
    functinotallow=functions,
    function_call="auto",  # auto is default, but we'll be explicit
)

實時天氣查詢實踐

整體要經過兩次的OpenAI Chat接口調用。

調用流程

1.定義函數

定義本地函數get_current_weather實現從API拉取,這里直接寫一個簡單對參數輸出進行模擬。

然后按照OpenAI的文檔要求格式定義get_current_weather的接口函數的json參數。

2.第一次調用接口

返回大模型分析出的函數名稱和參數。

結果如下:

{
  "id": "chatcmpl-8EIYxuSvhxmvYRE2UZI19fodbhXGv",
  "object": "chat.completion",
  "created": 1698418639,
  "model": "gpt-3.5-turbo-0613",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": null,
        "function_call": {
          "name": "get_current_weather",
          "arguments": "{\n  \"location\": \"Boston, MA\",\n  \"unit\": \"celsius\"\n}"
        }
      },
      "finish_reason": "function_call"
    }
  ],
  "usage": {
    "prompt_tokens": 86,
    "completion_tokens": 26,
    "total_tokens": 112
  }
}

3.調用本地函數

獲取返回值,進行本地python方法調用

4.第二次調用接口

將第一次接口的返回值message與本地函數調用的接口拼裝起來,然后再次調用接口。

結果如下:

{
  "role": "assistant",
  "content": "The weather in Boston today is 20 degrees Celsius."
}

代碼實現

完整代碼鏈接:Fuction Calling 示例[3]

# function_calling.py
import openai
import json


openai.api_key = 'sk-NYsoG3VBKDiTuvdtC969F95aFc4f45379aD3854a93602327'
openai.api_base = "https://key.wenwen-ai.com/v1"


# 1. 定義函數
# 1.1 定義模擬獲取天氣的本地函數
def get_current_weather(location, unit):
    # Call the weather API
    return f"It's 20 {unit} in {location}"




# 1.2 定義函數字典方便調用
function_dict = {
    "get_current_weather": get_current_weather,
}


# 1.3 定義chat接口需要的函數
functions = [
    {
        "name": "get_current_weather",
        "description": "Get the current weather in a given location",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "The city and state, e.g. San Francisco, CA",
                },
                "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
            },
            "required": ["location"],
        },
    }
]


# 2. 第一次調用chat接口,返回的是函數調用的提示
messages = [
    {"role": "user", "content": "What's the weather like in Boston today with celsius?"}]
completion = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=messages,
    functinotallow=functions,
    function_call="auto",  # auto is default, but we'll be explicit
)
print(completion)


# 3. 從結果接口的結果中獲取函數調用的參數 進行本地函數調用
# 3.1 獲取函數調用的參數
response_message = completion.choices[0].message
function_name = response_message["function_call"]["name"]
function_args = json.loads(response_message["function_call"]["arguments"])
# 3.2 調用本地函數
function_response = function_dict.get(function_name)(**function_args)
# 3.3 將本地函數的結果作為chat接口的輸入
messages.append(response_message)
messages.append({
    "role": "function",
    "name": function_name,
    "content": function_response,
})


# 4. 第二次調用chat接口,返回的是chat的最終結果
completion_final = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=messages,
)


print(completion_final.choices[0].message)

上面的代碼中的key是我自己維護的,免費給大家使用,代碼可以直接運行!

python3.9 function_calling.py

參考資料

[1]Chat API: https://platform.openai.com/docs/api-reference/chat

[2]Function Calling: https://openai.com/blog/function-calling-and-other-api-updates

[3]Fuction Calling 示例: https://github.com/hehan-wang/openai-demo/blob/main/function_calling.py

責任編輯:武曉燕 來源: 程序員鶴涵
相關推薦

2025-04-17 08:42:38

2025-04-01 08:45:56

2025-04-22 09:17:41

2024-09-29 10:58:56

2025-07-10 02:25:00

2024-05-21 09:01:00

2025-07-18 08:46:33

2023-03-03 07:34:05

2023-11-23 08:00:00

OpenAILangChain

2024-11-28 16:45:50

2023-05-15 07:33:19

智能搜索pgvectorGPT-3

2023-07-07 09:32:57

GPT-4OpenAI

2023-06-14 11:21:04

2012-02-07 10:05:40

jQuery MobijQuery Mobi

2024-06-25 15:46:41

OpenAIChatGPTGPT-4

2025-11-12 09:01:49

2025-05-12 08:25:53

2021-10-14 14:32:27

AndroidActiviAPI
點贊
收藏

51CTO技術棧公眾號

在线观看日韩欧美| 成人一区二区三区视频在线观看 | 久久久999精品视频| 婷婷激情小说网| 深夜国产在线播放| 91麻豆国产福利在线观看| 国产美女精品免费电影| 久青草视频在线观看| 国产一区日韩| 日韩精品一区二区三区三区免费| 久久综合九色综合88i| 69久久精品| 成人免费看的视频| 成人乱人伦精品视频在线观看| 久操视频免费在线观看| 久久av影视| 精品国产一区二区三区四区四| 乱子伦视频在线看| 黄色小说在线播放| 国产精品免费久久久久| 国产精品一区二区三区精品| 啪啪小视频网站| 影音先锋日韩资源| 俺去啦;欧美日韩| 黄色aaa视频| 亚洲天堂av资源在线观看| 在线观看日韩高清av| 日韩 欧美 视频| 二区三区在线观看| 国产精品网曝门| 欧美激情论坛| 熟妇人妻中文av无码| 狠狠色丁香久久婷婷综合_中 | www.久久99| 色婷婷久久综合| 欧美一级片免费播放| 大片免费在线看视频| 中文字幕精品三区| 区一区二区三区中文字幕| 欧美视频一二区| 国产一区二区在线电影| 国产欧美日韩中文| 日韩精品成人免费观看视频| 亚洲韩日在线| 久久久久久国产免费| 性欧美videos| 亚洲女同中文字幕| 欧美成人小视频| 我要看一级黄色录像| 精品国产乱码久久久久久果冻传媒 | 亚洲一区二区三区观看| 国产毛片精品久久| 欧美视频在线观看一区二区| 国产理论在线播放| 国产精品久久久久久妇女| 色欧美片视频在线观看在线视频| 99精品免费在线观看| 婷婷午夜社区一区| 欧美在线免费观看亚洲| 黑森林精品导航| 91在线亚洲| 欧美巨大另类极品videosbest | 超碰精品一区二区三区乱码| 老司机成人免费视频| 亚洲无中文字幕| 久久国产精品网站| 久久黄色免费视频| 在线亚洲伦理| 国产激情久久久| 中文av免费观看| 国内外成人在线| 国产精品sss| 五月天婷婷在线观看| 久久久精品2019中文字幕之3| 日韩精彩视频| 精品孕妇一区二区三区| 怡红院av一区二区三区| 国产精品无码人妻一区二区在线| 天堂√8在线中文| 91福利精品视频| 午夜xxxxx| 久久久久97| 亚洲欧洲视频在线| av最新在线观看| 精品av久久久久电影| 欧美一区二区三区免费视| 欧美国产一级片| 国产乱对白刺激视频不卡| 国产成人一区二区三区免费看| 天天干,天天操,天天射| 国产精品色婷婷久久58| 久青草视频在线播放| 韩国成人漫画| 日韩一级黄色片| 日本一区二区三区网站| 水蜜桃精品av一区二区| 国模gogo一区二区大胆私拍 | 国产免费无码一区二区视频| 国产日韩亚洲欧美精品| 国产欧美中文字幕| 亚洲欧洲精品视频| 亚洲日本韩国一区| 国产偷人视频免费| heyzo欧美激情| 中日韩美女免费视频网址在线观看| 久久国产精品国语对白| 男女精品网站| av一区二区三区四区电影| 欧美婷婷久久五月精品三区| 亚洲欧洲综合另类| 亚洲综合在线网站| 精品无人区一区二区| 视频一区视频二区国产精品| 国产精品成人免费一区二区视频| 六月婷婷色综合| 久久精品人人做人人爽电影| 精品51国产黑色丝袜高跟鞋| 日本丰满少妇一区二区三区| 国产无套精品一区二区三区| 日韩免费一区| 茄子视频成人在线| 欧美77777| 亚洲免费在线电影| 欧美成人福利在线观看| 亚洲丁香日韩| 亚州国产精品久久久| 国产男女猛烈无遮挡| 日本一区二区综合亚洲| 日本不卡在线观看视频| 日韩视频1区| 久久狠狠久久| 欧美成人免费一级人片100| 无码人妻黑人中文字幕| 亚洲视频一区二区三区| www.com毛片| 亚洲啊v在线免费视频| 中文字幕日韩av| 69成人免费视频| heyzo一本久久综合| 白白操在线视频| 精品一区二区三区亚洲| 精品激情国产视频| av中文字幕一区| 亚洲xxx大片| 3p视频在线观看| 色成年激情久久综合| 女同性恋一区二区三区| 国产精品theporn| 91社区国产高清| 精品孕妇一区二区三区| 欧美老女人在线| 日韩一区二区久久| 51ⅴ精品国产91久久久久久| 亚洲第一成人av| 亚洲美女偷拍久久| 欧美在线a视频| 久久久久久久久久久久久久久久久久 | 激情一区二区| 久久www免费人成看片高清| 日本福利一区二区三区| 久久久一本精品| 亚洲网在线观看| 亚洲嫩模很污视频| 国产成人免费观看网站| 日韩主播视频在线| 先锋影音网一区| 在线观看亚洲精品福利片| 亚洲精品一区二区在线看| 91免费看片在线| 亚洲丝袜一区| 精品国产一区二区三区四区四 | 大胆av不用播放器在线播放| 91精品福利在线| 欧日韩不卡视频| 国产一区欧美日韩| 男的插女的下面视频| 日韩av系列| 国产精品久久久久久av福利| 毛片在线看片| 精品久久久三级丝袜| 久久99精品波多结衣一区| 久久久久综合网| 中文字幕国产高清| 日韩亚洲在线| 亚洲一卡二卡| 爱高潮www亚洲精品| 国产91免费观看| 国产精品剧情| 日韩av在线最新| 一区二区三区午夜| 亚洲午夜视频在线| 天堂在线中文视频| 国产99精品国产| 91av俱乐部| 欧美日韩一区自拍| 欧美在线激情| 91精品国产乱码久久久竹菊| 人体精品一二三区| 成人在线网址| 亚洲午夜未删减在线观看 | 一区二区三区视频播放| 热re91久久精品国99热蜜臀| а√天堂官网中文在线| 亚洲欧美资源在线| 国产成人精品亚洲精品色欲| 色悠悠亚洲一区二区| 免费在线观看日韩| 中文字幕免费不卡在线| 亚洲天堂美女视频| 国产美女av一区二区三区| 成人免费无码av| 精品96久久久久久中文字幕无| 亚洲资源视频| 曰本一区二区三区视频| 丁香婷婷久久久综合精品国产| 99热播精品免费| 欧美最猛性xxxxx免费| 99自拍视频在线观看| 中文字幕精品网| 欧美色综合一区二区三区| 日韩精品资源二区在线| 中文人妻熟女乱又乱精品| 欧美日韩国产麻豆| 中文字幕第28页| 亚洲免费资源在线播放| 一二三四国产精品| 国产色综合一区| xxxx日本免费| 91一区二区三区在线播放| 国产人妖在线观看| 国产一区二区影院| 999热精品视频| 国内外成人在线| 亚洲第一天堂久久| 久久99精品视频| 日本激情综合网| 日本不卡一区二区| 日韩在线xxx| 亚洲一区亚洲| 国产精品97在线| 欧美中文日韩| 无码人妻h动漫| 毛片一区二区| 狠狠操精品视频| 视频在线观看91| 国产精品69页| 日本亚洲最大的色成网站www| 日韩一级免费在线观看| 日韩电影在线免费观看| 亚洲欧美国产日韩综合| 免费av网站大全久久| 日日躁夜夜躁aaaabbbb| 美女免费视频一区| 五月六月丁香婷婷| 国产成人午夜精品影院观看视频 | 国产精品羞羞答答在线观看| 欧美精品尤物在线| 精品久久久久久久| 亚洲欧美日韩精品久久久| 天天精品视频| 色综合久久99| 亚洲熟女综合色一区二区三区| 欧美日韩亚洲精品内裤| 日韩 国产 欧美| 欧美视频一区在线观看| 亚洲熟妇av乱码在线观看| 欧美精三区欧美精三区| www.日日夜夜| 日韩欧美黄色| 国内精久久久久久久久久人| 99爱在线视频| 日本精品视频在线| 不卡亚洲精品| 亚洲一区二区三区视频播放| 粉嫩的18在线观看极品精品| 久久久影院一区二区三区 | 亚洲男人天堂2023| 在线看黄色av| 久久91精品国产91久久久| а√在线天堂官网| 国产精品久久久久久久7电影| 宅男噜噜噜66国产精品免费| 国产精品大全| 精品国产视频| www.国产二区| 久久精品三级| 性生活一级大片| 97se亚洲国产综合自在线 | 亚洲国产精品尤物yw在线观看| 日本一区二区不卡在线| 色综合天天综合狠狠| 国产在成人精品线拍偷自揄拍| 精品福利在线导航| 69av在线| 91产国在线观看动作片喷水| 性欧美video另类hd尤物| 精品视频第一区| 亚洲草久电影| www日韩视频| 不卡视频一二三| 精品无码久久久久成人漫画| 欧美性猛交xxxx富婆弯腰| 99国产在线播放| 国产一区二区精品丝袜| 黑人极品ⅴideos精品欧美棵| 国产精品女人网站| 色天天色综合| 免费cad大片在线观看| 日本aⅴ亚洲精品中文乱码| 欧美成人一区二区三区片免费| 亚洲精品国产精| 中文字幕亚洲欧美日韩2019| 川上优av中文字幕一区二区| 国产免费一区二区三区在线观看 | 成人自拍视频网| 国产伦精品一区| 一本精品一区二区三区| 国产xxxxx视频| 久久这里只精品最新地址| 久久精品www| 欧美一区二区视频在线观看2022 | 欧美a在线视频| 丁香婷婷综合色啪| 亚洲色偷偷综合亚洲av伊人| 91国偷自产一区二区开放时间 | 校园春色 亚洲色图| 91亚洲国产成人精品一区二三| 亚洲一级生活片| 欧美男女性生活在线直播观看| 国产福利片在线| 日韩69视频在线观看| 久久综合五月婷婷| 一本一本久久a久久精品综合妖精| 老鸭窝亚洲一区二区三区| 亚洲啪av永久无码精品放毛片| 亚洲激情自拍视频| 精品区在线观看| 欧美成人精品xxx| 亚洲男人在线| 国产免费色视频| 国模无码大尺度一区二区三区| 国产三级aaa| 欧美精品在线观看播放| 91官网在线| 成人免费视频a| 66视频精品| 丰满少妇中文字幕| 一区二区三区蜜桃网| 亚洲精品综合久久| 91福利视频在线观看| 一区三区在线欧| 成人性生生活性生交12| 中文字幕欧美国产| 国产精品毛片一区二区在线看舒淇 | 亚洲片区在线| 91精品国产自产| 在线一区二区视频| av福利精品| 国产欧美精品日韩| 午夜精品视频一区二区三区在线看| 亚洲第一天堂久久| 亚洲国产中文字幕| 日本一区二区三区在线观看视频| 亚洲视频观看| 尤物网站在线观看| 欧美午夜精品久久久久久人妖| 男人天堂网在线| 国产精品亚洲аv天堂网| 一本一道久久综合狠狠老| 成年女人免费视频| 一本一道波多野结衣一区二区| 国产精品久久久久久久龚玥菲| 成人h视频在线| 影音先锋日韩资源| 亚洲一级中文字幕| 欧美丰满美乳xxx高潮www| 久久免费电影| 日韩av电影免费播放| 黄一区二区三区| 日韩av无码中文字幕| 一本色道久久综合狠狠躁篇怎么玩| 日韩欧国产精品一区综合无码| 肉大捧一出免费观看网站在线播放| 成人a免费在线看| 成年人视频免费| 美女av一区二区| 视频一区欧美| 精品国产一区探花在线观看| 四虎4hu永久免费入口| 国产成人激情av| 欧美h在线观看| 日韩在线视频网| 国产 日韩 欧美 综合 一区| 无码内射中文字幕岛国片| 亚洲精品亚洲人成人网在线播放| 污污视频在线观看网站| 国产在线观看精品| 亚洲国产高清视频| 美女网站视频色| 国产丝袜一区视频在线观看 |