rust_ai/openai/types/
common.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug, Clone)]
4pub enum FinishReason {
5    #[serde(rename = "stop")]
6    Stop,
7    #[serde(rename = "length")]
8    Length,
9    #[serde(rename = "content_filter")]
10    ContentFilter,
11}
12
13#[derive(Serialize, Deserialize, Debug, Clone)]
14pub struct Usage {
15    #[serde(default)]
16    pub prompt_tokens: Option<usize>,
17
18    #[serde(default)]
19    pub completion_tokens: Option<usize>,
20
21    #[serde(default)]
22    pub total_tokens: Option<usize>,
23}
24
25#[derive(Serialize, Deserialize, Debug)]
26pub struct Error {
27    pub error: ErrorInfo,
28}
29
30#[derive(Serialize, Deserialize, Debug)]
31pub struct ErrorInfo {
32    pub message: String,
33
34    #[serde(rename = "type")]
35    pub error_type: String,
36
37    pub code: Option<u32>,
38    
39    pub param: Option<String>,
40}