From 9b90bf75a7e31d8bc25220c081b424075d689ea3 Mon Sep 17 00:00:00 2001 From: Dongri Jin Date: Fri, 26 Jan 2024 22:25:51 +0900 Subject: [PATCH] Add serialize --- examples/function_call.rs | 2 +- examples/function_call_role.rs | 2 +- src/v1/assistant.rs | 10 +++++----- src/v1/audio.rs | 6 +++--- src/v1/chat_completion.rs | 32 ++++++++++++++++---------------- src/v1/completion.rs | 6 +++--- src/v1/edit.rs | 4 ++-- src/v1/embedding.rs | 6 +++--- src/v1/file.rs | 12 ++++++------ src/v1/fine_tuning.rs | 10 +++++----- src/v1/image.rs | 8 ++++---- src/v1/message.rs | 14 +++++++------- src/v1/moderation.rs | 8 ++++---- src/v1/run.rs | 8 ++++---- src/v1/thread.rs | 6 +++--- 15 files changed, 67 insertions(+), 67 deletions(-) diff --git a/examples/function_call.rs b/examples/function_call.rs index 8d2cea3..335be7b 100644 --- a/examples/function_call.rs +++ b/examples/function_call.rs @@ -69,7 +69,7 @@ fn main() -> Result<(), Box> { } Some(chat_completion::FinishReason::tool_calls) => { println!("ToolCalls"); - #[derive(Serialize, Deserialize)] + #[derive(Deserialize, Serialize)] struct Currency { coin: String, } diff --git a/examples/function_call_role.rs b/examples/function_call_role.rs index e8839ed..eb55dd7 100644 --- a/examples/function_call_role.rs +++ b/examples/function_call_role.rs @@ -64,7 +64,7 @@ fn main() -> Result<(), Box> { } Some(chat_completion::FinishReason::tool_calls) => { println!("ToolCalls"); - #[derive(Serialize, Deserialize)] + #[derive(Deserialize, Serialize)] struct Currency { coin: String, } diff --git a/src/v1/assistant.rs b/src/v1/assistant.rs index 0190155..2bdc674 100644 --- a/src/v1/assistant.rs +++ b/src/v1/assistant.rs @@ -44,7 +44,7 @@ impl_builder_methods!( metadata: HashMap ); -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct AssistantObject { pub id: String, pub object: String, @@ -61,14 +61,14 @@ pub struct AssistantObject { pub metadata: HashMap, } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct DeletionStatus { pub id: String, pub object: String, pub deleted: bool, } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ListAssistant { pub object: String, pub data: Vec, @@ -79,7 +79,7 @@ pub struct AssistantFileRequest { pub file_id: String, } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct AssistantFileObject { pub id: String, pub object: String, @@ -87,7 +87,7 @@ pub struct AssistantFileObject { pub assistant_id: String, } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ListAssistantFile { pub object: String, pub data: Vec, diff --git a/src/v1/audio.rs b/src/v1/audio.rs index e78ca59..6daf36d 100644 --- a/src/v1/audio.rs +++ b/src/v1/audio.rs @@ -39,7 +39,7 @@ impl_builder_methods!( language: String ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct AudioTranscriptionResponse { pub text: String, } @@ -75,7 +75,7 @@ impl_builder_methods!( temperature: f32 ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct AudioTranslationResponse { pub text: String, } @@ -111,7 +111,7 @@ impl AudioSpeechRequest { impl_builder_methods!(AudioSpeechRequest,); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct AudioSpeechResponse { pub result: bool, } diff --git a/src/v1/chat_completion.rs b/src/v1/chat_completion.rs index e9bf223..a1b7b66 100644 --- a/src/v1/chat_completion.rs +++ b/src/v1/chat_completion.rs @@ -89,7 +89,7 @@ impl_builder_methods!( tool_choice: ToolChoiceType ); -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] #[allow(non_camel_case_types)] pub enum MessageRole { user, @@ -116,20 +116,20 @@ impl serde::Serialize for Content { } } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] #[allow(non_camel_case_types)] pub enum ContentType { text, image_url, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] #[allow(non_camel_case_types)] pub struct ImageUrlType { pub url: String, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] #[allow(non_camel_case_types)] pub struct ImageUrl { pub r#type: ContentType, @@ -139,7 +139,7 @@ pub struct ImageUrl { pub image_url: Option, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] pub struct ChatCompletionMessage { pub role: MessageRole, pub content: Content, @@ -147,7 +147,7 @@ pub struct ChatCompletionMessage { pub name: Option, } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ChatCompletionMessageForResponse { pub role: MessageRole, #[serde(skip_serializing_if = "Option::is_none")] @@ -177,7 +177,7 @@ pub struct ChatCompletionResponse { pub system_fingerprint: Option, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] pub struct Function { pub name: String, #[serde(skip_serializing_if = "Option::is_none")] @@ -185,7 +185,7 @@ pub struct Function { pub parameters: FunctionParameters, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] #[serde(rename_all = "lowercase")] pub enum JSONSchemaType { Object, @@ -196,7 +196,7 @@ pub enum JSONSchemaType { Boolean, } -#[derive(Debug, Serialize, Deserialize, Clone, Default)] +#[derive(Debug, Deserialize, Serialize, Clone, Default)] pub struct JSONSchemaDefine { #[serde(rename = "type")] pub schema_type: Option, @@ -212,7 +212,7 @@ pub struct JSONSchemaDefine { pub items: Option>, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] pub struct FunctionParameters { #[serde(rename = "type")] pub schema_type: JSONSchemaType, @@ -222,7 +222,7 @@ pub struct FunctionParameters { pub required: Option>, } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] #[allow(non_camel_case_types)] pub enum FinishReason { stop, @@ -232,21 +232,21 @@ pub enum FinishReason { null, } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] #[allow(non_camel_case_types)] pub struct FinishDetails { pub r#type: FinishReason, pub stop: String, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] pub struct ToolCall { pub id: String, pub r#type: String, pub function: ToolCallFunction, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] pub struct ToolCallFunction { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, @@ -274,13 +274,13 @@ where } } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] pub struct Tool { pub r#type: ToolType, pub function: Function, } -#[derive(Debug, Serialize, Deserialize, Copy, Clone)] +#[derive(Debug, Deserialize, Serialize, Copy, Clone)] #[serde(rename_all = "snake_case")] pub enum ToolType { Function, diff --git a/src/v1/completion.rs b/src/v1/completion.rs index 6b29879..c4a9773 100644 --- a/src/v1/completion.rs +++ b/src/v1/completion.rs @@ -93,7 +93,7 @@ impl_builder_methods!( user: String ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct CompletionChoice { pub text: String, pub index: i64, @@ -101,7 +101,7 @@ pub struct CompletionChoice { pub logprobs: Option, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct LogprobResult { pub tokens: Vec, pub token_logprobs: Vec, @@ -109,7 +109,7 @@ pub struct LogprobResult { pub text_offset: Vec, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct CompletionResponse { pub id: String, pub object: String, diff --git a/src/v1/edit.rs b/src/v1/edit.rs index 3ec5f3d..18cf383 100644 --- a/src/v1/edit.rs +++ b/src/v1/edit.rs @@ -39,13 +39,13 @@ impl_builder_methods!( top_p: f32 ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct EditChoice { pub text: String, pub index: i32, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct EditResponse { pub object: String, pub created: i64, diff --git a/src/v1/embedding.rs b/src/v1/embedding.rs index 420561b..ea897b3 100644 --- a/src/v1/embedding.rs +++ b/src/v1/embedding.rs @@ -3,7 +3,7 @@ use std::option::Option; use crate::impl_builder_methods; -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct EmbeddingData { pub object: String, pub embedding: Vec, @@ -33,7 +33,7 @@ impl_builder_methods!( user: String ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct EmbeddingResponse { pub object: String, pub data: Vec, @@ -41,7 +41,7 @@ pub struct EmbeddingResponse { pub usage: Usage, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct Usage { pub prompt_tokens: i32, pub total_tokens: i32, diff --git a/src/v1/file.rs b/src/v1/file.rs index 71fb2ad..248b2f7 100644 --- a/src/v1/file.rs +++ b/src/v1/file.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FileData { pub id: String, pub oejct: String, @@ -10,7 +10,7 @@ pub struct FileData { pub purpose: String, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FileListResponse { pub object: String, pub data: Vec, @@ -28,7 +28,7 @@ impl FileUploadRequest { } } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FileUploadResponse { pub id: String, pub oejct: String, @@ -49,7 +49,7 @@ impl FileDeleteRequest { } } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FileDeleteResponse { pub id: String, pub oejct: String, @@ -67,7 +67,7 @@ impl FileRetrieveRequest { } } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FileRetrieveResponse { pub id: String, pub oejct: String, @@ -88,7 +88,7 @@ impl FileRetrieveContentRequest { } } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FileRetrieveContentResponse { pub id: String, pub oejct: String, diff --git a/src/v1/fine_tuning.rs b/src/v1/fine_tuning.rs index 4b8df23..8d696f9 100644 --- a/src/v1/fine_tuning.rs +++ b/src/v1/fine_tuning.rs @@ -93,14 +93,14 @@ impl CancelFineTuningJobRequest { } } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FineTuningPagination { pub object: String, pub data: Vec, pub has_more: bool, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FineTuningJobObject { pub id: String, pub created_at: i64, @@ -118,14 +118,14 @@ pub struct FineTuningJobObject { pub validation_file: Option, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FineTuningJobError { pub code: String, pub message: String, pub param: Option, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct FineTuningJobEvent { pub id: String, pub created_at: i64, @@ -134,7 +134,7 @@ pub struct FineTuningJobEvent { pub object: String, } -#[derive(Clone, Debug, Serialize, Deserialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct HyperParameters { #[serde(skip_serializing_if = "Option::is_none")] pub batch_size: Option, diff --git a/src/v1/image.rs b/src/v1/image.rs index de4825f..54e8288 100644 --- a/src/v1/image.rs +++ b/src/v1/image.rs @@ -3,7 +3,7 @@ use std::option::Option; use crate::impl_builder_methods; -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ImageData { pub url: String, } @@ -45,7 +45,7 @@ impl_builder_methods!( user: String ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ImageGenerationResponse { pub created: i64, pub data: Vec, @@ -94,7 +94,7 @@ impl_builder_methods!( user: String ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ImageEditResponse { pub created: i64, pub data: Vec, @@ -137,7 +137,7 @@ impl_builder_methods!( user: String ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ImageVariationResponse { pub created: i64, pub data: Vec, diff --git a/src/v1/message.rs b/src/v1/message.rs index 47ee546..7959263 100644 --- a/src/v1/message.rs +++ b/src/v1/message.rs @@ -53,7 +53,7 @@ impl_builder_methods!( metadata: HashMap ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct MessageObject { pub id: String, pub object: String, @@ -69,7 +69,7 @@ pub struct MessageObject { pub metadata: HashMap, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] #[allow(non_camel_case_types)] pub enum MessageRole { user, @@ -78,20 +78,20 @@ pub enum MessageRole { function, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct Content { #[serde(rename = "type")] pub content_type: String, pub text: ContentText, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ContentText { pub value: String, pub annotations: Vec, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ListMessage { pub object: String, pub data: Vec, @@ -100,7 +100,7 @@ pub struct ListMessage { pub has_more: bool, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct MessageFileObject { pub id: String, pub object: String, @@ -108,7 +108,7 @@ pub struct MessageFileObject { pub message_id: String, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ListMessageFile { pub object: String, pub data: Vec, diff --git a/src/v1/moderation.rs b/src/v1/moderation.rs index bef1039..69acece 100644 --- a/src/v1/moderation.rs +++ b/src/v1/moderation.rs @@ -20,21 +20,21 @@ impl_builder_methods!( model: String ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct CreateModerationResponse { pub id: String, pub model: String, pub results: Vec, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ModerationResult { pub categories: ModerationCategories, pub category_scores: ModerationCategoryScores, pub flagged: bool, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ModerationCategories { #[serde(rename = "hate")] pub is_hate: bool, @@ -50,7 +50,7 @@ pub struct ModerationCategories { pub is_violence_graphic: bool, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ModerationCategoryScores { #[serde(rename = "hate")] pub hate_score: f64, diff --git a/src/v1/run.rs b/src/v1/run.rs index 5d0e017..3bcb087 100644 --- a/src/v1/run.rs +++ b/src/v1/run.rs @@ -60,7 +60,7 @@ impl_builder_methods!( metadata: HashMap ); -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct RunObject { pub id: String, pub object: String, @@ -89,7 +89,7 @@ pub struct RunObject { pub metadata: HashMap, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ListRun { pub object: String, pub data: Vec, @@ -113,7 +113,7 @@ pub struct CreateThreadAndRunRequest { pub metadata: Option>, } -#[derive(Debug, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] pub struct RunStepObject { pub id: String, pub object: String, @@ -140,7 +140,7 @@ pub struct RunStepObject { pub metadata: HashMap, } -#[derive(Debug, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] pub struct ListRunStep { pub object: String, pub data: Vec, diff --git a/src/v1/thread.rs b/src/v1/thread.rs index 1644d21..bd3122a 100644 --- a/src/v1/thread.rs +++ b/src/v1/thread.rs @@ -32,7 +32,7 @@ impl_builder_methods!( metadata: HashMap ); -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct ThreadObject { pub id: String, pub object: String, @@ -40,7 +40,7 @@ pub struct ThreadObject { pub metadata: HashMap, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] pub struct Message { pub role: MessageRole, pub content: String, @@ -50,7 +50,7 @@ pub struct Message { pub metadata: Option>, } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Deserialize, Serialize, Clone)] #[allow(non_camel_case_types)] pub enum MessageRole { user,