Embeddings
POST /v1/embeddings
compatible
语义操作 embed
契约修订 1
状态语义:stateless
已声明的偏差
Section titled “已声明的偏差”逐条来自契约,不是补充说明:
- gateway routes model names
- unknown request fields are rejected before provider I/O
- provider-specific unsupported fields are rejected before provider I/O
curl https://halro.example.com/v1/embeddings \ -H "Authorization: Bearer $HALRO_GATEWAY_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "embed", "input": ["第一段文本", "第二段文本"] }'import osfrom openai import OpenAI
client = OpenAI(base_url="https://halro.example.com/v1", api_key=os.environ["HALRO_GATEWAY_KEY"], timeout=60.0, max_retries=0)response = client.embeddings.create(model="embed", input=["第一段文本", "第二段文本"])print(len(response.data), "个向量,维度", len(response.data[0].embedding))import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://halro.example.com/v1", apiKey: process.env.HALRO_GATEWAY_KEY, timeout: 60_000, maxRetries: 0,});const response = await client.embeddings.create({ model: "embed", input: ["第一段文本", "第二段文本"],});console.log(response.data.length, "个向量,维度", response.data[0].embedding.length);AuthorizationContent-Type
| 字段 | 不支持该字段的 Provider Profile | 组合级限制 |
|---|---|---|
model | — | — |
input | bedrock.runtime.invoke.titan-embed-text-v2.v1 | — |
encoding_format | gemini.generate-content.text.v1beta、bedrock.runtime.invoke.titan-embed-text-v2.v1 | — |
dimensions | bedrock.runtime.invoke.titan-embed-text-v2.v1 | — |
user | gemini.generate-content.text.v1beta、bedrock.runtime.invoke.titan-embed-text-v2.v1 | — |
object data model usage
可路由的 Provider Profile 及各自成熟度
Section titled “可路由的 Provider Profile 及各自成熟度”| Provider Profile | 成熟度 | 不支持的请求字段 |
|---|---|---|
openai.chat-embeddings.v1 | compatible | 未声明 |
azure-openai.chat-embeddings.v1 | compatible | 未声明 |
openai-compatible.chat-embeddings.v1 | compatible | 未声明 |
gemini.generate-content.text.v1beta | compatible | encoding_format、user |
bedrock.runtime.invoke.titan-embed-text-v2.v1 | experimental | input、encoding_format、dimensions、user |
已声明的变换
Section titled “已声明的变换”gemini.generate-content.text.v1beta
- token usage is locally estimated when Gemini omits usage
bedrock.runtime.invoke.titan-embed-text-v2.v1
- only one string input is accepted
- dimensions are limited to 256, 512, or 1024
- native requests force normalized float embeddings
- Bedrock inputTextTokenCount is mapped to OpenAI usage
已验证的证据:gateway_contract、provider_transport_fixture、sdk_blackbox
SDK 黑盒协议桩矩阵
Section titled “SDK 黑盒协议桩矩阵”openai-go、openai-node、openai-python
本页的字段表、覆盖矩阵与偏差列表由 Halro 7117fdc38491 的兼容性契约生成
(scripts/generate-api-pages.mjs,契约摘要 9f8a5c57f76ae870…)。
字段的类型、是否必填与语义说明尚未进入契约,因此本页只列字段名。