16 releases (2 stable)
1.5.2 | Dec 19, 2023 |
---|---|
1.5.1 | Dec 6, 2023 |
0.5.1 | Jul 9, 2023 |
0.5.0 | Jun 23, 2023 |
0.1.5 | Mar 26, 2023 |
#950 in Web programming
131 downloads per month
Used in 3 crates
46KB
575 lines
openai-rust
This is an unofficial library to interact with the Openai-API. The goal of this crate is to support the entire api while matching the offical documentation as closely as possible.
Current features:
- Listing models
- Completions
- Chat
- Streaming Chat
- Edit
- Embeddings
- Images
- Audio
- Files
- Moderations
- Fine-tuning
Example usage
// Here we will use the chat completion endpoint
let client = openai_rust::Client::new(&std::env::var("OPENAI_API_KEY").unwrap());
let args = openai_rust::chat::ChatArguments::new("gpt-3.5-turbo", vec![
openai_rust::chat::Message {
role: "user".to_owned(),
content: "Hello GPT!".to_owned(),
}
]);
let res = client.create_chat(args).await.unwrap();
println!("{}", res);
You can run this code as an example with OPENAI_API_KEY=(your key) cargo run --example chat
.
Checkout the examples directory for more usage examples. You can find documentation on docs.rs.
Projects using openai-rust
- openai-cli: a CLI for interacting with GPT.
- gpt-cli-rust: Another CLI.
- electocracy: A digital voting system.
- awsgpt: Interact with the aws-cli via GPT.
Dependencies
~4–15MB
~222K SLoC