aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/ChatBox/vectorstore
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/nodes/ChatBox/vectorstore')
-rw-r--r--src/client/views/nodes/ChatBox/vectorstore/VectorstoreUpload.ts41
1 files changed, 20 insertions, 21 deletions
diff --git a/src/client/views/nodes/ChatBox/vectorstore/VectorstoreUpload.ts b/src/client/views/nodes/ChatBox/vectorstore/VectorstoreUpload.ts
index 64b89225c..b47e276e7 100644
--- a/src/client/views/nodes/ChatBox/vectorstore/VectorstoreUpload.ts
+++ b/src/client/views/nodes/ChatBox/vectorstore/VectorstoreUpload.ts
@@ -55,28 +55,17 @@ export class Vectorstore {
this.index = this.pinecone.Index(this.indexName);
}
- async addAIDocs(visible_docs: Doc[]) {
- console.log('All Docs:', visible_docs);
- visible_docs?.forEach(async doc => {
- await this.addAIDoc(doc);
- });
- return;
- }
-
async addAIDoc(doc: Doc) {
console.log('Adding AI Document:', doc);
- console.log('AI Document1:', doc[DocData].ai_document);
- console.log('AI Document2:', doc.ai_document);
- const ai_document_string: string = StrCast(doc.ai_document);
- if (ai_document_string !== undefined && ai_document_string !== null && ai_document_string !== '' && ai_document_string !== ' ' && ai_document_string !== '{}') {
- if (ai_document_string === 'IN PROGRESS') {
+ const ai_document_status: string = StrCast(doc.ai_document_status);
+ if (ai_document_status !== undefined && ai_document_status !== null && ai_document_status !== '' && ai_document_status !== ' ' && ai_document_status !== '{}') {
+ if (ai_document_status === 'IN PROGRESS') {
console.log('Already in progress.');
return;
}
- this.documents.push(convertToAIDocument(JSON.parse(StrCast(doc.ai_document))));
console.log(`Document already added: ${doc.file_name}`);
} else {
- doc.ai_document = 'IN PROGRESS';
+ doc.ai_document_status = 'PROGRESS';
console.log(doc);
console.log(PDFCast(doc.data)?.url?.pathname);
console.log(CsvCast(doc.data)?.url?.pathname);
@@ -89,15 +78,25 @@ export class Vectorstore {
this.documents.push(ai_document);
await this.indexDocument(ai_document);
console.log(`Document added: ${ai_document.file_name}`);
- doc.ai_document = JSON.stringify(document_json);
+ doc.summary = ai_document.summary;
+ doc.ai_purpose = ai_document.purpose;
+ if (doc.vectorstore_id === undefined || doc.vectorstore_id === null || doc.vectorstore_id === '' || doc.vectorstore_id === '[]') {
+ doc.vectorstore_id = JSON.stringify([this.id]);
+ } else {
+ doc.vectorstore_id = JSON.stringify(JSON.parse(StrCast(doc.vectorstore_id)).concat([this.id]));
+ }
+ if (doc.chunk_ids === undefined || doc.chunk_ids === null || doc.chunk_ids === '' || doc.chunk_ids === '[]') {
+ doc.chunk_ids = JSON.stringify([]);
+ }
+ ai_document.chunks.forEach(chunk => {
+ console.log(doc.chunk_ids);
+ doc.chunk_ids = JSON.stringify(JSON.parse(StrCast(doc.chunk_ids)).concat([chunk.id]));
+ });
+ doc.ai_document_status = 'COMPLETED';
}
}
}
- getSummaries(): string {
- return this.documents.map((doc, index) => `${index + 1}) ${doc.summary}`).join('\n') + '\n';
- }
-
private async indexDocument(document: AI_Document) {
console.log('Uploading vectors to content namespace...');
const pineconeRecords: PineconeRecord<RecordMetadata>[] = document.chunks.map(
@@ -105,7 +104,7 @@ export class Vectorstore {
({
id: chunk.id,
values: chunk.values,
- metadata: { ...chunk.metadata, vectorestore_id: this.id } as RecordMetadata,
+ metadata: { ...chunk.metadata, vectorstore_id: this.id } as RecordMetadata,
}) as PineconeRecord
);
await this.index.upsert(pineconeRecords);