#openai-api #openai #api-key #api-bindings #chat-completion

openai_api_rust

一个非常简单的 Rust 库,用于 OpenAI API,无需复杂的异步操作和冗余依赖

9 个版本

0.1.9 2024 年 5 月 29 日
0.1.8 2023 年 4 月 4 日
0.1.5 2023 年 3 月 31 日

#chat-completion 中排名 4

Download history 97/week @ 2024-04-22 115/week @ 2024-04-29 75/week @ 2024-05-06 79/week @ 2024-05-13 108/week @ 2024-05-20 269/week @ 2024-05-27 102/week @ 2024-06-03 55/week @ 2024-06-10 201/week @ 2024-06-17 323/week @ 2024-06-24 109/week @ 2024-07-01 54/week @ 2024-07-08 111/week @ 2024-07-15 97/week @ 2024-07-22 104/week @ 2024-07-29 54/week @ 2024-08-05

每月下载量 375
用于 4 个 crate

MIT 许可证

535KB
979

OpenAI API for Rust

GitHub Workflow Status Crates.io Crates.io GitHub

一个由社区维护的库,提供了简单方便地与 OpenAI API 交互的方式。无需复杂的异步和冗余依赖。

API

检查 官方 API 参考

API 支持
模型 ✔️
补全 ✔️
聊天 ✔️
图像 ✔️
嵌入 ✔️
音频 ✔️
文件
微调
审查
引擎

使用方法

将以下内容添加到您的 Cargo.toml 文件中

openai_api_rust = "0.1.9"

将您的 API 密钥导出到环境变量中

export OPENAI_API_KEY=<your_api_key>

然后使用 crate 在您的 Rust 代码中

use openai_api_rust::*;
use openai_api_rust::chat::*;
use openai_api_rust::completions::*;

fn main() {
    // Load API key from environment OPENAI_API_KEY.
    // You can also hadcode through `Auth::new(<your_api_key>)`, but it is not recommended.
    let auth = Auth::from_env().unwrap();
    let openai = OpenAI::new(auth, "https://api.openai.com/v1/");
    let body = ChatBody {
        model: "gpt-3.5-turbo".to_string(),
        max_tokens: Some(7),
        temperature: Some(0_f32),
        top_p: Some(0_f32),
        n: Some(2),
        stream: Some(false),
        stop: None,
        presence_penalty: None,
        frequency_penalty: None,
        logit_bias: None,
        user: None,
        messages: vec![Message { role: Role::User, content: "Hello!".to_string() }],
    };
    let rs = openai.chat_completion_create(&body);
    let choice = rs.unwrap().choices;
    let message = &choice[0].message.as_ref().unwrap();
    assert!(message.content.contains("Hello"));
}

使用代理

从环境变量中加载代理

let openai = OpenAI::new(auth, "https://api.openai.com/v1/")
        .use_env_proxy();

手动设置代理

let openai = OpenAI::new(auth, "https://api.openai.com/v1/")
        .set_proxy("http://127.0.0.1:1080");

许可证

本库根据 MIT 许可证分发。有关详细信息,请参阅 LICENSE

依赖项

~2.6–4MB
~102K SLoC