Expand description
Upload, download, list, and delete files in openapi platform. Usually used for fine-tuning files.
See the Files API for OpenAI for more information.
§Examples
All examples and tests require the OPENAI_KEY
environment variable
be set with your personal openai platform API key.
Upload a new file. Reference API
use openai::files::File;
use openai::ApiResponseOrError;
use dotenvy::dotenv;
use std::env;
use openai::set_key;
#[tokio::main]
async fn main() -> ApiResponseOrError<()> {
dotenv().ok();
set_key(env::var("OPENAI_KEY").unwrap());
let uploaded_file = File::builder()
.file_name("test_data/file_upload_test1.jsonl") // local file path to upload.
.purpose("fine-tune")
.create()
.await?;
assert_eq!(uploaded_file.filename, "file_upload_test1.jsonl");
Ok(())
}
List files. Reference API
use openai::files::Files;
use openai::ApiResponseOrError;
use dotenvy::dotenv;
use std::env;
use openai::set_key;
#[tokio::main]
async fn main() -> ApiResponseOrError<()> {
dotenv().ok();
set_key(env::var("OPENAI_KEY").unwrap());
let openai_files = Files::list().await?;
let file_count = openai_files.len();
println!("Listing {} files", file_count);
for openai_file in openai_files.into_iter() {
println!(" id: {}, file: {}, size: {}", openai_file.id, openai_file.filename, openai_file.bytes)
}
Ok(())
}
Retrieve a file (json metadata only). Reference API
use openai::files::File;
use openai::ApiResponseOrError;
use dotenvy::dotenv;
use std::env;
use openai::set_key;
#[tokio::main]
async fn main() -> ApiResponseOrError<()> {
dotenv().ok();
set_key(env::var("OPENAI_KEY").unwrap());
let file_id = "file-XjGxS3KTG0uNmNOK362iJua3"; // Use a real file id.
let file = File::get(file_id).await?;
println!("id: {}, file: {}, size: {}", file.id, file.filename, file.bytes);
Ok(())
}
Download to a local file. Reference API
use openai::files::File;
use openai::ApiResponseOrError;
use dotenvy::dotenv;
use std::env;
use openai::set_key;
#[tokio::main]
async fn main() -> ApiResponseOrError<()> {
dotenv().ok();
set_key(env::var("OPENAI_KEY").unwrap());
let test_file = "test_file.jsonl";
let file_id = "file-XjGxS3KTG0uNmNOK362iJua3"; // Use a real file id.
File::download_content_to_file(file_id, test_file).await?;
Ok(())
}
Delete a file. Reference API
use openai::files::File;
use openai::ApiResponseOrError;
use dotenvy::dotenv;
use std::env;
use openai::set_key;
#[tokio::main]
async fn main() -> ApiResponseOrError<()> {
dotenv().ok();
set_key(env::var("OPENAI_KEY").unwrap());
let file_id = "file-XjGxS3KTG0uNmNOK362iJua3"; // Use a real file id.
File::delete(file_id).await?;
Ok(())
}
For more examples see the files tests.
Structs§
- Deleted
File - File
- Upload, download and delete a file from the openai platform.
- File
Upload Builder - Builder for
FileUploadRequest
. - File
Upload Request - Files
- List files in the openai platform.
Enums§
- File
Upload Builder Error - Error type for FileUploadBuilder