# Class GenerativeModel (1.153.1)

1.153.1 (latest) 1.153.0 1.152.0 1.151.0 1.150.0 1.149.0 1.148.1 1.147.0 1.146.0 1.145.0 1.144.0 1.143.0 1.142.0 1.141.0 1.140.0 1.139.0 1.138.0 1.137.0 1.136.0 1.135.0 1.134.0 1.133.0 1.132.0 1.131.0 1.130.0 1.129.0 1.122.0 1.121.0 1.120.0 1.119.0 1.118.0 1.117.0 1.95.1 1.94.0 1.93.1 1.92.0 1.91.0 1.90.0 1.89.0 1.88.0 1.87.0 1.86.0 1.85.0 1.84.0 1.83.0 1.82.0 1.81.0 1.80.0 1.79.0 1.78.0 1.77.0 1.76.0 1.75.0 1.74.0 1.73.0 1.72.0 1.71.1 1.70.0 1.69.0 1.68.0 1.67.1 1.66.0 1.65.0 1.63.0 1.62.0 1.60.0 1.59.0

    GenerativeModel(
        model_name: str,
        *,
        generation_config: typing.Optional[GenerationConfigType] = None,
        safety_settings: typing.Optional[SafetySettingsType] = None,
        tools: typing.Optional[
            typing.List[vertexai.generative_models._generative_models.Tool]
        ] = None,
        tool_config: typing.Optional[
            vertexai.generative_models._generative_models.ToolConfig
        ] = None,
        system_instruction: typing.Optional[PartsType] = None,
        labels: typing.Optional[typing.Dict[str, str]] = None
    )

Initializes GenerativeModel.

Usage:

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

## Methods

### compute_tokens

    compute_tokens(
        contents: ContentsType,
    ) -> google.cloud.aiplatform_v1beta1.types.llm_utility_service.ComputeTokensResponse

Computes tokens.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `A ComputeTokensResponse object that has the following attributes` | tokens_info: Lists of tokens_info from the input. The input `contents: ContentsType` could have multiple string instances and each tokens_info item represents each string instance. Each token info consists tokens list, token_ids list and a role. |

### compute_tokens_async

    compute_tokens_async(
        contents: ContentsType,
    ) -> google.cloud.aiplatform_v1beta1.types.llm_utility_service.ComputeTokensResponse

Computes tokens asynchronously.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `And awaitable for a ComputeTokensResponse object that has the following attributes` | tokens_info: Lists of tokens_info from the input. The input `contents: ContentsType` could have multiple string instances and each tokens_info item represents each string instance. Each token info consists tokens list, token_ids list and a role. |

### count_tokens

    count_tokens(
        contents: ContentsType,
        *,
        tools: typing.Optional[
            typing.List[vertexai.generative_models._generative_models.Tool]
        ] = None
    ) -> google.cloud.aiplatform_v1beta1.types.prediction_service.CountTokensResponse

Counts tokens.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `A CountTokensResponse object that has the following attributes` | total_tokens: The total number of tokens counted across all instances from the request. total_billable_characters: The total number of billable characters counted across all instances from the request. |

### count_tokens_async

    count_tokens_async(
        contents: ContentsType,
        *,
        tools: typing.Optional[
            typing.List[vertexai.generative_models._generative_models.Tool]
        ] = None
    ) -> google.cloud.aiplatform_v1beta1.types.prediction_service.CountTokensResponse

Counts tokens asynchronously.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `And awaitable for a CountTokensResponse object that has the following attributes` | total_tokens: The total number of tokens counted across all instances from the request. total_billable_characters: The total number of billable characters counted across all instances from the request. |

### from_cached_content

    from_cached_content(
        cached_content: typing.Union[str, CachedContent],
        *,
        generation_config: typing.Optional[GenerationConfigType] = None,
        safety_settings: typing.Optional[SafetySettingsType] = None
    ) -> _GenerativeModel

Creates a model from cached content.

Creates a model instance with an existing cached content. The cached
content becomes the prefix of the requesting contents.

### generate_content

    generate_content(
        contents: ContentsType,
        *,
        generation_config: typing.Optional[GenerationConfigType] = None,
        safety_settings: typing.Optional[SafetySettingsType] = None,
        tools: typing.Optional[
            typing.List[vertexai.generative_models._generative_models.Tool]
        ] = None,
        tool_config: typing.Optional[
            vertexai.generative_models._generative_models.ToolConfig
        ] = None,
        labels: typing.Optional[typing.Dict[str, str]] = None,
        stream: bool = False
    ) -> typing.Union[
        vertexai.generative_models._generative_models.GenerationResponse,
        typing.Iterable[vertexai.generative_models._generative_models.GenerationResponse],
    ]

Generates content.

### generate_content_async

    generate_content_async(
        contents: ContentsType,
        *,
        generation_config: typing.Optional[GenerationConfigType] = None,
        safety_settings: typing.Optional[SafetySettingsType] = None,
        tools: typing.Optional[
            typing.List[vertexai.generative_models._generative_models.Tool]
        ] = None,
        tool_config: typing.Optional[
            vertexai.generative_models._generative_models.ToolConfig
        ] = None,
        labels: typing.Optional[typing.Dict[str, str]] = None,
        stream: bool = False
    ) -> typing.Union[
        vertexai.generative_models._generative_models.GenerationResponse,
        typing.AsyncIterable[
            vertexai.generative_models._generative_models.GenerationResponse
        ],
    ]

Generates content asynchronously.

### set_request_response_logging_config

    set_request_response_logging_config(
        *,
        enabled: bool,
        sampling_rate: float,
        bigquery_destination: str,
        enable_otel_logging: typing.Optional[bool] = None
    ) -> typing.Union[
        google.cloud.aiplatform_v1beta1.types.endpoint.PublisherModelConfig,
        google.cloud.aiplatform_v1beta1.types.endpoint.Endpoint,
    ]

Sets the request/response logging config.

### start_chat

    start_chat(
        *,
        history: typing.Optional[
            typing.List[vertexai.generative_models._generative_models.Content]
        ] = None,
        response_validation: bool = True,
        responder: typing.Optional[
            vertexai.generative_models._generative_models.AutomaticFunctionCallingResponder
        ] = None
    ) -> vertexai.generative_models._generative_models.ChatSession

Creates a stateful chat session.