Files
ai-translate/readme.md
2026-03-11 20:04:26 +08:00

238 lines
3.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
------
# Cloudflare Workers AI 翻译服务
一个基于 **Cloudflare Workers + Workers AI** 的轻量级 AI 翻译服务,支持:
- 🌐 **网页访问翻译**(默认:英语 → 中文)
- 📄 **长文本自动分页 / 翻页**
- 🔌 **HTTP API 调用**
- 🌎 **多语言互译**(基于 `m2m100-1.2b` 模型)
-**全球边缘节点低延迟部署**
---
## ✨ 功能特性
### 1. 网页翻译Web UI
- 默认语言:**en → zh**
- 支持选择源语言 / 目标语言
- 自动按字符数分页
- 翻页只翻译当前页,响应更快
- 适合:
- 阅读外文文章
- 翻译长文档
- 快速人工校对
访问根路径即可使用https://your-worker-domain/
---
### 2. HTTP API 翻译
#### 接口一览
| 方法 | 路径 | 说明 |
|----|----|----|
| GET | `/api/languages` | 获取常用语言列表 |
| POST | `/api/translate` | 翻译文本 |
---
## 🚀 API 使用说明
### 2.1 单页 / 分页翻译
**POST** `/api/translate`
```json
{
"text": "Hello world, this is a long text...",
"source_lang": "en",
"target_lang": "zh",
"page": 1,
"page_size": 1800
}
```
#### 返回示例
```json
{
"page": 1,
"page_size": 1800,
"total_pages": 3,
"source_lang": "en",
"target_lang": "zh",
"translated_text": "你好,世界,这是一段很长的文本……"
}
```
------
### 2.2 一次翻译全文(自动分段)
```json
{
"text": "Very long text...",
"source_lang": "en",
"target_lang": "zh",
"translate_all": true,
"page_size": 1800
}
```
> ⚠️ 默认最多批量翻译 **50 段**(防止超时 / 过载)
------
### 2.3 curl 示例
```bash
curl -X POST https://your-worker-domain/api/translate \
-H "Content-Type: application/json" \
-d '{
"text": "Hello World",
"source_lang": "en",
"target_lang": "zh"
}'
```
------
## 🌐 支持语言(示例)
基于 **Meta M2M100 多语言模型**,支持数十种语言互译,例如:
- en English
- zh 中文
- ja 日本語
- ko 한국어
- fr Français
- de Deutsch
- es Español
- ru Русский
- ar العربية
- hi हिन्दी
- vi Tiếng Việt
等……
> 实际支持语言以模型能力为准
------
## 🧠 使用的 AI 模型
- **模型**`@cf/meta/m2m100-1.2b`
- **类型**:多语言 → 多语言翻译
- **提供方**Cloudflare Workers AI
官方文档:
https://developers.cloudflare.com/workers-ai/models/m2m100-1.2b/
------
## 📦 项目结构
```text
.
├── index.js # Cloudflare Worker 主逻辑
├── wrangler.toml # Wrangler 配置
└── README.md
```
------
## ⚙️ 部署方式
### 1⃣ 安装 Wrangler
```bash
npm install -g wrangler
```
### 2⃣ 登录 Cloudflare
```bash
wrangler login
```
### 3⃣ 配置 `wrangler.toml`
```toml
name = "ai-translate-worker"
main = "index.js"
compatibility_date = "2026-01-27"
[ai]
binding = "AI"
```
------
### 4⃣ 发布 Worker
```bash
wrangler deploy
```
------
## 🔐 可选API Key 保护
### 设置密钥
```bash
wrangler secret put API_KEY
```
### 调用方式
```http
X-API-Key: your_api_key
```
或:
```text
/api/translate?key=your_api_key
```
------
## 🧩 适用场景
- 个人翻译工具
- 博客 / 内容平台翻译接口
- 海外资讯聚合
- AI 工具链中的翻译节点
- Cloudflare 边缘 AI Demo
------
## 📌 TODO / 可扩展方向
- 自动语言识别
- 翻译历史记录
- 左右对照 UI
- Markdown / HTML 翻译
- 翻译缓存KV / Cache API
- 流式翻译Streaming
------
## 📄 License
MIT License
------
## ❤️ 致谢
- Cloudflare Workers
- Cloudflare Workers AI
- Meta M2M100 Multilingual Model