自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenAI重磅:AI Agent智能體Function Calling 2.0! 原創(chuàng)

發(fā)布于 2025-1-22 10:16
瀏覽
0收藏

近日,OpenAI 推出了全新的 AI Agent 智能體 Function Calling 2.0 使用指南,此次更新使得文檔篇幅縮減了一半,并且引入了一系列關(guān)鍵的最佳實(shí)踐。作為打造高效 AI Agent 智能體的核心技能之一,正確運(yùn)用Function Calling 對(duì)于開(kāi)發(fā)強(qiáng)大的 AI Agent 智能體應(yīng)用具有至關(guān)重要的作用。因此,今天我就來(lái)為大家揭秘這次更新的精華內(nèi)容!

1、Function Calling 的兩大核心應(yīng)用

文章中清晰地闡述了 Function Calling 的兩個(gè)核心應(yīng)用場(chǎng)景

第一、數(shù)據(jù)獲?。‵etching Data)

  • 實(shí)時(shí)檢索信息并將其融入大模型的響應(yīng)之中;
  • 適用于查詢(xún)知識(shí)庫(kù)和獲取特定 API 數(shù)據(jù)(例如天氣預(yù)報(bào));
  • 本質(zhì)上是實(shí)現(xiàn)了一種 RAG(Retrieval Augmented Generation,檢索增強(qiáng)生成)的方法。

第二、執(zhí)行動(dòng)作(Taking Action)

  • 完成表單提交、API 調(diào)用等操作;
  • 改變應(yīng)用程序的狀態(tài)(涉及前端或后端);
  • 執(zhí)行 AI Agent 智能體的工作流程步驟(例如對(duì)話(huà)中的任務(wù)轉(zhuǎn)接)。

OpenAI重磅:AI Agent智能體Function Calling 2.0!-AI.x社區(qū)

2、全新的最佳實(shí)踐

此次更新最為關(guān)鍵的是推出了一系列實(shí)用的最佳實(shí)踐,下面我們來(lái)聚焦于其中的幾項(xiàng):

第一、編寫(xiě)明確的函數(shù)定義

# 好的示例
def get_weather(location: str):
    """獲取指定位置的當(dāng)前溫度
    Args:
        location: 城市和國(guó)家,例如:'北京, 中國(guó)'
    """
    pass


# 糟糕的示例
def toggle_light_switch(on: bool, off: bool):
    """這個(gè)設(shè)計(jì)允許無(wú)效狀態(tài)的存在"""
    pass

第二、遵循軟件工程的最佳實(shí)踐指南

  • 確保函數(shù)直觀易懂,并遵循最小驚訝原則,在維基百科中稱(chēng)為:Principle of least astonishment,詳見(jiàn)鏈接:https://en.wikipedia.org/wiki/Principle_of_least_astonishment。
  • 采用枚舉和對(duì)象結(jié)構(gòu),以防止出現(xiàn)無(wú)效狀態(tài)。
  • 通過(guò)“實(shí)習(xí)生測(cè)試”:如果一名實(shí)習(xí)生僅憑函數(shù)定義就能正確地使用它,那么說(shuō)明你的設(shè)計(jì)相當(dāng)出色。

第三、盡可能減少大模型的負(fù)擔(dān)

# 不推薦
def get_orders(user_id: str):
    pass


# 推薦
def get_orders():
    # 在代碼中傳遞user_id
    pass

第四、精簡(jiǎn)函數(shù)數(shù)量,維持高效性;

  • 推薦在任何時(shí)候使用的函數(shù)不超過(guò)20個(gè);
  • 若觀察到有兩個(gè)函數(shù)經(jīng)常被同時(shí)調(diào)用,應(yīng)考慮將它們合并為一個(gè)函數(shù)。

3、重要的配置選項(xiàng)

第一、工具選擇模式(tool_choice)

OpenAI重磅:AI Agent智能體Function Calling 2.0!-AI.x社區(qū)

# 自動(dòng)模式(默認(rèn))
tool_choice="auto"  # 可以調(diào)用零個(gè)、一個(gè)或多個(gè)函數(shù)


# 強(qiáng)制模式
tool_choice="required"  # 必須調(diào)用至少一個(gè)函數(shù)


# 指定函數(shù)
tool_choice={
    "type": "function", 
    "function": {"name": "get_weather"}
}  # 強(qiáng)制調(diào)用特定函數(shù)

第二、嚴(yán)格模式(Strict Mode)

{
    "type": "function",
    "function": {
        "name": "get_weather",
        "strict": True,  # 啟用嚴(yán)格模式
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string"
                },
                "units": {
                    "type": ["string", "null"],  # 可選參數(shù)
                    "enum": ["celsius", "fahrenheit"]
                }
            },
            "required": ["location", "units"],
            "additionalProperties": false
        }
    }
}

4、流式處理的支持

OpenAI 進(jìn)一步提升了流式處理的能力,使得能夠即時(shí)展現(xiàn)函數(shù)調(diào)用的實(shí)時(shí)過(guò)程。

stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "北京今天天氣如何?"}],
    tools=tools,
    stream=True
)


for chunk in stream:
    delta = chunk.choices[0].delta
    print(delta.tool_calls)  # 實(shí)時(shí)顯示函數(shù)調(diào)用進(jìn)度

此次更新主要目的是分享了一系列最佳實(shí)踐。隨著 o1-mini 即將實(shí)現(xiàn)對(duì)Function Calling 的支持(已獲官方確認(rèn)),昨日還推出了 tasks 功能。因此,可以展望在2025年見(jiàn)證真正的 AI Agent 智能體的誕生。


本文轉(zhuǎn)載自公眾號(hào)玄姐聊AGI  作者:玄姐

原文鏈接:??https://mp.weixin.qq.com/s/5mTTD0st4TAYb8Ou3p1EdQ??

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
已于2025-1-22 19:12:02修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦