Config shared for all tools provided in the request.
Usage:
Create ToolConfig
```
tool_config = ToolConfig(
function_calling_config=ToolConfig.FunctionCallingConfig(
mode=ToolConfig.FunctionCallingConfig.Mode.ANY,
allowed_function_names=["get_current_weather_func"],
))
```
Use ToolConfig in `GenerativeModel.generate_content`:
```
model = GenerativeModel("gemini-pro")
print(model.generate_content(
"What is the weather like in Boston?",
# You can specify tools when creating a model to avoid having to send them with every request.
tools=[weather_tool],
tool_config=tool_config,
))
```
Use ToolConfig in chat:
```
model = GenerativeModel(
"gemini-pro",
# You can specify tools when creating a model to avoid having to send them with every request.
tools=[weather_tool],
tool_config=tool_config,
)
chat = model.start_chat()
print(chat.send_message("What is the weather like in Boston?"))
print(chat.send_message(
Part.from_function_response(
name="get_current_weather",
response={
"content": {"weather_there": "super nice"},
}
),
))
```
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# Class ToolConfig (1.95.1)\n\nVersion latestkeyboard_arrow_down\n\n- [1.95.1 (latest)](/python/docs/reference/vertexai/latest/vertexai.preview.generative_models.ToolConfig)\n- [1.94.0](/python/docs/reference/vertexai/1.94.0/vertexai.preview.generative_models.ToolConfig)\n- [1.93.1](/python/docs/reference/vertexai/1.93.1/vertexai.preview.generative_models.ToolConfig)\n- [1.92.0](/python/docs/reference/vertexai/1.92.0/vertexai.preview.generative_models.ToolConfig)\n- [1.91.0](/python/docs/reference/vertexai/1.91.0/vertexai.preview.generative_models.ToolConfig)\n- [1.90.0](/python/docs/reference/vertexai/1.90.0/vertexai.preview.generative_models.ToolConfig)\n- [1.89.0](/python/docs/reference/vertexai/1.89.0/vertexai.preview.generative_models.ToolConfig)\n- [1.88.0](/python/docs/reference/vertexai/1.88.0/vertexai.preview.generative_models.ToolConfig)\n- [1.87.0](/python/docs/reference/vertexai/1.87.0/vertexai.preview.generative_models.ToolConfig)\n- [1.86.0](/python/docs/reference/vertexai/1.86.0/vertexai.preview.generative_models.ToolConfig)\n- [1.85.0](/python/docs/reference/vertexai/1.85.0/vertexai.preview.generative_models.ToolConfig)\n- [1.84.0](/python/docs/reference/vertexai/1.84.0/vertexai.preview.generative_models.ToolConfig)\n- [1.83.0](/python/docs/reference/vertexai/1.83.0/vertexai.preview.generative_models.ToolConfig)\n- [1.82.0](/python/docs/reference/vertexai/1.82.0/vertexai.preview.generative_models.ToolConfig)\n- [1.81.0](/python/docs/reference/vertexai/1.81.0/vertexai.preview.generative_models.ToolConfig)\n- [1.80.0](/python/docs/reference/vertexai/1.80.0/vertexai.preview.generative_models.ToolConfig)\n- [1.79.0](/python/docs/reference/vertexai/1.79.0/vertexai.preview.generative_models.ToolConfig)\n- [1.78.0](/python/docs/reference/vertexai/1.78.0/vertexai.preview.generative_models.ToolConfig)\n- [1.77.0](/python/docs/reference/vertexai/1.77.0/vertexai.preview.generative_models.ToolConfig)\n- [1.76.0](/python/docs/reference/vertexai/1.76.0/vertexai.preview.generative_models.ToolConfig)\n- [1.75.0](/python/docs/reference/vertexai/1.75.0/vertexai.preview.generative_models.ToolConfig)\n- [1.74.0](/python/docs/reference/vertexai/1.74.0/vertexai.preview.generative_models.ToolConfig)\n- [1.73.0](/python/docs/reference/vertexai/1.73.0/vertexai.preview.generative_models.ToolConfig)\n- [1.72.0](/python/docs/reference/vertexai/1.72.0/vertexai.preview.generative_models.ToolConfig)\n- [1.71.1](/python/docs/reference/vertexai/1.71.1/vertexai.preview.generative_models.ToolConfig)\n- [1.70.0](/python/docs/reference/vertexai/1.70.0/vertexai.preview.generative_models.ToolConfig)\n- [1.69.0](/python/docs/reference/vertexai/1.69.0/vertexai.preview.generative_models.ToolConfig)\n- [1.68.0](/python/docs/reference/vertexai/1.68.0/vertexai.preview.generative_models.ToolConfig)\n- [1.67.1](/python/docs/reference/vertexai/1.67.1/vertexai.preview.generative_models.ToolConfig)\n- [1.66.0](/python/docs/reference/vertexai/1.66.0/vertexai.preview.generative_models.ToolConfig)\n- [1.65.0](/python/docs/reference/vertexai/1.65.0/vertexai.preview.generative_models.ToolConfig)\n- [1.63.0](/python/docs/reference/vertexai/1.63.0/vertexai.preview.generative_models.ToolConfig)\n- [1.62.0](/python/docs/reference/vertexai/1.62.0/vertexai.preview.generative_models.ToolConfig)\n- [1.60.0](/python/docs/reference/vertexai/1.60.0/vertexai.preview.generative_models.ToolConfig)\n- [1.59.0](/python/docs/reference/vertexai/1.59.0/vertexai.preview.generative_models.ToolConfig) \n\n ToolConfig(\n function_calling_config: vertexai.generative_models._generative_models.ToolConfig.FunctionCallingConfig,\n )\n\nConfig shared for all tools provided in the request.\n\nUsage:\nCreate ToolConfig \n\n ```\n tool_config = ToolConfig(\n function_calling_config=ToolConfig.FunctionCallingConfig(\n mode=ToolConfig.FunctionCallingConfig.Mode.ANY,\n allowed_function_names=[\"get_current_weather_func\"],\n ))\n ```\n\n Use ToolConfig in `GenerativeModel.generate_content`:\n\n ```\n model = GenerativeModel(\"gemini-pro\")\n print(model.generate_content(\n \"What is the weather like in Boston?\",\n # You can specify tools when creating a model to avoid having to send them with every request.\n tools=[weather_tool],\n tool_config=tool_config,\n ))\n ```\n\n Use ToolConfig in chat:\n\n ```\n model = GenerativeModel(\n \"gemini-pro\",\n # You can specify tools when creating a model to avoid having to send them with every request.\n tools=[weather_tool],\n tool_config=tool_config,\n )\n chat = model.start_chat()\n print(chat.send_message(\"What is the weather like in Boston?\"))\n print(chat.send_message(\n Part.from_function_response(\n name=\"get_current_weather\",\n response={\n \"content\": {\"weather_there\": \"super nice\"},\n }\n ),\n ))\n ```"]]