Files
xiaomo 396e005686 feat: embedding service — Cloudflare Worker + KV cache + Dashscope
- POST /embed: batch text → vector (max 100)
- KV cache: sha256(model+text), content-addressable, no expiry
- Dashscope text-embedding-v3 upstream (1024 dims)
- Bearer token auth
- Health endpoint

Deployed: https://embed.shazhou.workers.dev
2026-04-29 07:21:46 +00:00

45 lines
857 B
Markdown

# Embedding Service
Text → vector 计算服务,nerve knowledge 的 embedding 后端。
## 接口
```
POST /embed
Authorization: Bearer <token>
{
"texts": ["chunk 1", "chunk 2"],
"model": "text-embedding-v3"
}
→ 200
{
"embeddings": [[0.012, ...], [0.056, ...]],
"model": "text-embedding-v3",
"dimensions": 1024,
"cached": [false, true]
}
```
## 特性
- **缓存**: KV 存储,key = sha256(model + text),永不过期
- **上游**: Dashscope text-embedding-v3(可配置)
- **批量**: 单次最多 100 条
- **鉴权**: Bearer token
## 开发
```bash
pnpm install
pnpm dev # 本地开发
pnpm deploy # 部署到 Cloudflare Workers
```
## 环境变量(Secrets)
- `AUTH_TOKEN` — 鉴权 token
- `DASHSCOPE_API_KEY` — Dashscope API key
- `DEFAULT_MODEL` — 默认模型(可选,默认 text-embedding-v3)