2 releases
0.1.2 | Dec 30, 2024 |
---|---|
0.1.0 | Dec 30, 2024 |
#1342 in Web programming
170 downloads per month
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
: 消息内容
注意事项
- 确保你有有效的 OpenAI API 密钥
- 合理使用 API,注意请求限制
- 在生产环境中妥善保管 API 密钥
许可证
MIT
Dependencies
~7–23MB
~263K SLoC