Llama 4 Scout 在 Novita AI 上支援函式呼叫

Llama 4 Scout 在 Novita AI 上支援函式呼叫

重點摘要

Novita AI 推出了 Llama 4 Scout!此外,此版本完整支援 ** 函式呼叫**。

如果您想測試其效能,可以直接在 Novita AI Playground 開始免費試用

函式呼叫讓 Llama 4 Scout 等 LLM 能夠透過與 API 和外部工具整合來執行真實世界的任務,將自然語言指令轉換為可操作的輸出。

什麼是函式呼叫?

函式呼叫代表大型語言模型(LLM)能力的一項關鍵進步,使其能夠與外部工具、API 和資料來源互動。透過將自然語言提示轉換為結構化的函式呼叫,LLM 可以執行真實世界的動作、擷取動態資訊,並執行超出其內建文字生成能力的複雜計算。

定義函式呼叫

函式呼叫是一種結構化方法,允許 LLM 根據使用者查詢生成可執行的指令,從而與外部系統介接。與傳統僅限於文字生成的 LLM 輸出不同,函式呼叫讓模型能夠以特定參數觸發預定義的函式,透過外部程式碼執行這些函式,並將結果整合到連貫的回應中。

https://www.youtube.com/watch?v=i-oHvHejdsc&t=429s

函式呼叫如何運作?

函式呼叫涉及一個結構化流程,其中大型語言模型(LLM)解析使用者提示,以決定要執行哪個預定義函式以及使用什麼參數。以下是一個簡化的概述:

  1. 使用者提示:使用者向系統提交查詢。
  2. LLM 解讀:LLM 分析提示以識別適當的函式和參數。
  3. 函式執行:系統使用提供的參數執行該函式。
  4. 回應生成:結果回饋給 LLM,LLM 再生成包含輸出結果的最終回應。

函式呼叫

函式呼叫 vs. RAG

**面向 ** ** 函式呼叫 ** ** 檢索增強生成 (RAG)**
定義 呼叫外部函式(API、資料庫)以執行即時任務。 從外部來源檢索並綜合資訊以生成回應。
使用案例 查詢資料庫、API 請求、外部工具(例如付款)。 問答系統,檢索資料以生成答案。
優點 - 即時任務
- 與外部系統互動
- 模組化系統
- 存取大量知識
- 對複雜查詢效率高
- 適合最新資料
目的 呼叫外部系統或服務。 利用檢索到的知識增強生成。
實作方式 預定義的外部呼叫(例如 API)。 在生成過程中檢索資訊。
靈活性 對即時互動更具彈性。 利用外部/內部知識進行生成。

如何透過 Novita AI 使用 Llama 4 Scout 函式呼叫

Novita AI 已推出每個 LLM 的能力描述支援,您可以直接在控制台文件中查看。

llama 4 scout 函式呼叫

llama 4 支援的模型

選擇您的模型

1. 初始化客戶端

首先,您需要使用您的 Novita API 金鑰初始化客戶端。

from openai import OpenAI
import json

client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    # 從 https://novita.ai/settings/key-management 取得 Novita AI API 金鑰。
    api_key="<YOUR Novita AI API Key>",
)

model = "meta-llama/llama-4-scout-17b-16e-instruct"
  • 定義要呼叫的函式

接下來,定義模型可以呼叫的 Python 函式。在此範例中,是一個用來取得天氣資訊的函式。

# 模擬擷取天氣資料的範例函式。
def get_weather(location):
    """取得指定地點的目前天氣。"""
    print("正在以 location 參數呼叫 get_weather 函式:", location)
    # 在實際應用中,您應在此處呼叫外部天氣 API。
    # 這是僅傳回硬編碼資料的簡化範例。
    return json.dumps({"location": location, "temperature": "60 degrees Fahrenheit"})

2. 使用工具和使用者訊息建構 API 請求

現在,建立對 Novita 端點的 API 請求。此請求包含 tools 參數(定義模型可以使用的函式)以及使用者的訊息。

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "取得某個地點的天氣,使用者應先提供地點",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "城市和州,例如 San Francisco, CA",
                    }
                },
                "required": ["location"]
            },
        }
    },
]

messages = [
    {
        "role": "user",
        "content": "What is the weather in San Francisco?"
    }
]

# 傳送請求並輸出回應。
response = client.chat.completions.create(
    model=model,
    messages=messages,
    tools=tools,
)

# 若在正式環境中,請檢查回應是否包含工具呼叫。
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.model_dump())

3. 輸出

{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}

4. 回傳函式呼叫結果並取得最終答案

下一步是處理函式呼叫、執行 get_weather 函式,並將結果送回模型以生成對使用者的最終回應。

# 確保已從上一步驟定義 tool_call
if tool_call:
    # 擴展對話歷史,加入助理的工具呼叫訊息
    messages.append(response.choices[0].message)

    function_name = tool_call.function.name
    if function_name == "get_weather":
        function_args = json.loads(tool_call.function.arguments)
        # 執行函式並取得回應
        function_response = get_weather(
            location=function_args.get("location"))
        # 將函式回應附加到訊息中
        messages.append(
            {
                "tool_call_id": tool_call.id,
                "role": "tool",
                "content": function_response,
            }
        )

    # 從模型取得最終回應,現在包含函式結果
    answer_response = client.chat.completions.create(
        model=model,
        messages=messages,
        # 注意:此處不包含 tools 參數。
    )
    print(answer_response.choices[0].message)

5. 輸出

{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}

透過 Llama 4 Scout 和 Novita AI,函式呼叫重新定義了 LLM 的應用,為現代需求提供即時、動態的解決方案。

常見問題

什麼是函式呼叫?

它讓 LLM 能夠觸發外部工具或 API 來執行任務並擷取資料。

Llama 4 Scout 如何與函式呼叫搭配運作?

Llama 4 Scout 透過 Novita AI 簡化了即時系統整合。

函式呼叫適合即時需求嗎?

是的,它非常適合 API 呼叫或動態資料查詢等任務。

Novita AI 是全方位雲端平台,助力您的 AI 雄心。整合 API、無伺服器、GPU 實例——您所需的經濟高效工具。無需基礎設施,免費開始,讓 AI 願景成真。

推薦閱讀