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
This commit is contained in:
@@ -1,3 +1,44 @@
|
||||
# embed
|
||||
# Embedding Service
|
||||
|
||||
Embedding computation service — text → vector + cache (Cloudflare Worker)
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user