3 个不稳定版本
0.2.0 | 2024年3月21日 |
---|---|
0.1.1 | 2024年3月9日 |
0.1.0 | 2024年3月7日 |
#361 in 机器学习
215KB
4.5K SLoC
oaapi
OpenAI API 的非官方 Rust 客户端。
安装
在您的项目目录中运行以下 Cargo 命令
cargo add oaapi
或将以下行添加到您的 Cargo.toml 文件中
[dependencies]
oaapi = "0.2.0"
功能
[!注意] 您需要启用功能标志才能使用相应的 API。
支持的 API
测试版 API
用法
- 启用您想要使用的 API 功能标志,例如
chat
。 - 使用 API 密钥和其他可选设置创建一个
crate::Client
。 - 使用客户端调用 API,例如
crate::Client::chat_complete
。
示例
使用 chat
功能调用聊天完成 API 的示例
[dependencies]
oaapi = { version = "0.2.0", features = ["chat"] }
并将 API 密钥设置为环境变量: OPENAI_API_KEY
OPENAI_API_KEY={your-openai-api-key}
如下所示
use oaapi::Client;
use oaapi::chat::CompletionsRequestBody;
use oaapi::chat::SystemMessage;
use oaapi::chat::UserMessage;
use oaapi::chat::ChatModel;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// 1. Create a client with the API key from the environment variable: "OPENAI_API_KEY"
let client = Client::from_env()?;
// or specify the API key directly.
// let client = Client::new(oaapi::ApiKey::new("OPENAI_API_KEY"), None, None);
// 2. Create a request body parameters.
let request_body = CompletionsRequestBody {
messages: vec![
SystemMessage::new("Prompt.", None).into(),
UserMessage::new("Chat message from user.".into(), None).into(),
],
model: ChatModel::Gpt35Turbo,
..Default::default()
};
// 3. Call the API.
let response = client
.chat_complete(request_body)
.await?;
// 4. Use the response.
println!("Result:\n{}", response);
Ok(())
}
有关每个功能模块的详细说明,请参阅文档中的示例。
其他示例
请参阅 ./examples 目录。
更新日志
请参阅 CHANGELOG。
许可
许可协议为Apache License,版本2.0或MIT协议,您可根据需要选择。
依赖项
~4–16MB
~242K SLoC