OmniRoute — Embeddings 提供统一的文本向量化调用方式,使用与 OpenAI /v1/embeddings 兼容的接口格式,并声称可在多个向量模型之间自动回退。
【准备工作】 需要配置两个环境变量:OMNIROUTE_URL 与 OMNIROUTE_KEY,具体设置说明参见入口 SKILL 文档。
【主要能力】
- 统一端点:POST $OMNIROUTE_URL/v1/embeddings
- 模型发现:可通过 curl $OMNIROUTE_URL/v1/models/embedding | jq '.data[]' 查询可用向量模型,每个条目包含 { id, owned_by, dimensions, max_input_tokens }。
- 自动回退:资料描述其可在 text-embedding-3-large、Voyage、Cohere、Gemini embeddings、Jina 之间自动回退,具体回退策略资料未提供。
【使用方式】
示例请求:
curl -X POST $OMNIROUTE_URL/v1/embeddings
-H "Authorization: Bearer $OMNIROUTE_KEY"
-H "Content-Type: application/json"
-d '{
"model": "text-embedding-3-large",
"input": ["first text", "second text"],
"encoding_format": "float"
}'
响应结构:{ data:[{ embedding:[...], index }], usage:{ prompt_tokens, total_tokens } }。
【批量输入】 input 字段接受单个字符串或字符串数组,批量上限取决于具体提供商,资料称通常为 2048 条。
【错误处理】
- 400 input_too_long:输入超出该模型的 max_input_tokens。
- 400 invalid_encoding_format:编码格式需使用 float 或 base64。
- 503:提供方不可用,可改用 /v1/models/embedding 中的其他模型。
【适用场景】 适合需要统一接口调用多家向量模型、进行批量文本向量化,以及希望在某提供方不可用时切换模型的场景。
【限制】 资料未提供收费、价格、速率限制、各模型具体维度与效果评测等信息;自动回退的具体触发与顺序未说明。