|
|
@@ -2,6 +2,9 @@ import AiAssistantModel from '~/features/openai/server/models/ai-assistant';
|
|
|
import VectorStoreRelationModel from '~/features/openai/server/models/vector-store';
|
|
|
import { isAiEnabled } from '~/features/openai/server/services/is-ai-enabled';
|
|
|
import { getOpenaiService } from '~/features/openai/server/services/openai';
|
|
|
+import loggerFactory from '~/utils/logger';
|
|
|
+
|
|
|
+const logger = loggerFactory('growi:service:normalize-data:delete-vector-stores-orphaned-from-ai-assistant');
|
|
|
|
|
|
export const deleteVectorStoresOrphanedFromAiAssistant = async(): Promise<void> => {
|
|
|
if (!isAiEnabled()) {
|
|
|
@@ -20,7 +23,12 @@ export const deleteVectorStoresOrphanedFromAiAssistant = async(): Promise<void>
|
|
|
// Logically delete only the VectorStore entities, leaving related documents to be automatically deleted by cron job
|
|
|
const openaiService = getOpenaiService();
|
|
|
for await (const vectorStoreRelation of nonDeletedLegacyKnowledgeAssistantVectorStoreRelations) {
|
|
|
- const vectorStoreFileRelationId = vectorStoreRelation._id;
|
|
|
- await openaiService?.deleteVectorStore(vectorStoreFileRelationId);
|
|
|
+ try {
|
|
|
+ const vectorStoreFileRelationId = vectorStoreRelation._id;
|
|
|
+ await openaiService?.deleteVectorStore(vectorStoreFileRelationId);
|
|
|
+ }
|
|
|
+ catch (err) {
|
|
|
+ logger.error(err);
|
|
|
+ }
|
|
|
}
|
|
|
};
|