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