Pārlūkot izejas kodu

updateArray -> vectorStoreFileRelations

Shun Miyazawa 1 gadu atpakaļ
vecāks
revīzija
37a917299a

+ 6 - 6
apps/app/src/features/openai/server/models/vector-store-relation.ts

@@ -15,8 +15,8 @@ interface VectorStoreRelationModel extends Model<VectorStoreRelation> {
   updateOrCreateDocument(requestData: VectorStoreRelation[]): Promise<void>;
   updateOrCreateDocument(requestData: VectorStoreRelation[]): Promise<void>;
 }
 }
 
 
-export const prepareDocumentData = (pageId: Types.ObjectId, fileId: string, updateArray: VectorStoreRelation[]): VectorStoreRelation[] => {
-  const existingData = updateArray.find(relation => relation.pageId.equals(pageId));
+export const prepareDocumentData = (pageId: Types.ObjectId, fileId: string, vectorStoreFileRelations: VectorStoreRelation[]): VectorStoreRelation[] => {
+  const existingData = vectorStoreFileRelations.find(relation => relation.pageId.equals(pageId));
 
 
   // If the data exists, add the fileId to the fileIds array
   // If the data exists, add the fileId to the fileIds array
   if (existingData != null) {
   if (existingData != null) {
@@ -24,13 +24,13 @@ export const prepareDocumentData = (pageId: Types.ObjectId, fileId: string, upda
   }
   }
   // If the data doesn't exist, create a new one and add it to the array
   // If the data doesn't exist, create a new one and add it to the array
   else {
   else {
-    updateArray.push({
+    vectorStoreFileRelations.push({
       pageId,
       pageId,
       fileIds: [fileId],
       fileIds: [fileId],
     });
     });
   }
   }
 
 
-  return updateArray;
+  return vectorStoreFileRelations;
 };
 };
 
 
 const schema = new Schema<VectorStoreRelationDocument, VectorStoreRelationModel>({
 const schema = new Schema<VectorStoreRelationDocument, VectorStoreRelationModel>({
@@ -46,9 +46,9 @@ const schema = new Schema<VectorStoreRelationDocument, VectorStoreRelationModel>
   }],
   }],
 });
 });
 
 
-schema.statics.updateOrCreateDocument = async function(requestData: VectorStoreRelation[]): Promise<void> {
+schema.statics.updateOrCreateDocument = async function(vectorStoreFileRelations: VectorStoreRelation[]): Promise<void> {
   await this.bulkWrite(
   await this.bulkWrite(
-    requestData.map((data) => {
+    vectorStoreFileRelations.map((data) => {
       return {
       return {
         updateOne: {
         updateOne: {
           filter: { pageId: data.pageId },
           filter: { pageId: data.pageId },

+ 8 - 5
apps/app/src/server/service/openai/openai.ts

@@ -40,19 +40,19 @@ class OpenaiService implements IOpenaiService {
   }
   }
 
 
   async createVectorStoreFile(pages: Array<PageDocument>): Promise<void> {
   async createVectorStoreFile(pages: Array<PageDocument>): Promise<void> {
-    const vectorStoreFileRelationData: VectorStoreRelation[] = [];
+    const vectorStoreFileRelations: VectorStoreRelation[] = [];
     const processUploadFile = async(page: PageDocument) => {
     const processUploadFile = async(page: PageDocument) => {
       if (page._id != null && page.grant === PageGrant.GRANT_PUBLIC && page.revision != null) {
       if (page._id != null && page.grant === PageGrant.GRANT_PUBLIC && page.revision != null) {
         if (isPopulated(page.revision) && page.revision.body.length > 0) {
         if (isPopulated(page.revision) && page.revision.body.length > 0) {
           const uploadedFile = await this.uploadFile(page._id, page.revision.body);
           const uploadedFile = await this.uploadFile(page._id, page.revision.body);
-          prepareDocumentData(page._id, uploadedFile.id, vectorStoreFileRelationData);
+          prepareDocumentData(page._id, uploadedFile.id, vectorStoreFileRelations);
           return;
           return;
         }
         }
 
 
         const pagePopulatedToShowRevision = await page.populateDataToShowRevision();
         const pagePopulatedToShowRevision = await page.populateDataToShowRevision();
         if (pagePopulatedToShowRevision.revision != null && pagePopulatedToShowRevision.revision.body.length > 0) {
         if (pagePopulatedToShowRevision.revision != null && pagePopulatedToShowRevision.revision.body.length > 0) {
           const uploadedFile = await this.uploadFile(page._id, pagePopulatedToShowRevision.revision.body);
           const uploadedFile = await this.uploadFile(page._id, pagePopulatedToShowRevision.revision.body);
-          prepareDocumentData(page._id, uploadedFile.id, vectorStoreFileRelationData);
+          prepareDocumentData(page._id, uploadedFile.id, vectorStoreFileRelations);
         }
         }
       }
       }
     };
     };
@@ -69,10 +69,13 @@ class OpenaiService implements IOpenaiService {
     });
     });
 
 
     try {
     try {
-      const uploadedFileIds = vectorStoreFileRelationData.map(data => data.fileIds).flat();
+      // Create vector store file
+      const uploadedFileIds = vectorStoreFileRelations.map(data => data.fileIds).flat();
       const res = await this.client.createVectorStoreFileBatch(uploadedFileIds);
       const res = await this.client.createVectorStoreFileBatch(uploadedFileIds);
       logger.debug('create vector store file: ', res);
       logger.debug('create vector store file: ', res);
-      await VectorStoreRelationModel.updateOrCreateDocument(vectorStoreFileRelationData);
+
+      // Save vector store file relation
+      await VectorStoreRelationModel.updateOrCreateDocument(vectorStoreFileRelations);
     }
     }
     catch (err) {
     catch (err) {
       logger.error(err);
       logger.error(err);