Просмотр исходного кода

Delete existing vector store file on page refresh

Shun Miyazawa 1 год назад
Родитель
Сommit
a97ebb16b6

+ 4 - 0
apps/app/src/server/service/openai/openai-client-delegator.ts

@@ -50,6 +50,10 @@ export default class OpenaiClient {
     }
     }
   }
   }
 
 
+  async getFileList(): Promise<OpenAI.Files.FileObjectsPage> {
+    return this.client.files.list();
+  }
+
   async getVectorStoreFiles(): Promise<OpenAI.Beta.VectorStores.Files.VectorStoreFilesPage> {
   async getVectorStoreFiles(): Promise<OpenAI.Beta.VectorStores.Files.VectorStoreFilesPage> {
     return this.client.beta.vectorStores.files.list(this.openaiVectorStoreId);
     return this.client.beta.vectorStores.files.list(this.openaiVectorStoreId);
   }
   }

+ 6 - 0
apps/app/src/server/service/openai/openai.ts

@@ -50,6 +50,12 @@ class OpenaiService implements IOpenaiService {
 
 
   async rebuildVectorStore(page: PageDocument) {
   async rebuildVectorStore(page: PageDocument) {
     // delete vector store file
     // delete vector store file
+    const files = await this.client.getFileList();
+    files.data.forEach(async(file) => {
+      if (file.filename === `${page._id}.md`) {
+        await this.client.deleteFile(file.id);
+      }
+    });
 
 
     // create vector store file
     // create vector store file
     if (page.grant === PageGrant.GRANT_PUBLIC && page.revision != null && isPopulated(page?.revision)) {
     if (page.grant === PageGrant.GRANT_PUBLIC && page.revision != null && isPopulated(page?.revision)) {