feat(memory): opt-in Qdrant scalar int8 quantization (F4.4 Q1) (#4187)

Integrated into release/v3.8.29. Opt-in Qdrant scalar int8 quantization (F4.4 Q1); default 'none' keeps the create body byte-identical. Validated: vitest 9/9, file-size OK, lint clean.
This commit is contained in:
Diego Rodrigues de Sa e Souza
2026-06-18 15:02:56 -03:00
committed by GitHub
parent 75cf6baca4
commit 0df3131fff
4 changed files with 97 additions and 2 deletions

View File

@@ -1,11 +1,14 @@
import { z } from "zod";
export const QdrantQuantizationSchema = z.enum(["none", "int8", "binary"]);
export const QdrantSettingsSchema = z.object({
enabled: z.boolean(),
host: z.string().min(0), // string vazia OK quando enabled=false
port: z.number().int().min(1).max(65535).default(6333),
collection: z.string().min(1).default("omniroute_memory"),
embeddingModel: z.string().default("openai/text-embedding-3-small"),
quantization: QdrantQuantizationSchema.default("none"),
hasApiKey: z.boolean().default(false),
apiKeyMasked: z.string().nullable().default(null),
});
@@ -17,6 +20,7 @@ export const QdrantSettingsUpdateSchema = z
port: z.number().int().min(1).max(65535).optional(),
collection: z.string().min(1).optional(),
embeddingModel: z.string().min(1).optional(),
quantization: QdrantQuantizationSchema.optional(),
apiKey: z.string().optional(), // string vazia = remove
})
.strict();