From 65179e8b0519aa4ccf28afc4c429262ecf7a62f3 Mon Sep 17 00:00:00 2001 From: "A.J. Shulman" Date: Tue, 16 Jul 2024 11:11:53 -0400 Subject: attempting annotations for image chunks --- .../nodes/ChatBox/vectorstore/VectorstoreUpload.ts | 41 +++++++++++----------- 1 file changed, 20 insertions(+), 21 deletions(-) (limited to 'src/client/views/nodes/ChatBox/vectorstore') 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[] = 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); -- cgit v1.2.3-70-g09d2