Habla con tus documentos.

Estoy revisando un poco el estado del arte para todo el lio de Retrieval Augmented Generation, AKA «Habla con tu PDF». Esto es lo que he encontrado.

Bases de datos vectoriales:

ChromaDB: https://github.com/chroma-core/chroma Parece que tiene mas features para el caso concreto de RAG

Todas las demas: pinecone etc

Modelos de embedding

A mi me gustaba llamarlos «vectores semanticos» porque el embedding tambien es algo que se hace con un token o con una coordenada. Pero parece que se van a acabar llamando asi.

De entre los modelos abiertos, el de NVidia lidera la clasificacion de MTEB pero no es libre. En este blog recomiendan tirar de bge o gte, si no hace falta fine tuning, y del all-mpnet si hay que tunear.

Nomic Embed, el embedder de GPT4All (que poco me gusta ese nombre), que tiene una puntuacion bastante alta en la arena, sobrepasado solo por dos mistrales refinados por microsoft. En el blog anterior tenia una mención especial el mixto de Nomic con video, pero aunque es abierto no tiene licencia comercial.

(ya tiene narices que sea tan dificil sobrepasar BM25, tiene pinta de que no le echan mucha imaginacion los que participan en la arena de MTEB)

Alibaba compara su Qwen2 con el v1 de Nvidia, no con el v2. Es notable que gte-large con solo 434M parametros queda en buenas posiciones, practicamente al nivel de los pequeños de Qwen.

Orquestadores de agentes, e interfaz de usuario

Mezclo las dos categorias, porque casi la principal caracteristica es que son mas trabajo de frontend que de backend.

SillyTavern https://github.com/SillyTavern/SillyTavern

OpenWebUI https://github.com/open-webui/open-webui

OpenHands https://github.com/All-Hands-AI/OpenHands

Haystack: https://github.com/deepset-ai/haystack. Por algun motivo el ChatGPT lo lista al considerar bases de datos, pero es un integrador que puede llamar opensearch, qdrant, pinecone etc… Seguramente la confusion viene del uso que le dan en muchos tutoriales, vease este de Ektos.

Chatchat (formerly Langchain-ChatGLM) https://github.com/chatchat-space/Langchain-Chatchat/blob/master/README_en.md

Langflow https://github.com/langflow-ai/langflow

kotaemon https://github.com/Cinnamon/kotaemon

ChatBees https://github.com/ChatBees es uno de los que intentan vender RAG as a Service pero tiene un contenedor de ejemplo con gte-multilingual-base y Gemma2 local-gemma.

CrewAI https://github.com/crewAIInc/crewAI

Otras herramientas

Nomic, https://www.nomic.ai/blog


Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.