# ChatGenerationParams


## Fields

| Field                                                                                                     | Type                                                                                                      | Required                                                                                                  | Description                                                                                               |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `provider`                                                                                                | [OptionalNullable[components.Schema0]](../components/schema0.md)                                          | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `plugins`                                                                                                 | List[[components.Schema17](../components/schema17.md)]                                                    | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `route`                                                                                                   | [OptionalNullable[components.Route]](../components/route.md)                                              | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `user`                                                                                                    | *Optional[str]*                                                                                           | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `session_id`                                                                                              | *Optional[str]*                                                                                           | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `messages`                                                                                                | List[[components.Message](../components/message.md)]                                                      | :heavy_check_mark:                                                                                        | N/A                                                                                                       |
| `model`                                                                                                   | *Optional[str]*                                                                                           | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `models`                                                                                                  | List[*str*]                                                                                               | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `frequency_penalty`                                                                                       | *OptionalNullable[float]*                                                                                 | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `logit_bias`                                                                                              | Dict[str, *float*]                                                                                        | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `logprobs`                                                                                                | *OptionalNullable[bool]*                                                                                  | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `top_logprobs`                                                                                            | *OptionalNullable[float]*                                                                                 | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `max_completion_tokens`                                                                                   | *OptionalNullable[float]*                                                                                 | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `max_tokens`                                                                                              | *OptionalNullable[float]*                                                                                 | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `metadata`                                                                                                | Dict[str, *str*]                                                                                          | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `presence_penalty`                                                                                        | *OptionalNullable[float]*                                                                                 | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `reasoning`                                                                                               | [Optional[components.Reasoning]](../components/reasoning.md)                                              | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `response_format`                                                                                         | [Optional[components.ResponseFormat]](../components/responseformat.md)                                    | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `seed`                                                                                                    | *OptionalNullable[int]*                                                                                   | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `stop`                                                                                                    | [OptionalNullable[components.Stop]](../components/stop.md)                                                | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `stream`                                                                                                  | *Optional[bool]*                                                                                          | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `stream_options`                                                                                          | [OptionalNullable[components.ChatStreamOptions]](../components/chatstreamoptions.md)                      | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `temperature`                                                                                             | *OptionalNullable[float]*                                                                                 | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `tool_choice`                                                                                             | *Optional[Any]*                                                                                           | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `tools`                                                                                                   | List[[components.ToolDefinitionJSON](../components/tooldefinitionjson.md)]                                | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `top_p`                                                                                                   | *OptionalNullable[float]*                                                                                 | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `debug`                                                                                                   | [Optional[components.Debug]](../components/debug.md)                                                      | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `image_config`                                                                                            | Dict[str, [components.ChatGenerationParamsImageConfig](../components/chatgenerationparamsimageconfig.md)] | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |
| `modalities`                                                                                              | List[[components.Modality](../components/modality.md)]                                                    | :heavy_minus_sign:                                                                                        | N/A                                                                                                       |