3 个不稳定版本

0.2.0 2024年3月21日
0.1.1 2024年3月9日
0.1.0 2024年3月7日

#361 in 机器学习

MIT/Apache

215KB
4.5K SLoC

oaapi

OpenAI API 的非官方 Rust 客户端。

安装

在您的项目目录中运行以下 Cargo 命令

cargo add oaapi

或将以下行添加到您的 Cargo.toml 文件中

[dependencies]
oaapi = "0.2.0"

功能

[!注意] 您需要启用功能标志才能使用相应的 API。

支持的 API

测试版 API

用法

  1. 启用您想要使用的 API 功能标志,例如 chat
  2. 使用 API 密钥和其他可选设置创建一个 crate::Client
  3. 使用客户端调用 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