From 7ab9a7fd2d308ceb653d3b91033e20abb4215c3d Mon Sep 17 00:00:00 2001 From: Developer Date: Fri, 31 Jul 2026 20:14:18 +0700 Subject: [PATCH] =?UTF-8?q?fix(automod):=20force=20float=20encoding=20for?= =?UTF-8?q?=20embeddings=20=E2=80=94=20Nvidia=20models=20reject=20base64?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenAI SDK v6 defaults to encoding_format=base64; llama-nemotron-embed (Nvidia-backed) returns 400 'do not support base64'. Semantic cache was silently disabled in prod. encoding_format: 'float' fixes it. --- .../src/modules/ai-moderation/embeddingClient.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/discord-gateway/src/modules/ai-moderation/embeddingClient.ts b/services/discord-gateway/src/modules/ai-moderation/embeddingClient.ts index 9ebb436..29373df 100644 --- a/services/discord-gateway/src/modules/ai-moderation/embeddingClient.ts +++ b/services/discord-gateway/src/modules/ai-moderation/embeddingClient.ts @@ -61,6 +61,9 @@ export async function embedTexts(texts: string[]): Promise { const response = await client.embeddings.create({ model: config.AI_LLM_EMBEDDING_MODEL as string, input: texts, + // OpenAI SDK v6 defaults to base64; Nvidia-backed embedding models + // (e.g. llama-nemotron-embed) reject it with 400. Always float. + encoding_format: "float", }); return response.data.map((item) => item.embedding); } catch (error) {