feat: add AI_EMBEDDING_SUPPORTS_MRL env var to decouple pgvector dimensions from model API (#2079)
Some embedding models don't accept a `dimensions` parameter. This adds an optional env var that controls whether the dimension is sent to the model API, while always using it for pgvector indexing. Preset models have this handled automatically; the env var allows explicit override for custom models.
This commit is contained in:
parent
fd91b11c6c
commit
9aaa6c731c
4 changed files with 14 additions and 2 deletions
|
|
@ -25,7 +25,7 @@
|
||||||
"@tabler/icons-react": "^3.40.0",
|
"@tabler/icons-react": "^3.40.0",
|
||||||
"@tanstack/react-query": "5.90.17",
|
"@tanstack/react-query": "5.90.17",
|
||||||
"alfaaz": "^1.1.0",
|
"alfaaz": "^1.1.0",
|
||||||
"axios": "^1.13.6",
|
"axios": "1.13.6",
|
||||||
"blueimp-load-image": "^5.16.0",
|
"blueimp-load-image": "^5.16.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"emoji-mart": "^5.6.0",
|
"emoji-mart": "^5.6.0",
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit d6675bed05c20422c978e215866fb334c28dec09
|
Subproject commit 670b9458f3bbdc6dcfe349933cae4d95ff05b978
|
||||||
|
|
@ -259,6 +259,12 @@ export class EnvironmentService {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getAiEmbeddingSupportsMrl(): boolean | undefined {
|
||||||
|
const val = this.configService.get<string>('AI_EMBEDDING_SUPPORTS_MRL');
|
||||||
|
if (val === undefined || val === null || val === '') return undefined;
|
||||||
|
return val === 'true';
|
||||||
|
}
|
||||||
|
|
||||||
getOpenAiApiKey(): string {
|
getOpenAiApiKey(): string {
|
||||||
return this.configService.get<string>('OPENAI_API_KEY');
|
return this.configService.get<string>('OPENAI_API_KEY');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,12 @@ export class EnvironmentVariables {
|
||||||
@IsString()
|
@IsString()
|
||||||
AI_EMBEDDING_DIMENSION: string;
|
AI_EMBEDDING_DIMENSION: string;
|
||||||
|
|
||||||
|
@IsOptional()
|
||||||
|
@ValidateIf((obj) => obj.AI_EMBEDDING_SUPPORTS_MRL)
|
||||||
|
@IsIn(['true', 'false'])
|
||||||
|
@IsString()
|
||||||
|
AI_EMBEDDING_SUPPORTS_MRL: string;
|
||||||
|
|
||||||
@ValidateIf((obj) => obj.AI_DRIVER)
|
@ValidateIf((obj) => obj.AI_DRIVER)
|
||||||
@IsString()
|
@IsString()
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue