rust_ai/openai/types/
common.rs1use 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}