Skip to main content

mistral_openapi_client/models/
response_format.rs

1/*
2 * Mistral AI API
3 *
4 * Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// ResponseFormat : Specify the format that the model must output. By default it will use `{ \"type\": \"text\" }`. Setting to `{ \"type\": \"json_object\" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ \"type\": \"json_schema\" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ResponseFormat {
17    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
18    pub r#type: Option<models::ResponseFormats>,
19    #[serde(rename = "json_schema", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20    pub json_schema: Option<Option<Box<models::JsonSchema>>>,
21}
22
23impl ResponseFormat {
24    /// Specify the format that the model must output. By default it will use `{ \"type\": \"text\" }`. Setting to `{ \"type\": \"json_object\" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ \"type\": \"json_schema\" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide.
25    pub fn new() -> ResponseFormat {
26        ResponseFormat {
27            r#type: None,
28            json_schema: None,
29        }
30    }
31}
32