函式呼叫 (亦稱工具使用) 可為大型語言模型提供外部工具的定義 (例如 get_current_weather 函式)。處理提示時,模型會智慧判斷是否需要工具,如果需要,則會輸出結構化資料,指定要呼叫的工具及其參數 (例如 get_current_weather(location='Boston'))。接著,應用程式會執行這項工具,將結果回饋給模型,讓模型能以動態的實際資訊或動作結果完成回覆。這項功能可有效連結 LLM 與您的系統,並擴充 LLM 的功能。
函式呼叫功能主要有兩種用途:
擷取資料:擷取最新資訊,用於模型回覆,例如目前天氣、貨幣換算,或是知識庫和 API 中的特定資料 (RAG)。
採取行動:執行外部作業,例如提交表單、更新應用程式狀態,或協調代理工作流程 (例如交接對話)。
如要查看更多函式呼叫支援的用途和範例,請參閱「用途」。
功能與限制
下列模型支援函式呼叫:
Gemini 模型:
開放式模型:
最多可指定 512 個
FunctionDeclarations以 OpenAPI 結構定義格式定義函式。
如要瞭解函式宣告相關最佳做法,包括名稱和說明的提示,請參閱「最佳做法」。
如要使用開放模型,請參閱這份使用者指南。
如何建立函式呼叫應用程式
如要使用函式呼叫功能,請執行下列工作:
步驟 1:將提示和函式聲明提交給模型
以與 OpenAPI 結構定義 相容的結構定義格式宣告 Tool。詳情請參閱結構定義範例。
下列範例會將提示和函式宣告提交給 Gemini 模型。
REST
PROJECT_ID=myproject LOCATION=us-central1 MODEL_ID=gemini-2.0-flash-001 curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ "role": "user", "parts": [{ "text": "What is the weather in Boston?" }] }], "tools": [{ "functionDeclarations": [ { "name": "get_current_weather", "description": "Get the current weather in a given location", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city name of the location for which to get the weather.", "default": { "string_value": "Boston, MA" } } }, "required": [ "location" ] } } ] }] }' Python
您可以手動使用 Python 字典指定結構定義,也可以使用 from_func 輔助函式自動指定。以下範例說明如何手動宣告函式。
import vertexai from vertexai.generative_models import ( Content, FunctionDeclaration, GenerationConfig, GenerativeModel, Part, Tool, ToolConfig ) # Initialize Vertex AI # TODO(developer): Update the project vertexai.init(project="PROJECT_ID", location="us-central1") # Initialize Gemini model model = GenerativeModel(model_name="gemini-2.0-flash") # Manual function declaration get_current_weather_func = FunctionDeclaration( name="get_current_weather", description="Get the current weather in a given location", # Function parameters are specified in JSON schema format parameters={ "type": "object", "properties": { "location": { "type": "string", "description": "The city name of the location for which to get the weather.", "default": { "string_value": "Boston, MA" } } }, }, ) response = model.generate_content( contents = [ Content( role="user", parts=[ Part.from_text("What is the weather like in Boston?"), ], ) ], generation_config = GenerationConfig(temperature=0), tools = [ Tool( function_declarations=[get_current_weather_func], ) ] ) 或者,您也可以使用 from_func 輔助函式自動宣告函式,如下列範例所示:
def get_current_weather(location: str = "Boston, MA"): """ Get the current weather in a given location Args: location: The city name of the location for which to get the weather. """ # This example uses a mock implementation. # You can define a local function or import the requests library to call an API return { "location": "Boston, MA", "temperature": 38, "description": "Partly Cloudy", "icon": "partly-cloudy", "humidity": 65, "wind": { "speed": 10, "direction": "NW" } } get_current_weather_func = FunctionDeclaration.from_func(get_current_weather) Node.js
這個範例會示範文字情境,其中包含一個函式和一個提示。
Node.js
在試用這個範例之前,請先按照Node.js使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Node.js API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Go
這個範例會示範文字情境,其中包含一個函式和一個提示。
瞭解如何安裝或更新 Go。
詳情請參閱 SDK 參考說明文件。
設定環境變數,透過 Vertex AI 使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
C#
這個範例會示範文字情境,其中包含一個函式和一個提示。
C#
在試用這個範例之前,請先按照C#使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI C# API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Java
Java
在試用這個範例之前,請先按照Java使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Java API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
如果模型判斷需要特定函式的輸出內容,應用程式從模型收到的回覆會包含函式名稱,以及應呼叫函式的參數值。
以下是模型對使用者提示「波士頓的天氣如何?」的回覆範例。模型建議使用參數 Boston, MA 呼叫 get_current_weather 函式。
candidates { content { role: "model" parts { function_call { name: "get_current_weather" args { fields { key: "location" value { string_value: "Boston, MA" } } } } } } ... } 步驟 2:向模型提供 API 輸出內容
呼叫外部 API,並將 API 輸出內容傳回模型。
以下範例使用合成資料模擬外部 API 的回應酬載,並將輸出內容傳回模型。
REST
PROJECT_ID=myproject MODEL_ID=gemini-2.0-flash LOCATION="us-central1" curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [ { "role": "user", "parts": { "text": "What is the weather in Boston?" } }, { "role": "model", "parts": [ { "functionCall": { "name": "get_current_weather", "args": { "location": "Boston, MA" } } } ] }, { "role": "user", "parts": [ { "functionResponse": { "name": "get_current_weather", "response": { "temperature": 20, "unit": "C" } } } ] } ], "tools": [ { "function_declarations": [ { "name": "get_current_weather", "description": "Get the current weather in a specific location", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city name of the location for which to get the weather." } }, "required": [ "location" ] } } ] } ] }' Python
function_response_contents = [] function_response_parts = [] # Iterates through the function calls in the response in case there are parallel function call requests for function_call in response.candidates[0].function_calls: print(f"Function call: {function_call.name}") # In this example, we'll use synthetic data to simulate a response payload from an external API if (function_call.args['location'] == "Boston, MA"): api_response = { "location": "Boston, MA", "temperature": 38, "description": "Partly Cloudy" } if (function_call.args['location'] == "San Francisco, CA"): api_response = { "location": "San Francisco, CA", "temperature": 58, "description": "Sunny" } function_response_parts.append( Part.from_function_response( name=function_call.name, response={"contents": api_response} ) ) # Add the function call response to the contents function_response_contents = Content(role="user", parts=function_response_parts) # Submit the User's prompt, model's response, and API output back to the model response = model.generate_content( [ Content( # User prompt role="user", parts=[ Part.from_text("What is the weather like in Boston?"), ], ), response.candidates[0].content, # Function call response function_response_contents # API output ], tools=[ Tool( function_declarations=[get_current_weather_func], ) ], ) # Get the model summary response print(response.text) 如需 API 呼叫相關最佳做法,請參閱「最佳做法 - API 呼叫」。
如果模型建議進行多個平行函式呼叫,應用程式必須將所有回應提供給模型。詳情請參閱「平行函式呼叫範例」。
模型可能會判斷回應提示時,需要其他函式的輸出內容。在這種情況下,應用程式從模型收到的回覆會包含另一個函式名稱和另一組參數值。
如果模型判斷 API 回應足以回覆使用者提示,就會生成自然語言回覆並傳回給應用程式。在這種情況下,應用程式必須將回應傳回給使用者。以下是自然語言回應的範例:
It is currently 38 degrees Fahrenheit in Boston, MA with partly cloudy skies.
函式呼叫 (附帶想法)
啟用 thinking 呼叫函式時,您需要從模型回應物件取得 thought_signature,並在將函式執行結果傳回模型時傳回該物件。例如:
Python
# Call the model with function declarations # ...Generation config, Configure the client, and Define user prompt (No changes) # Send request with declarations (using a thinking model) response = client.models.generate_content( model="gemini-2.5-flash", config=config, contents=contents) # See thought signatures for part in response.candidates[0].content.parts: if not part.text: continue if part.thought and part.thought_signature: print("Thought signature:") print(part.thought_signature) 您不一定要查看想法簽章,但需要調整步驟 2,連同函式執行結果一併傳回簽章,這樣模型才能將想法納入最終回應:
Python
# Create user friendly response with function result and call the model again # ...Create a function response part (No change) # Append thought signatures, function call and result of the function execution to contents function_call_content = response.candidates[0].content # Append the model's function call message, which includes thought signatures contents.append(function_call_content) contents.append(types.Content(role="user", parts=[function_response_part])) # Append the function response final_response = client.models.generate_content( model="gemini-2.5-flash", config=config, contents=contents, ) print(final_response.text) 傳回想法簽章時,請遵循下列準則:
- 模型會在回應的其他部分傳回簽章,例如函式呼叫、文字、文字或想法摘要部分。在後續回合中,將整個回覆連同所有部分傳回模型。
- 請勿將含有簽章的部分與另一個也含有簽章的部分合併。簽名無法串連在一起。
- 請勿將有簽名的部分與沒有簽名的部分合併。 這會破壞簽名所代表想法的正確位置。
如要進一步瞭解思維簽章的限制和用途,以及一般思維模型,請參閱「思維」頁面。
平行函式呼叫
如果是「取得波士頓和舊金山的天氣詳細資料?」等提示,模型可能會建議多個平行函式呼叫。如需支援平行函式呼叫的模型清單,請參閱「支援的模型」。
REST
這個範例會示範使用一個 get_current_weather 函式的案例。 使用者提示為「Get weather details in Boston and San Francisco?」(取得波士頓和舊金山的天氣詳細資料)。模型會建議兩個並行的 get_current_weather 函式呼叫:一個使用 Boston 參數,另一個使用 San Francisco 參數。
如要進一步瞭解要求參數,請參閱 Gemini API。
{ "candidates": [ { "content": { "role": "model", "parts": [ { "functionCall": { "name": "get_current_weather", "args": { "location": "Boston" } } }, { "functionCall": { "name": "get_current_weather", "args": { "location": "San Francisco" } } } ] }, ... } ], ... } 以下指令示範如何將函式輸出內容提供給模型。將 my-project 替換為您的 Google Cloud 專案名稱。
模型要求
PROJECT_ID=my-project MODEL_ID=gemini-2.0-flash LOCATION="us-central1" curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [ { "role": "user", "parts": { "text": "What is difference in temperature in Boston and San Francisco?" } }, { "role": "model", "parts": [ { "functionCall": { "name": "get_current_weather", "args": { "location": "Boston" } } }, { "functionCall": { "name": "get_current_weather", "args": { "location": "San Francisco" } } } ] }, { "role": "user", "parts": [ { "functionResponse": { "name": "get_current_weather", "response": { "temperature": 30.5, "unit": "C" } } }, { "functionResponse": { "name": "get_current_weather", "response": { "temperature": 20, "unit": "C" } } } ] } ], "tools": [ { "function_declarations": [ { "name": "get_current_weather", "description": "Get the current weather in a specific location", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city name of the location for which to get the weather." } }, "required": [ "location" ] } } ] } ] }' 模型產生的自然語言回覆如下:
模型回覆
[ { "candidates": [ { "content": { "parts": [ { "text": "The temperature in Boston is 30.5C and the temperature in San Francisco is 20C. The difference is 10.5C. \n" } ] }, "finishReason": "STOP", ... } ] ... } ] Python
這個範例會示範使用一個 get_current_weather 函式的案例。 使用者提示為「波士頓和舊金山的天氣如何?」。
將 my-project 替換為您的 Google Cloud 專案名稱。
import vertexai from vertexai.generative_models import ( Content, FunctionDeclaration, GenerationConfig, GenerativeModel, Part, Tool, ToolConfig ) # Initialize Vertex AI # TODO(developer): Update the project vertexai.init(project="my-project", location="us-central1") # Initialize Gemini model model = GenerativeModel(model_name="gemini-2.0-flash") # Manual function declaration get_current_weather_func = FunctionDeclaration( name="get_current_weather", description="Get the current weather in a given location", # Function parameters are specified in JSON schema format parameters={ "type": "object", "properties": { "location": { "type": "string", "description": "The city name of the location for which to get the weather.", "default": { "string_value": "Boston, MA" } } }, }, ) response = model.generate_content( contents = [ Content( role="user", parts=[ Part.from_text("What is the weather like in Boston and San Francisco?"), ], ) ], generation_config = GenerationConfig(temperature=0), tools = [ Tool( function_declarations=[get_current_weather_func], ) ] ) 以下指令示範如何將函式輸出內容提供給模型。
function_response_contents = [] function_response_parts = [] # You can have parallel function call requests for the same function type. # For example, 'location_to_lat_long("London")' and 'location_to_lat_long("Paris")' # In that case, collect API responses in parts and send them back to the model for function_call in response.candidates[0].function_calls: print(f"Function call: {function_call.name}") # In this example, we'll use synthetic data to simulate a response payload from an external API if (function_call.args['location'] == "Boston, MA"): api_response = { "location": "Boston, MA", "temperature": 38, "description": "Partly Cloudy" } if (function_call.args['location'] == "San Francisco, CA"): api_response = { "location": "San Francisco, CA", "temperature": 58, "description": "Sunny" } function_response_parts.append( Part.from_function_response( name=function_call.name, response={"contents": api_response} ) ) # Add the function call response to the contents function_response_contents = Content(role="user", parts=function_response_parts) function_response_contents response = model.generate_content( contents = [ Content( role="user", parts=[ Part.from_text("What is the weather like in Boston and San Francisco?"), ], ), # User prompt response.candidates[0].content, # Function call response function_response_contents, # Function response ], tools = [ Tool( function_declarations=[get_current_weather_func], ) ] ) # Get the model summary response print(response.text) Go
函式呼叫模式
您可以在 function_calling_config 中設定模式,控管模型使用所提供工具 (函式宣告) 的方式。
| 模式 | 說明 |
|---|---|
AUTO | 預設模型行為。模型會根據情境,決定要預測函式呼叫或以自然語言回應。這是最彈性的模式,建議在大多數情況下使用。 |
VALIDATED (預先發布版) | 模型只能預測函式呼叫或自然語言,並確保符合函式結構定義。如果未提供 allowed_function_names,模型會從所有可用的函式宣告中挑選。如果提供 allowed_function_names,模型會從允許的函式集中挑選。 |
ANY | 模型一律會預測一或多個函式呼叫,並確保符合函式結構定義。如果未提供 allowed_function_names,模型會從所有可用的函式宣告中挑選。如果提供 allowed_function_names,模型會從允許的函式集中挑選。如果需要每則提示 (如適用) 的函式呼叫回應,請使用這個模式。 |
NONE | 模型不得呼叫函式。這等同於傳送不含任何函式宣告的要求。使用這個模式可暫時停用函式呼叫,不必移除工具定義。 |
強制函式呼叫
您可以強制模型只預測函式呼叫,而非允許模型在自然語言回應和函式呼叫之間選擇。這稱為「強制函式呼叫」。您也可以選擇向模型提供完整的函式宣告集,但將模型的回應限制在這些函式的子集。
以下範例會強制只預測 get_weather 函式呼叫。
Python
response = model.generate_content( contents = [ Content( role="user", parts=[ Part.from_text("What is the weather like in Boston?"), ], ) ], generation_config = GenerationConfig(temperature=0), tools = [ Tool( function_declarations=[get_weather_func, some_other_function], ) ], tool_config=ToolConfig( function_calling_config=ToolConfig.FunctionCallingConfig( # ANY mode forces the model to predict only function calls mode=ToolConfig.FunctionCallingConfig.Mode.ANY, # Allowed function calls to predict when the mode is ANY. If empty, any of # the provided function calls will be predicted. allowed_function_names=["get_weather"], ) ) ) 函式結構定義範例
函式宣告與 OpenAPI 結構定義相容。我們支援下列屬性:type、nullable、required、format、description、properties、items、enum、anyOf、$ref 和 $defs。系統不支援其餘屬性。
包含物件和陣列參數的函式
下列範例使用 Python 字典宣告函式,該函式會同時採用物件和陣列參數:
extract_sale_records_func = FunctionDeclaration( name="extract_sale_records", description="Extract sale records from a document.", parameters={ "type": "object", "properties": { "records": { "type": "array", "description": "A list of sale records", "items": { "description": "Data for a sale record", "type": "object", "properties": { "id": {"type": "integer", "description": "The unique id of the sale."}, "date": {"type": "string", "description": "Date of the sale, in the format of MMDDYY, e.g., 031023"}, "total_amount": {"type": "number", "description": "The total amount of the sale."}, "customer_name": {"type": "string", "description": "The name of the customer, including first name and last name."}, "customer_contact": {"type": "string", "description": "The phone number of the customer, e.g., 650-123-4567."}, }, "required": ["id", "date", "total_amount"], }, }, }, "required": ["records"], }, )
包含列舉參數的函式
下列範例使用 Python 字典宣告函式,該函式會採用整數 enum 參數:
set_status_func = FunctionDeclaration( name="set_status", description="set a ticket's status field", # Function parameters are specified in JSON schema format parameters={ "type": "object", "properties": { "status": { "type": "integer", "enum": [ "10", "20", "30" ], # Provide integer (or any other type) values as strings. } }, }, )
包含 ref 和 def 的函式
下列 JSON 函式宣告會使用 ref 和 defs 屬性:
{ "contents": ..., "tools": [ { "function_declarations": [ { "name": "get_customer", "description": "Search for a customer by name", "parameters": { "type": "object", "properties": { "first_name": { "ref": "#/defs/name" }, "last_name": { "ref": "#/defs/name" } }, "defs": { "name": { "type": "string" } } } } ] } ] }
使用須知:
- 與 OpenAPI 結構定義不同,請指定
ref和defs,但不要使用$符號。 ref必須參照defs的直接子項,不得參照外部項目。- 巢狀結構的深度上限為 32。
defs中的遞迴深度 (自我參照) 最多為 2。
from_func (含陣列參數)
下列程式碼範例會宣告一個函式,用於將數字陣列相乘,並使用 from_func 生成 FunctionDeclaration 結構定義。
from typing import List # Define a function. Could be a local function or you can import the requests library to call an API def multiply_numbers(numbers: List[int] = [1, 1]) -> int: """ Calculates the product of all numbers in an array. Args: numbers: An array of numbers to be multiplied. Returns: The product of all the numbers. If the array is empty, returns 1. """ if not numbers: # Handle empty array return 1 product = 1 for num in numbers: product *= num return product multiply_number_func = FunctionDeclaration.from_func(multiply_numbers) """ multiply_number_func contains the following schema: {'name': 'multiply_numbers', 'description': 'Calculates the product of all numbers in an array.', 'parameters': {'properties': {'numbers': {'items': {'type': 'INTEGER'}, 'description': 'list of numbers', 'default': [1.0, 1.0], 'title': 'Numbers', 'type': 'ARRAY'}}, 'description': 'Calculates the product of all numbers in an array.', 'title': 'multiply_numbers', 'property_ordering': ['numbers'], 'type': 'OBJECT'}} """
函式呼叫的最佳做法
撰寫清楚詳盡的函式名稱、參數說明和指令
函式名稱應以英文字母或底線開頭,且只能包含 a-z、A-Z、0-9、底線、半形句點或連字號,長度上限為 64 個字元。
函式和參數說明必須非常清楚明確。 模型會根據這些資訊選擇正確的函式,並提供適當的引數。舉例來說,
book_flight_ticket函式可以有book flight tickets after confirming users' specific requirements, such as time, departure, destination, party size and preferred airline說明
使用強型別參數
如果參數值來自有限集合,請新增 enum 欄位,而不是將值集合放入說明中。如果參數值一律為整數,請將類型設為 integer,而非 number。
工具選取
模型可以使用任意數量的工具,但如果提供的工具過多,選取錯誤或次佳工具的風險就會增加。為獲得最佳結果,請盡量只提供與情境或工作相關的工具,最好將有效工具組維持在最多 10 到 20 個。如果工具總數很多,請考慮根據對話內容動態選取工具。
如果您提供一般低階工具 (例如 bash),模型可能會更常使用該工具,但準確度會降低。如果您提供特定高階工具 (例如 get_weather),模型就能更準確地使用該工具,但可能不會經常使用。
使用系統指示
使用含有日期、時間或位置參數的函式時,請在系統指令中加入目前日期、時間或相關位置資訊 (例如城市和國家/地區)。即使使用者提示缺少詳細資料,模型也能取得必要背景資訊,準確處理要求。
提示工程
為獲得最佳結果,請在使用者提示前加上下列詳細資料:
- 模型的額外背景資訊,例如
You are a flight API assistant to help with searching flights based on user preferences. - 如何及何時使用函式的詳細資料或操作說明,例如
Don't make assumptions on the departure or destination airports. Always use a future date for the departure or destination time. - 如果使用者查詢內容模稜兩可,請提出釐清問題的操作說明,例如
Ask clarifying questions if not enough information is available.
使用生成設定
如為 temperature 參數,請使用 0 或其他較低的值。這會指示模型生成更可靠的結果,並減少幻覺。
使用結構化輸出內容
函式呼叫功能可與結構化輸出內容搭配使用,讓模型一律預測函式呼叫或符合特定結構定義的輸出內容,確保模型未產生函式呼叫時,您也能收到格式一致的回覆。
驗證 API 呼叫
如果模型建議呼叫會傳送訂單、更新資料庫或產生重大影響的函式,請先向使用者確認函式呼叫,再執行函式。
使用想法簽名檔
為求最佳成效,思維簽章應一律搭配函式呼叫使用。
定價
函式呼叫的價格是根據文字輸入和輸出內容的字元數計算。詳情請參閱 Vertex AI 定價。
這裡的文字輸入內容 (提示) 是指目前對話輪次的使用者提示、目前對話輪次的函式宣告,以及對話記錄。對話記錄包含先前的查詢、函式呼叫和函式回覆。Vertex AI 會將對話記錄截斷為 32,000 個字元。
文字輸出內容 (回應) 是指目前對話輪次的函式呼叫和文字回應。
函式呼叫的用途
您可以使用函式呼叫執行下列工作:
| 用途 | 範例說明 | 範例連結 |
|---|---|---|
| 整合外部 API | 使用氣象 API 取得天氣資訊 | 筆記本教學課程 |
| 將地址轉換為經緯度座標 | 筆記本教學課程 | |
| 使用貨幣匯率 API 轉換貨幣 | Codelab | |
| 建構進階聊天機器人 | 回答顧客對產品和服務的疑問 | 筆記本教學課程 |
| 建立助理,回答有關公司的財務和新聞問題 | 筆記本教學課程 | |
| 規劃並控管函式呼叫 | 從原始記錄資料中擷取結構化實體 | 筆記本教學課程 |
| 從使用者輸入內容中擷取單一或多個參數 | 筆記本教學課程 | |
| 在函式呼叫中處理清單和巢狀資料結構 | 筆記本教學課程 | |
| 處理函式呼叫行為 | 處理平行函式呼叫和回應 | 筆記本教學課程 |
| 管理模型可呼叫的函式和時間 | 筆記本教學課程 | |
| 以自然語言查詢資料庫 | 將自然語言問題轉換為 BigQuery 的 SQL 查詢 | 範例應用程式 |
| 多模態函式呼叫 | 使用圖片、影片、音訊和 PDF 檔做為輸入內容,觸發函式呼叫 | 筆記本教學課程 |
以下列舉更多用途:
解讀語音指令:建立與車內工作對應的函式。舉例來說,你可以建立開啟收音機或啟動空調的函式。將使用者語音指令的音訊檔案傳送至模型,並要求模型將音訊轉換為文字,以及找出使用者想呼叫的函式。
根據環境觸發條件自動執行工作流程:建立函式來代表可自動執行的程序。提供環境感應器資料給模型,並要求模型剖析及處理資料,判斷是否應啟動一或多個工作流程。舉例來說,模型可以處理倉庫中的溫度資料,並選擇啟動灑水器功能。
自動指派支援單:提供支援單、記錄和具備情境感知的規則給模型。要求模型處理所有資訊,判斷應將支援單指派給誰。呼叫函式,將票證指派給模型建議的人員。
從知識庫檢索資訊:建立函式,檢索特定主題的學術文章並摘要內容。讓模型回答學術主題的問題,並提供答案的引用來源。
後續步驟
請參閱函式呼叫的 API 參考資料。