Skip to main content
当前版本 30a6d88a4 的 controller/relay.go 用大小写敏感的 strings.Contains(path, "embed") 分发原生向量。:batchEmbedContents 自身没有小写 embed,因此批量调用要求路径模型 ID 含小写 embed(例如实际可用的 embedding 模型名);不含该片段的别名可能进入错误分支。示例在发送前拒绝这类批量别名。此限制来自当前实现,不是 Gemini 协议要求;升级网关后应复核。 原生 Gemini 的单条 :embedContent 与同步批量 :batchEmbedContents 使用 content.parts,返回 embedding.values / embeddings[].values,与 OpenAI Embeddings 的 input / data[].embedding 不同。批量 action 不是异步 Batch API。 按 REST 运行环境设置根地址、密钥与不带 models/ 的裸模型 ID,使用支持 Gemini 原生 embedding 的渠道。
请求中的所有条目使用同一模型。网关将路径模型映射到上游,并重写各条目的 model;不要用一次批量请求混合不同模型。当前类型化请求保留 model、content、taskType、title、outputDimensionality,未知顶层字段不应假定透传。 示例用 RETRIEVAL_DOCUMENT 编码文档;查询侧通常选择对应的 RETRIEVAL_QUERY。必须由模型支持这些选项;title 用于文档检索类型,维度上限及任务类型按具体模型确认。代码验证数量、非空有限数值和同维度后才输出;没有保证向量归一化,也不会跨模型比较。 单条 API、批量 API。字段语义参考 Google 原生文档;模型能力和限制需在实际部署验证。
Read in English