Project Files
src / config.ts
import { createConfigSchematics } from "@lmstudio/sdk";
export const configSchematics = createConfigSchematics()
.field(
"retrievalLimit",
"numeric",
{
int: true,
min: 1,
max: 24,
displayName: "Retrieval Limit",
subtitle: "How many results to ask LM Studio for per query.",
slider: { min: 1, max: 24, step: 1 },
},
2,
)
.field(
"multiQueryCount",
"numeric",
{
int: true,
min: 1,
max: 6,
displayName: "Multi-Query Count",
subtitle: "How many rewritten queries to use.",
slider: { min: 1, max: 6, step: 1 },
},
1,
)
.field(
"retrievalAffinityThreshold",
"numeric",
{
min: 0,
max: 1,
displayName: "Similarity Threshold",
subtitle: "Drop weak retrieval matches.",
slider: { min: 0, max: 1, step: 0.05 },
},
0.65,
)
.field(
"selectedSourceCount",
"numeric",
{
int: true,
min: 1,
max: 5,
displayName: "Sources to Include",
subtitle: "How many retrieved sources to include in the final context.",
slider: { min: 1, max: 5, step: 1 },
},
5,
)
.field(
"enableCompression",
"boolean",
{
displayName: "Enable Compression",
subtitle: "Trim and condense retrieved chunks.",
},
true,
)
.field(
"enableMemory",
"boolean",
{
displayName: "Enable Memory",
subtitle: "Keep short reusable notes per topic.",
},
true,
)
.field(
"enablePromptInjectionProtection",
"boolean",
{
displayName: "Prompt Injection Protection",
subtitle: "Filter common jailbreak phrases.",
},
true,
)
.build();