Commit 0410cf4d06c28beef08ef6bd8cffa0ddd4e29c5c
1 parent
1d6727ac
trans
Showing
1 changed file
with
46 additions
and
0 deletions
Show diff stats
docs/搜索API对接指南.md
| ... | ... | @@ -1842,6 +1842,26 @@ curl "http://localhost:6007/health" |
| 1842 | 1842 | - 外部接口不接受 `prompt`;LLM prompt 由服务端按 `scene` 自动生成。 |
| 1843 | 1843 | - 传入未定义的 `scene` 或未启用的 `model` 会返回 `400`。 |
| 1844 | 1844 | |
| 1845 | +**SKU 名称场景选型建议**: | |
| 1846 | + | |
| 1847 | +- 批量 SKU 名称翻译,优先考虑本地大吞吐方案时,可使用 `"model": "nllb-200-distilled-600m"`(该模型"scene":参数无效)。 | |
| 1848 | +- 如果目标是更高质量,且可以接受更慢速度与额外 LLM API 费用,可使用 `"model": "llm"` + `"scene": "sku_name"`。 | |
| 1849 | +- 如果是en-zh互译、期待更高的速度,可以考虑`opus-mt-zh-en` / `opus-mt-en-zh`。(质量未详细评测,一些文章说比blib-200-600m更好,但是我看了些case感觉要差不少) | |
| 1850 | + | |
| 1851 | +**实时翻译选型建议**: | |
| 1852 | + | |
| 1853 | +- 在线 query 翻译如果只是 `en/zh` 互译,优先使用 `opus-mt-zh-en` 或 `opus-mt-en-zh`,它们是当前已测本地模型里延迟最低的一档。 | |
| 1854 | +- 如果涉及其他语言,或对质量要求高于本地轻量模型,优先考虑 `deepl`。 | |
| 1855 | +- `nllb-200-distilled-600m` 不建议作为在线 query 翻译默认方案;我们在 `Tesla T4` 上测到 `batch_size=1` 时,`zh -> en` p50 约 `292.54 ms`、p95 约 `624.12 ms`,`en -> zh` p50 约 `481.61 ms`、p95 约 `1171.71 ms`。 | |
| 1856 | + | |
| 1857 | +**Batch Size / 调用方式建议**: | |
| 1858 | + | |
| 1859 | +- 本接口支持 `text: string[]`;离线或批量索引翻译时,应尽量合并请求,让底层 backend 发挥批处理能力。 | |
| 1860 | +- `nllb-200-distilled-600m` 在当前 `Tesla T4` 压测中,推荐配置是 `batch_size=16`、`max_new_tokens=64`、`attn_implementation=sdpa`;继续升到 `batch_size=32` 虽可能提高吞吐,但 tail latency 会明显变差。 | |
| 1861 | +- 在线 query 场景可直接把“单条请求”理解为 `batch_size=1`;更关注 request latency,而不是离线吞吐。 | |
| 1862 | +- `opus-mt-zh-en` / `opus-mt-en-zh` 当前生产配置也是 `batch_size=16`,适合作为中英互译的低延迟本地默认值;若走在线单条调用,同样按 `batch_size=1` 理解即可。 | |
| 1863 | +- `llm` 按单条请求即可。 | |
| 1864 | + | |
| 1845 | 1865 | **响应**: |
| 1846 | 1866 | ```json |
| 1847 | 1867 | { |
| ... | ... | @@ -1921,6 +1941,32 @@ curl -X POST "http://localhost:6006/translate" \ |
| 1921 | 1941 | }' |
| 1922 | 1942 | ``` |
| 1923 | 1943 | |
| 1944 | +使用本地 NLLB 做 SKU 名称批量翻译: | |
| 1945 | +```bash | |
| 1946 | +curl -X POST "http://localhost:6006/translate" \ | |
| 1947 | + -H "Content-Type: application/json" \ | |
| 1948 | + -d '{ | |
| 1949 | + "text": ["商品名称1", "商品名称2", "商品名称3"], | |
| 1950 | + "target_lang": "en", | |
| 1951 | + "source_lang": "zh", | |
| 1952 | + "model": "nllb-200-distilled-600m", | |
| 1953 | + "scene": "sku_name" | |
| 1954 | + }' | |
| 1955 | +``` | |
| 1956 | + | |
| 1957 | +使用 LLM 做高质量 SKU 名称翻译: | |
| 1958 | +```bash | |
| 1959 | +curl -X POST "http://localhost:6006/translate" \ | |
| 1960 | + -H "Content-Type: application/json" \ | |
| 1961 | + -d '{ | |
| 1962 | + "text": "男士偏光飞行员太阳镜", | |
| 1963 | + "target_lang": "en", | |
| 1964 | + "source_lang": "zh", | |
| 1965 | + "model": "llm", | |
| 1966 | + "scene": "sku_name" | |
| 1967 | + }' | |
| 1968 | +``` | |
| 1969 | + | |
| 1924 | 1970 | #### 7.3.2 `GET /health` — 健康检查 |
| 1925 | 1971 | |
| 1926 | 1972 | ```bash | ... | ... |