# ChatGenerationParams


## Fields

| Field                                                                                                            | Type                                                                                                             | Required                                                                                                         | Description                                                                                                      |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `messages`                                                                                                       | List[[models.Message](../models/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[models.Reasoning]](../models/reasoning.md)                                                             | :heavy_minus_sign:                                                                                               | N/A                                                                                                              |
| `response_format`                                                                                                | [Optional[models.ChatGenerationParamsResponseFormatUnion]](../models/chatgenerationparamsresponseformatunion.md) | :heavy_minus_sign:                                                                                               | N/A                                                                                                              |
| `seed`                                                                                                           | *OptionalNullable[int]*                                                                                          | :heavy_minus_sign:                                                                                               | N/A                                                                                                              |
| `stop`                                                                                                           | [OptionalNullable[models.ChatGenerationParamsStop]](../models/chatgenerationparamsstop.md)                       | :heavy_minus_sign:                                                                                               | N/A                                                                                                              |
| `stream`                                                                                                         | *Optional[bool]*                                                                                                 | :heavy_minus_sign:                                                                                               | N/A                                                                                                              |
| `stream_options`                                                                                                 | [OptionalNullable[models.ChatStreamOptions]](../models/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[[models.ToolDefinitionJSON](../models/tooldefinitionjson.md)]                                               | :heavy_minus_sign:                                                                                               | N/A                                                                                                              |
| `top_p`                                                                                                          | *OptionalNullable[float]*                                                                                        | :heavy_minus_sign:                                                                                               | N/A                                                                                                              |
| `user`                                                                                                           | *Optional[str]*                                                                                                  | :heavy_minus_sign:                                                                                               | N/A                                                                                                              |