2 个不稳定版本

0.2.0 2024年7月16日
0.1.0 2024年5月1日

1101 in 网页编程

每月 30 次下载

Apache-2.0

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

许可证

此项目使用 MIT 许可证

依赖项

~19–34MB
~659K SLoC