A simple rust client for OpenAI API.
Has a few conveniences, but is mostly at the level of the API itself.
$ cargo add openai-api-rust
```rust use openai_api::{api::CompletionArgs, OpenAIClient};
async fn main() { let apitoken = std::env::var("OPENAISK").unwrap(); let client = OpenAIClient::new(&apitoken); let prompt = String::from("Once upon a time,"); println!( "{}{}", prompt, client.complete(prompt.asstr()).await.unwrap() ); } ```
For simple demos and debugging, you can do a completion and use the Display
instance of a Completion
object to convert it to a string:
rust
let response = client.complete("Once upon a time").await?;
println!("{}", response);
To configure the prompt more explicitly, you can use the CompletionArgs
builder:
rust
let args = openai_api::api::CompletionArgs::builder()
.prompt("Once upon a time,")
.engine(Engine::Davinci)
.max_tokens(20)
.temperature(0.7)
.top_p(0.9)
.stop(vec!["\n".into()]);
let response = args.complete(&client).await?;
println!("Response: {}", response.choices[0].text);
println!("Model used: {}", response.model);
See examples/