zai-rs 0.1.13

一个 Rust SDK, 用于调用 智普AI API
Documentation
# zai-rs

一个简洁、类型安全的 Zhipu AI Rust SDK。专注提升 Rust 开发者的接入效率:更少样板代码、更一致的错误处理、可读的请求/响应类型,以及开箱即用的示例。

## 快速开始

1. 准备环境
   - Rust 1.74+(或更高)
   - 设置环境变量:`ZHIPU_API_KEY="<your_api_key>"`
2. 构建
   - `cargo build`
3. 运行示例(examples/ 目录内)
   - `cargo run --example chat_loop`

## 支持的模型

### 文本模型

| 模型 | 结构体 | Thinking | Async | ToolStream |
|------|--------|----------|-------|------------|
| glm-5 | `GLM5` ||||
| glm-5-turbo | `GLM5_turbo` ||||
| glm-4.7 | `GLM4_7` ||||
| glm-4.7-flash | `GLM4_7_flash` ||||
| glm-4.7-flashx | `GLM4_7_flashx` ||||
| glm-4.6 | `GLM4_6` ||||
| glm-4.5 | `GLM4_5` ||||
| glm-4.5-X | `GLM4_5_x` ||||
| glm-4.5-air | `GLM4_5_air` ||||
| glm-4.5-airx | `GLM4_5_airx` ||||
| glm-4.5-flash | `GLM4_5_flash` ||||

### 文本视觉模型

| 模型 | 结构体 |
|------|--------|
| autoglm-phone | `autoglm_phone` |
| glm-4.6v | `GLM4_6v` |
| glm-4.6v-flash | `GLM4_6v_flash` |
| glm-4.6v-flashx | `GLM4_6v_flashx` |
| glm-4.5v | `GLM4_5v` |

### 语音模型

| 模型 | 结构体 |
|------|--------|
| glm-4-voice | `GLM4_voice` |

## 示例(examples/)

### 可用示例

| 示例 | 描述 |
|------|------|
| `chat_text` | 基础文本对话 |
| `chat_stream` | 流式响应 |
| `chat_loop` | 多轮对话循环 |
| `chat_coding_plan` | 编程辅助对话 |
| `chat_vision` | 视觉模型对话(图片/视频) |
| `chat_voice` | 语音模型对话 |
| `async_chat_text` | 异步对话任务提交与轮询 |
| `glm45_thinking_mode` | 深度思考模式 |
| `function_call` | 函数调用 |
| `function_call_with_toolkits` | 工具集调用 |
| `translation_bot` | 翻译机器人 |
| `ocr` | OCR 手写文字识别 |
| `gen_image` | 图像生成 |
| `gen_video` | 视频生成 |
| `text_to_audio` | 文本转语音 |
| `audio_to_text` | 语音转文字 |
| `voice_clone` | 音色复刻 |
| `embedding` | 文本嵌入 |
| `files_upload` | 文件上传 |
| `knowledge_create` | 知识库创建 |
| `web_search` | 网络搜索 |
| `batches_create` | 批处理任务创建 |
| `batches_cancel` | 批处理任务取消 |

### 运行方式

```bash
# Windows PowerShell
$Env:ZHIPU_API_KEY = "<your_api_key>"
cargo run --example chat_loop

# macOS/Linux
export ZHIPU_API_KEY="<your_api_key>"
cargo run --example chat_loop
```

## API 覆盖度

### 模型 API
- [x] POST 对话补全(同步/异步/流式)
- [x] GLM-5 / GLM-4.7 / GLM-4.6 / GLM-4.5 系列支持
- [x] 思考模式(Thinking Mode)
- [x] 图像生成
- [x] 视频生成(异步)
- [x] 语音转文本
- [x] 文本转语音
- [x] 音色复刻/列表/删除
- [x] 文本嵌入/重排序/分词
- [x] OCR 手写识别

### 工具 API
- [x] POST 网络搜索
- [x] POST 内容安全
- [x] POST 文件解析
- [x] GET 解析结果

### 文件 API
- [x] GET 文件列表
- [x] POST 上传文件
- [x] DELETE 删除文件
- [x] GET 文件内容

### 批处理 API
- [x] GET 列出批处理任务
- [x] POST 创建批处理任务
- [x] GET 检索批处理任务
- [x] POST 取消批处理任务

### 知识库 API
- [x] GET 知识库列表
- [x] POST 创建知识库
- [x] GET 知识库详情
- [x] PUT 编辑知识库
- [x] DELETE 删除知识库
- [x] GET 知识库使用量
- [x] GET 文档列表
- [x] POST 上传文件文档
- [x] POST 上传 URL 文档
- [x] GET 文档详情
- [x] DELETE 删除文档
- [x] POST 重新向量化

### 实时 API 🚧 框架就绪
- [x] WebSocket 类型定义
- [x] 会话管理框架
- [ ] 音视频通话实现(待完善)