Skip to content

Commit 79d18aa

Browse files
authored
Merge pull request #126 from dongri/fix-run-object
Fix run object
2 parents ec82143 + 9acf04f commit 79d18aa

File tree

3 files changed

+43
-42
lines changed

3 files changed

+43
-42
lines changed

src/v1/assistant.rs

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -57,53 +57,13 @@ pub struct AssistantObject {
5757
pub model: String,
5858
#[serde(skip_serializing_if = "Option::is_none")]
5959
pub instructions: Option<String>,
60-
pub tools: Vec<Tools>,
60+
pub tools: Vec<types::Tools>,
6161
#[serde(skip_serializing_if = "Option::is_none")]
6262
pub tool_resources: Option<ToolResource>,
6363
pub metadata: Option<HashMap<String, String>>,
6464
pub headers: Option<HashMap<String, String>>,
6565
}
6666

67-
#[derive(Debug, Deserialize, Serialize, Clone)]
68-
#[serde(tag = "type")]
69-
#[serde(rename_all = "snake_case")]
70-
pub enum Tools {
71-
CodeInterpreter,
72-
FileSearch(ToolsFileSearch),
73-
Function(ToolsFunction),
74-
}
75-
76-
#[derive(Debug, Deserialize, Serialize, Clone)]
77-
pub struct ToolsFileSearch {
78-
#[serde(skip_serializing_if = "Option::is_none")]
79-
pub file_search: Option<ToolsFileSearchObject>,
80-
}
81-
82-
#[derive(Debug, Deserialize, Serialize, Clone)]
83-
pub struct ToolsFunction {
84-
pub function: types::Function,
85-
}
86-
87-
#[derive(Debug, Deserialize, Serialize, Clone)]
88-
pub struct ToolsFileSearchObject {
89-
pub max_num_results: Option<u8>,
90-
pub ranking_options: Option<FileSearchRankingOptions>,
91-
}
92-
93-
#[derive(Debug, Deserialize, Serialize, Clone)]
94-
pub struct FileSearchRankingOptions {
95-
pub ranker: Option<FileSearchRanker>,
96-
pub score_threshold: Option<f32>,
97-
}
98-
99-
#[derive(Debug, Deserialize, Serialize, Clone)]
100-
pub enum FileSearchRanker {
101-
#[serde(rename = "auto")]
102-
Auto,
103-
#[serde(rename = "default_2024_08_21")]
104-
Default2024_08_21,
105-
}
106-
10767
#[derive(Debug, Deserialize, Serialize, Clone)]
10868
pub struct ToolResource {
10969
#[serde(skip_serializing_if = "Option::is_none")]

src/v1/run.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use serde::{Deserialize, Serialize};
33
use serde_json::Value;
44
use std::collections::HashMap;
55

6+
use super::types;
67
use crate::impl_builder_methods;
78

89
#[derive(Debug, Serialize, Clone)]
@@ -95,7 +96,7 @@ pub struct RunObject {
9596
pub completed_at: Option<i64>,
9697
pub model: String,
9798
pub instructions: Option<String>,
98-
pub tools: Vec<HashMap<String, String>>,
99+
pub tools: Vec<types::Tools>,
99100
pub metadata: HashMap<String, String>,
100101
pub headers: Option<HashMap<String, String>>,
101102
}

src/v1/types.rs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,43 @@ pub struct JSONSchemaDefine {
4545
#[serde(skip_serializing_if = "Option::is_none")]
4646
pub items: Option<Box<JSONSchemaDefine>>,
4747
}
48+
49+
#[derive(Debug, Deserialize, Serialize, Clone)]
50+
#[serde(tag = "type")]
51+
#[serde(rename_all = "snake_case")]
52+
pub enum Tools {
53+
CodeInterpreter,
54+
FileSearch(ToolsFileSearch),
55+
Function(ToolsFunction),
56+
}
57+
58+
#[derive(Debug, Deserialize, Serialize, Clone)]
59+
pub struct ToolsFileSearch {
60+
#[serde(skip_serializing_if = "Option::is_none")]
61+
pub file_search: Option<ToolsFileSearchObject>,
62+
}
63+
64+
#[derive(Debug, Deserialize, Serialize, Clone)]
65+
pub struct ToolsFunction {
66+
pub function: Function,
67+
}
68+
69+
#[derive(Debug, Deserialize, Serialize, Clone)]
70+
pub struct ToolsFileSearchObject {
71+
pub max_num_results: Option<u8>,
72+
pub ranking_options: Option<FileSearchRankingOptions>,
73+
}
74+
75+
#[derive(Debug, Deserialize, Serialize, Clone)]
76+
pub struct FileSearchRankingOptions {
77+
pub ranker: Option<FileSearchRanker>,
78+
pub score_threshold: Option<f32>,
79+
}
80+
81+
#[derive(Debug, Deserialize, Serialize, Clone)]
82+
pub enum FileSearchRanker {
83+
#[serde(rename = "auto")]
84+
Auto,
85+
#[serde(rename = "default_2024_08_21")]
86+
Default2024_08_21,
87+
}

0 commit comments

Comments
 (0)