RAG: ночная пакетная индексация эмбеддингов, очередь embedding_queue, MCP get_organization_context, снижение OLLAMA_KEEP_ALIVE

This commit is contained in:
2026-07-08 15:57:25 +03:00
parent 1e9131753d
commit 70dfe07fa6
11 changed files with 440 additions and 83 deletions

View File

@@ -6,7 +6,7 @@ import { organizationApiKeys, type OrganizationApiKey } from "@shared/schema";
import { automations, type Automation, type InsertAutomation } from "@shared/schema";
import { taskRelations, type TaskRelation, type InsertTaskRelation } from "@shared/schema";
import { taskReminders, type TaskReminder, type InsertTaskReminder } from "@shared/schema";
import { ragSettings, type RagSetting } from "@shared/schema";
import { ragSettings, type RagSetting, embeddingQueue } from "@shared/schema";
import { llmProviders, type LlmProvider, type InsertLlmProvider } from "@shared/schema";
import { systemConfig } from "@shared/schema";
import { taskAuditLog, type TaskAuditLog, type InsertTaskAuditLog } from "@shared/schema";
@@ -458,6 +458,12 @@ export interface IStorage {
getRagSettings(organizationId: number): Promise<RagSetting | undefined>;
upsertRagSettings(organizationId: number, updates: Partial<Omit<RagSetting, 'organizationId' | 'updatedAt'>>): Promise<RagSetting>;
// Embedding Queue
enqueueEmbedding(organizationId: number, entityType: 'form' | 'task' | 'task_message', entityId: number, operation?: 'upsert' | 'delete'): Promise<void>;
getPendingEmbeddingQueue(limit?: number): Promise<Array<{ id: number; organizationId: number; entityType: 'form' | 'task' | 'task_message'; entityId: number; operation: 'upsert' | 'delete' }>>;
markEmbeddingQueueProcessed(ids: number[]): Promise<void>;
clearEmbeddingQueue(): Promise<void>;
// LLM Providers
getLlmProviders(organizationId: number): Promise<LlmProvider[]>;
getLlmProvider(id: number, organizationId: number): Promise<LlmProvider | undefined>;