agutierrezmorag / unap-chatbot

Desarrollo de chatbot consciente de documentos y reglamentos pertinentes a la universidad Arturo Prat y la carrera de Ingenieria Civil en Computacion e Informatica.
https://unap-chatbot.streamlit.app/
0 stars 0 forks source link

Implementar base de datos de vectores local #1

Closed agutierrezmorag closed 8 months ago

agutierrezmorag commented 9 months ago

Descripción

Pinecone es un servicio de pago a base de suscripción, con un modelo de pago 'as-you-go', lo que significa que se paga acorde al uso dado.

Actualmente se esta dando uso del tier gratuito de Pinecone, lo que nos da acceso a una base de datos de vectores con un máximo de 100.000 vectores. De momento, con los 12 documentos presente en este repo, estamos usando 221 vectores, lo que obviamente ira aumentando a medida que se agregan documentos.

Para evitar costos extra, seria ideal realizar pruebas con bases de datos locales, según las integraciones que tenga Langchain, como ChromaDB. Esto puede significar una mayor velocidad de respuesta en la búsqueda de documentos contexto, pero también puede significar una menor precisión en las respuestas generadas, dependiendo de la base de datos que se implemente. Otra limitación puede ser el tamaño de los archivos generados. Github solo permite un máximo de 100MB por archivo que se suba al repo.

ss de los datos de Pinecone

Objetivo

Implementar una base de datos de vectores local y comparar los resultados con Pinecone. Si la diferencia no es mucha, reemplazar Pinecone por la opción local. En caso de que Pinecone sea mucho mejor, mencionar esta situación al profesor e indicarle que igual tenemos bastante espacio disponible en la base de datos actual.

Gualterguaguita commented 9 months ago

Se realizaron pruebas con Chroma funcionando en local y pruebas con Pinecone. Las pruebas consistieron en realizar 3 tandas de 10 preguntas utilizando Chroma y Pinecone. Los resultados muestran una ligera diferencia en cuanto a tiempo de respuesta utilizando Chroma la cual es en promedio un 1,5 segundos mas rápido que Pinecone.

https://docs.google.com/spreadsheets/d/11DLu41yMfwQD8DB_bLN8zTWbT0qL5hWneHul4dFvDuM/edit?usp=sharing

Ahora, para el uso de Chroma como base de datos de vectores al parecer requiere de ser desplegada en algún servicio como Amazon Web Service para su uso. Por lo que en tal ser el caso, es posible que pierda la ventaja que poseía frente a Pinecone.

agutierrezmorag commented 8 months ago

Según lo mencionado, se decidió continuar usando Pinecone.