OmniRoute Embeddings 用于通过 OmniRoute 统一接入多家提供商的文本嵌入能力。
用途
该技能提供文本嵌入(embeddings)调用能力,采用 OpenAI /v1/embeddings 的请求与响应格式,并在 text-embedding-3-large、Voyage、Cohere、Gemini embeddings、Jina 等模型之间进行自动回退,便于在单一接口下使用多家嵌入模型。
前置条件
需要配置 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 }。
调用示例
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:encoding_format 需使用 float 或 base64。 503:提供商不可用,可尝试 /v1/models/embedding 中的其他模型。
限制
关于价格、速率限制、各模型的具体维度与 token 上限等细节,当前资料未提供,需通过 /v1/models/embedding 查询或参考入口 SKILL。