Google Gemini API Tool Calling
Overview
You can use this Snap to provide a conversational interface with the ability to call external tools or services based on your interaction and context. This Snap sends a message that contains the conversation history, a tool definition list, and other query parameters to the Google Gemini API endpoint.
- Transform-type Snap
- Works in Ultra Tasks
Prerequisites
- A valid Google GenAI Service Account, Google GenAI Access Token Account or Google Gemini API Key Account configured with the following OAuth scope https://www.googleapis.com/auth/generative-language.
Known issues
None.
Limitations
- gemini-1.0-pro and gemini-1.5-pro is not supported for the Top K field.
Snap views
View | Description | Examples of upstream and downstream Snaps |
---|---|---|
Input | This Snap supports exactly one document input view. The input has a message list that contains the conversation history, a tool definition list, and other query parameters to the Google Gemini API. | |
Output |
This Snap supports exactly two document output views.
|
|
Error |
Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:
Learn more about Error handling in Pipelines. |
Snap settings
- Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.
- Expression icon (): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.
- Add icon (): Indicates that you can add fields in the field set.
- Remove icon (): Indicates that you can remove fields from the field set.
Field / field set | Type | Description |
---|---|---|
Label | String |
Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline. Default value: Google Gemini API Tool Calling Example: Weather report |
Model name | String/Expression |
Required. Specify the model name to generate text responses. Learn more about the list of compatible models from Gemini API. Default value: N/A Example: models/gemini-1.5-pro |
Content payload | String/Expression | Required. Specify the content payload to send to Google
Gemini. The content received from the Google GenAI Prompt Generator Snap is in the correct
format. For example,
Default value: N/A Example: $messages |
Tool payload | String/Expression |
Required. Specify the list of tool definitions to send to the model. Default value: N/A Example: $tools |
Tool configurations |
Use this field set to modify the tool calling settings to guide the model responses and optimize the output processing. |
|
Function calling mode | Dropdown list/Expression |
Required. Choose the preferred tool which the model has to
call. Available options include:
Default value: AUTO Example: ANY |
Allowed function names | String/Expression |
Appears when you select the Tool choice as ANY or expression enabled. Required. Specify the name of the function the model can call. Default value: N/A Example: get_weather_info |
Model parameters | Configure the parameters to tune the model runtime. | |
Maximum tokens | Integer/Expression |
Specify the maximum number of tokens to generate in the chat completion. If left
blank, the default value of the model is used.
Note: The response may be incomplete if the sum of the
prompt tokens and Maximum tokens exceed the allowed token limit for the model. Minimum value: 1 Maximum value: Unlimited Default value: N/A Example: 50 |
Temperature | Decimal/Expression |
Specify the sampling temperature to use a decimal value between 0 and 1. If left blank, the default value of the model is used. Learn more about the minimum, maximum, and default values for each model. Minimum value: 0.0 Maximum value: 2.0 Default value: N/A Example: 0.2 |
Top P | Decimal/Expression |
Specify the nucleus sampling value as a decimal between 0 and 1. This value sets the cumulative probability threshold for selecting tokens, which influences the diversity of the generated content. Lower values may result in more focused and deterministic responses, while higher values can increase content variability. If left blank, the default value of the model is used. The default values for each model are as follows:
Minimum value: 0.0 Maximum value: 1.0 Default value: N/A Example: 0.2 |
Top K | Integer/Expression |
Specify a value to limit the number of high-probability tokens considered for
each generation step to control the randomness of the output. If left blank, the
default value of the model is used.
Note: Models
gemini-1.0-pro and
gemini-1.5-pro is not supported. Minimum value: 1 Maximum value: 40 Default value: N/A Example: 30 |
Stop sequences | String/Expression |
Specify a sequence of texts or tokens to stop the model from generating further output. Learn more. Note:
Default value: N/A Example: pay, ["amazing"], ["September", "paycheck"] |
Advanced prompt configuration | Configure the prompt settings to guide the model responses and optimize output processing. | |
System Prompt | String/Expression |
Specify the persona for the model to adopt in the responses. This initial instruction guides the LLM's responses and actions. This prompt prepares for the conversation by defining role, personality, tone, and other relevant details to understand and respond to the user's input. Note:
Default value: N/A Example:
|
Advanced response configurations | Configure the response settings to customize the responses and optimize output processing. | |
Simplify response | Checkbox/Expression | Select this checkbox to receive a simplified response format that retains only
the most commonly used fields and standardizes the output for compatibility with
other models. This option supports only a single choice response. Here's an example
of a simplified output format.
Important: This field does not support upstream
values.
Default status: Deselected |
Snap execution | Dropdown list |
Select one of the three modes in which the Snap executes.
Available options are:
Default value: Validate & Execute Example: Execute only |
Additional information
The following table lists the Models and their corresponding minimum, maximum, and default values for the Temperature field:
Model Name | Default value | Minimum value | Maximum value |
---|---|---|---|
gemini-1.5-pro | 1.0 | 0.0 | 2.0 |
gemini-1.0-pro-002 | 1.0 | 0.0 | 2.0 |
gemini-1.0-pro-001 | 0.9 | 0.0 | 1.0 |