2 个不稳定版本
0.2.0 | 2024年7月16日 |
---|---|
0.1.0 | 2024年5月1日 |
1101 in 网页编程
每月 30 次下载
125KB
2.5K SLoC
⚠️ 从 openai-rs-api 分支。
OpenAI API 客户端库,用于 Rust (非官方)
OpenAI API 客户端 Rust 库提供从 Rust 应用程序访问 OpenAI API 的便捷方式。
查看 docs.rs。
安装
Cargo.toml
[dependencies]
openai-rst = "0.1.0"
使用方法
库需要配置您的账户密钥,该密钥可在 网站 上找到。我们建议将其设置为环境变量。以下是一个使用从环境变量加载的 API 密钥初始化库并创建完成的示例
设置 OPENAI_API_KEY 为环境变量
$ export OPENAI_API_KEY=sk-xxxxxxx
创建客户端
let client = Client::from_env().unwrap();
创建请求
// Single request
let req = ChatCompletionRequest::new(
Model::GPT4(GPT4::GPT4),
ChatCompletionMessage {
role: MessageRole::User,
content: Content::Text(String::from("What is bitcoin?")),
name: None,
},
);
// Multiple requests
let req = ChatCompletionRequest::new_multi(
Model::GPT4(GPT4::GPT4),
vec![ChatCompletionMessage {
role: MessageRole::User,
content: Content::Text(String::from("What is bitcoin?")),
name: None,
}],
);
发送请求
let result = client.chat_completion(req)?;
println!("Content: {:?}", result.get_choice());
将 OPENAI_API_BASE 设置为环境变量(可选)
$ export OPENAI_API_BASE=https://api.openai.com/v1
聊天完成示例
use openai_rst::{chat_completion::ChatCompletionRequest, client::Client, models::{Model, GPT4}};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Client::from_env().unwrap();
let req = "What is bitcoin?".into();
let result = client.chat_completion(req).await?;
println!("Content: {:?}", result.get_choice());
println!("Response Headers: {:?}", result.headers);
Ok(())
}
更多示例:examples
查看所有可用函数的示例 完整的 API 文档。
支持的 API
- completions
- Chat
- Edits
- Images
- Embeddings
- Audio
- Files
- Fine-tuning
- Moderations
- Function calling
- Assistants
许可证
此项目使用 MIT 许可证。
依赖项
~19–34MB
~659K SLoC