Unofficial Rust client for OpenAI's API, writen with tokio and reqwest
To add libopenai
to your project, you just need to run the following command on your project's main foler:
cargo add libopenai
use libopenai::prelude::*;
#[tokio::main]
async fn main() -> Result<()> {
// OPTIONAL: Load variables in a `.env` file into the enviroment
dotenv::dotenv().unwrap();
let client = Client::new(
None, // Gets api key from `OPENAI_API_KEY` enviroment variable
None, // No organization specified
)?;
// Send basic completion request
let basic = Completion::new(
"text-davinci-003",
"Whats the best way to calculate a factorial?",
&client,
)
.await?;
// Print the result
println!("{:#?}", basic);
return Ok(());
}
- Text generation
- Embeddings
- Moderations
- Files and fine-tuning
- Image generation with automatic conversion to desired formats
- Audio-to-text conversions
- Support for streaming
Currently, the only feature available is tracing, which enables some minor logging