aizs 0.1.0

Rust SDK for Chinese LLM APIs including Tongyi, DeepSeek, Wenxin,hunyuan, and Xinghuo
Documentation

AIC AIZS API

这是一个用 Rust 编写的统一中文大语言模型 API 客户端库,支持多个主流的中文大语言模型服务,包括:

  • 阿里通义千问
  • 腾讯混元
  • 百度文心一言
  • 讯飞星火
  • DeepSeek

特性

  • 统一的 API 接口
  • 异步支持
  • 强类型系统
  • 错误处理
  • 超时控制
  • 完整的测试用例

安装

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

[dependencies]
aic_aizs_api = "0.1.0"

使用方法

DeepSeek

use aic_aizs_api::models::deepseek::DeepseekClient;
use aic_aizs_api::types::Message;
use aic_aizs_api::traits::LLMClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // 创建客户端实例
    let client = DeepseekClient::new("your-api-key".to_string());

    // 准备消息
    let messages = vec![
        Message::system("You are a helpful assistant."),
        Message::user("What is Rust programming language?"),
    ];

    // 发送请求
    let response = client.chat(messages).await?;
    println!("Response: {}", response);

    Ok(())
}

环境变量配置

各模型需要配置对应的环境变量:

# DeepSeek
export DEEPSEEK_API_KEY=your_api_key

# 腾讯混元
export HUNYUAN_APP_ID=your_app_id
export HUNYUAN_API_KEY=your_api_key

# 阿里通义千问
export TONGYI_API_KEY=your_api_key

# 百度文心一言
export WENXIN_API_KEY=your_api_key
export WENXIN_SECRET_KEY=your_secret_key

# 讯飞星火
export XINGHUO_APP_ID=your_app_id
export XINGHUO_API_KEY=your_api_key
export XINGHUO_API_SECRET=your_api_secret

API 文档

LLMClient Trait

所有模型客户端都实现了 LLMClient trait:

#[async_trait]
pub trait LLMClient {
    async fn chat(&self, messages: Vec<Message>) -> Result<String>;
}

Message 类型

用于发送消息的结构体:

pub enum Message {
    System(String),
    User(String),
    Assistant(String),
}

错误处理

库使用 anyhow 进行错误处理,所有错误都会被包装成 Result 类型返回。常见错误包括:

  • API 密钥无效
  • 网络连接问题
  • API 调用超时
  • 服务端错误
  • 响应解析错误

贡献

欢迎提交 Pull Request 或创建 Issue。

许可证

MIT License