1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
* OpenAI API
*
* The OpenAI REST API. Please see pub https:///platform.openai.com/docs/api-reference for more details.
*
* OpenAPI spec pub version: 2.3.0
*
* Generated pub by: https:///github.com/swagger-api/swagger-codegen.git
*/
/// pub ChatCompletionRequestUserMessage : Messages sent by an end user, containing prompts or additional context information.
#[allow(unused_imports)]
use serde_json::Value;
/// # on openapi.yaml
///
/// ```yaml
/// ChatCompletionRequestUserMessage:
/// type: object
/// title: User message
/// description: |
/// Messages sent by an end user, containing prompts or additional context
/// information.
/// properties:
/// content:
/// description: |
/// The contents of the user message.
/// oneOf:
/// - type: string
/// description: The text contents of the message.
/// title: Text content
/// - type: array
/// description:
/// An array of content parts with a defined type. Supported options
/// differ based on the [model](/docs/models) being used to generate
/// the response. Can contain text, image, or audio inputs.
/// title: Array of content parts
/// items:
/// $ref: "#/components/schemas/ChatCompletionRequestUserMessageContentPart"
/// minItems: 1
/// role:
/// type: string
/// enum:
/// - user
/// description: The role of the messages author, in this case `user`.
/// x-stainless-const: true
/// name:
/// type: string
/// description: An optional name for the participant. Provides the model
/// information to differentiate between participants of the same role.
/// required:
/// - content
/// - role
/// ```
#[derive(Debug, Serialize, Deserialize, PartialEq)]
pub struct ChatCompletionRequestUserMessage {
/// The contents of the user message.
#[serde(rename = "content")]
pub content: ChatCompletionRequestUserMessageContent,
/// An optional name for the participant. Provides the model information to differentiate between participants of the same role.
#[serde(rename = "name")]
pub name: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, PartialEq)]
#[serde(untagged)]
pub enum ChatCompletionRequestUserMessageContent {
Text(String),
Array(Vec<crate::ChatCompletionRequestUserMessageContentPart>),
}