Package generative_models (1.93.1)

API documentation for generative_models package.

Classes

Candidate

A response candidate generated by the model.

ChatSession

Chat session holds the chat history.

Content

The multi-part content of a message.

Usage:

```
response = model.generate_content(contents=[
 Content(role="user", parts=[Part.from_text("Why is sky blue?")])
])
```

FinishReason

The reason why the model stopped generating tokens. If empty, the model has not stopped generating the tokens.

FunctionCall

Function call.

FunctionDeclaration

A representation of a function declaration.

Usage: Create function declaration and tool:

```
get_current_weather_func = generative_models.FunctionDeclaration(
 name="get_current_weather",
 description="Get the current weather in a given location",
 parameters={
 "type": "object",
 "properties": {
 "location": {
 "type": "string",
 "description": "The city and state, e.g. San Francisco, CA"
 },
 "unit": {
 "type": "string",
 "enum": [
 "celsius",
 "fahrenheit",
 ]
 }
 },
 "required": [
 "location"
 ]
 },
 # Optional:
 response={
 "type": "object",
 "properties": {
 "weather": {
 "type": "string",
 "description": "The weather in the city"
 },
 },
 },
)
weather_tool = generative_models.Tool(
 function_declarations=[get_current_weather_func],
)
```
Use tool 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],
))
```
Use tool 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],
)
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"},
 }
 ),
))
```

GenerationConfig

Parameters for the generation.

GenerationResponse

The response from the model.

GenerativeModel

Initializes GenerativeModel.

Usage:

```
model = GenerativeModel("gemini-pro")
print(model.generate_content("Hello"))
```

HarmBlockThreshold

Probability based thresholds levels for blocking.

HarmCategory

Harm categories that will block the content.

Image

The image that can be sent to a generative model.

Part

A part of a multi-part Content message.

Usage:

```
text_part = Part.from_text("Why is sky blue?")
image_part = Part.from_image(Image.load_from_file("image.jpg"))
video_part = Part.from_uri(uri="gs://.../video.mp4", mime_type="video/mp4")
function_response_part = Part.from_function_response(
 name="get_current_weather",
 response={
 "content": {"weather_there": "super nice"},
 }
)
response1 = model.generate_content([text_part, image_part])
response2 = model.generate_content(video_part)
response3 = chat.send_message(function_response_part)
```

ResponseValidationError

API documentation for ResponseValidationError class.

SafetySetting

Parameters for the generation.

Tool

A collection of functions that the model may use to generate response.

Usage: Create tool from function declarations:

```
get_current_weather_func = generative_models.FunctionDeclaration(...)
weather_tool = generative_models.Tool(
 function_declarations=[get_current_weather_func],
)
```
Use tool 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],
))
```
Use tool 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],
)
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"},
 }
 ),
))
```

ToolConfig

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"},
 }
 ),
))
```

grounding

Grounding namespace.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年10月30日 UTC.