2 releases

0.1.2 Dec 30, 2024
0.1.0 Dec 30, 2024

#1342 in Web programming

Download history 399/week @ 2024-11-06 128/week @ 2024-12-25 42/week @ 2025-01-01

170 downloads per month

MIT license

7KB
92 lines

OpenAI Rust API Client

一个封装的 OpenAI API Rust 客户端库,支持与 OpenAI 的 GPT 模型进行交互。

功能特点

  • 支持 ChatGPT API (gpt-3.5-turbo, gpt-4 等模型)
  • 异步 API 调用
  • 封装易用的接口
  • 完整的错误处理

安装

在你的 Cargo.toml 中添加以下依赖:

[dependencies]
aiassistant = { path = "../aiassistant" }

使用示例

use aiassistant::{OpenAIClient, ChatMessage, Role};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    // 创建客户端实例
    let client = OpenAIClient::new("your-api-key");

    // 准备消息
    let messages = vec![
        ChatMessage::new(Role::System, "You are a helpful assistant."),
        ChatMessage::new(Role::User, "Hello!"),
    ];
    
    // 发送请求
    let response = client.chat_completion("gpt-3.5-turbo", messages).await?;
    println!("Assistant: {}", response);
    Ok(())
}

API 文档

OpenAIClient

主要的客户端类,用于与 OpenAI API 交互。

方法

  • new(api_key: impl Into<String>) -> Self

    • 创建新的客户端实例
    • 参数:
      • api_key: OpenAI API 密钥
  • chat_completion(model: impl Into<String>, messages: Vec<ChatMessage>) -> Result<String>

    • 发送聊天完成请求
    • 参数:
      • model: 模型名称(如 "gpt-3.5-turbo")
      • messages: 聊天消息列表
    • 返回:助手的回复文本

ChatMessage

表示聊天对话中的一条消息。

方法

  • new(role: Role, content: impl Into<String>) -> Self
    • 创建新的聊天消息
    • 参数:
      • role: 消息角色(System/User/Assistant)
      • content: 消息内容

注意事项

  1. 确保你有有效的 OpenAI API 密钥
  2. 合理使用 API,注意请求限制
  3. 在生产环境中妥善保管 API 密钥

许可证

MIT

Dependencies

~7–23MB
~263K SLoC