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` 文件中添加以下依赖:

```toml
[dependencies]
aic_aizs_api = "0.1.0"
```

## 使用方法

### DeepSeek

```rust
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(())
}
```

### 环境变量配置

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

```bash
# 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:

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

### Message 类型

用于发送消息的结构体:

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

## 错误处理

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

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

## 贡献

欢迎提交 Pull Request 或创建 Issue。

## 许可证

MIT License