pub struct FileUploadRequest {
pub file: String,
pub purpose: String,
}
Fields§
§file: String
§purpose: String
Implementations§
Source§impl FileUploadRequest
impl FileUploadRequest
Sourcepub fn new(file: String, purpose: String) -> Self
pub fn new(file: String, purpose: String) -> Self
Examples found in repository?
examples/batch.rs (lines 14-17)
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = OpenAIClient::new(env::var("OPENAI_API_KEY").unwrap().to_string());
let req = FileUploadRequest::new(
"examples/data/batch_request.json".to_string(),
"batch".to_string(),
);
let result = client.upload_file(req).await?;
println!("File id: {:?}", result.id);
let input_file_id = result.id;
let req = CreateBatchRequest::new(
input_file_id.clone(),
"/v1/chat/completions".to_string(),
"24h".to_string(),
);
let result = client.create_batch(req).await?;
println!("Batch id: {:?}", result.id);
let batch_id = result.id;
let result = client.retrieve_batch(batch_id.to_string()).await?;
println!("Batch status: {:?}", result.status);
// sleep 30 seconds
println!("Sleeping for 30 seconds...");
tokio::time::sleep(tokio::time::Duration::from_secs(30)).await;
let result = client.retrieve_batch(batch_id.to_string()).await?;
let file_id = result.output_file_id.unwrap();
let result = client.retrieve_file_content(file_id).await?;
let s = match str::from_utf8(&result) {
Ok(v) => v.to_string(),
Err(e) => panic!("Invalid UTF-8 sequence: {}", e),
};
let json_value: Value = from_str(&s)?;
let result_json = to_string_pretty(&json_value)?;
let output_file_path = "examples/data/batch_result.json";
let mut file = File::create(output_file_path)?;
file.write_all(result_json.as_bytes())?;
println!("File writed to {:?}", output_file_path);
Ok(())
}
Trait Implementations§
Source§impl Debug for FileUploadRequest
impl Debug for FileUploadRequest
Auto Trait Implementations§
impl Freeze for FileUploadRequest
impl RefUnwindSafe for FileUploadRequest
impl Send for FileUploadRequest
impl Sync for FileUploadRequest
impl Unpin for FileUploadRequest
impl UnwindSafe for FileUploadRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more