async_openai/types/chat/
api.rs1use crate::error::OpenAIError;
2use derive_builder::Builder;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
7#[serde(rename_all = "lowercase")]
8pub enum ListChatCompletionsOrder {
9 Asc,
11 Desc,
13}
14
15#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
17#[builder(name = "ListChatCompletionsQueryArgs")]
18#[builder(pattern = "mutable")]
19#[builder(setter(into, strip_option), default)]
20#[builder(derive(Debug))]
21#[builder(build_fn(error = "OpenAIError"))]
22pub struct ListChatCompletionsQuery {
23 #[serde(skip_serializing_if = "Option::is_none")]
25 pub model: Option<String>,
26 #[serde(skip_serializing_if = "Option::is_none")]
28 pub metadata: Option<serde_json::Value>,
29 #[serde(skip_serializing_if = "Option::is_none")]
31 pub after: Option<String>,
32 #[serde(skip_serializing_if = "Option::is_none")]
34 pub limit: Option<u32>,
35 #[serde(skip_serializing_if = "Option::is_none")]
37 pub order: Option<ListChatCompletionsOrder>,
38}
39
40#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
42#[serde(rename_all = "lowercase")]
43pub enum GetChatCompletionMessagesOrder {
44 Asc,
46 Desc,
48}
49
50#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
52#[builder(name = "GetChatCompletionMessagesQueryArgs")]
53#[builder(pattern = "mutable")]
54#[builder(setter(into, strip_option), default)]
55#[builder(derive(Debug))]
56#[builder(build_fn(error = "OpenAIError"))]
57pub struct GetChatCompletionMessagesQuery {
58 #[serde(skip_serializing_if = "Option::is_none")]
60 pub after: Option<String>,
61 #[serde(skip_serializing_if = "Option::is_none")]
63 pub limit: Option<u32>,
64 #[serde(skip_serializing_if = "Option::is_none")]
66 pub order: Option<GetChatCompletionMessagesOrder>,
67}