fix(embeddings): forward Gemini output dimensions (#1366)

Co-authored-by: GoClaw Operator <operator@goclaw>
This commit is contained in:
nguyenha935
2026-05-23 09:23:26 +07:00
committed by GitHub
co-authored by GoClaw Operator
parent e1b821dd53
commit 7bc97eae7b
2 changed files with 60 additions and 3 deletions
+15 -3
View File
@@ -13,12 +13,24 @@ export default {
return `${BASE}/${path}:${op}?key=${encodeURIComponent(apiKey)}`;
},
buildHeaders: () => ({ "Content-Type": "application/json" }),
buildBody: (model, { input }) => {
buildBody: (model, { input, dimensions }) => {
const m = modelPath(model);
const outputDimensionality = Number(dimensions);
const hasOutputDimensionality = Number.isFinite(outputDimensionality) && outputDimensionality > 0;
if (Array.isArray(input)) {
return { requests: input.map((text) => ({ model: m, content: { parts: [{ text: String(text) }] } })) };
return {
requests: input.map((text) => ({
model: m,
content: { parts: [{ text: String(text) }] },
...(hasOutputDimensionality ? { outputDimensionality } : {}),
})),
};
}
return { model: m, content: { parts: [{ text: String(input) }] } };
return {
model: m,
content: { parts: [{ text: String(input) }] },
...(hasOutputDimensionality ? { outputDimensionality } : {}),
};
},
normalize: (responseBody, model) => {
if (responseBody.object === "list" && Array.isArray(responseBody.data)) return responseBody;