OneRAG - fuente RAG creada por un PM de chatbots, donde puedes cambiar Vector DB/LLM y más con una sola línea de configuración
(github.com/notadev-iamaura)Como no desarrollador, trabajé varias veces en productos relacionados con chatbots y, en algún momento, quise crear un producto exactamente como yo lo imaginaba.
Por eso empecé a desarrollar chatbots en Kmong.
Últimamente hay muchos proyectos en Kmong hechos por no desarrolladores, y yo también logré generar alrededor de 14 millones de wones en ingresos durante 5 meses desde septiembre del año pasado usando únicamente chatbots RAG.
Los requisitos de los clientes suelen ser muy parecidos, y era molesto tener que modificar el código para adaptarlo a pipelines RAG ligeramente distintos y al uso de diferentes vector DB, así que creé OneRAG.
Idea principal: con solo cambiar una línea en el archivo de configuración, se puede reemplazar cualquier componente
Componentes compatibles:
- Vector DB: Weaviate, Chroma, Pinecone, Qdrant, pgvector, MongoDB
- LLM: Gemini, OpenAI, Claude, OpenRouter
- Reranker: Jina, Cohere, Google, OpenAI, Local
- Cache: Memory, Redis, Semantic
- Extra: GraphRAG, PII Mask, Agent
Quickstart de 5 minutos:
git clone https://github.com/notadev-iamaura/OneRAG
cd OneRAG && make quickstart
Basado en FastAPI, incluye Docker Compose y soporte básico para NLP en coreano.
(He trabajado en el área de servicios de IA en Corea)
Licencia MIT. Agradecería mucho comentarios sobre la arquitectura o sugerencias de qué componentes sería bueno agregar.
8 comentarios
Últimamente yo también he sentido vagamente que necesitaba un servicio así. Me gustaría saber si tienen pensado añadir modelos chinos como GLM de Zhipu o Kimi.
¡Gracias por tu comentario!
Actualmente también es posible llamar modelos con base en OpenRouter, así que si configuras las llamadas sobre OpenRouter, puedes invocar el modelo que mencionas simplemente cambiando el nombre del modelo.
Si se trata de una arquitectura para hacer funcionar ese modelo en local, me gustaría añadir una actualización más adelante.
Sin embargo, probablemente será después de que parezca un modelo con un nivel adecuado para usarse en RAG en coreano.
Hasta entonces, planeo agregar un pipeline simplificado para que quienes recién están conociendo RAG puedan experimentar de forma sencilla.
Por ejemplo, estoy considerando funciones que permitan hacer RAG de forma más simple y con menos configuración usando la API de Grok Collections :)
Gracias por la respuesta. ¿Se refiere al servicio https://openrouter.ai/ cuando dice OpenRouter? La parte en la que menciona que es un modelo con un nivel adecuado para usar en RAG en coreano no es algo que yo conozca muy bien, pero en mi caso GLM 4.7 me ha dado respuestas en coreano consistentemente mejores para los prompts que yo quiero que sonnet 4.5, así que eso me ha hecho confiar un poco más. Por eso creo que valdría la pena que le echaran un vistazo con interés.
Sí, así es. Basándonos en la API de OpenRouter de ese enlace, es fácil cambiar de modelo.
(Aunque se agrega un costo adicional de alrededor del 5% sobre el monto de recarga, así que se puede usar cómodamente para proyectos de juguete)
También voy a revisar el rendimiento de GLM4.7 usándolo en la práctica y planear cómo aplicarlo :)
Se ve bien para dejar bonita una web app y usarla como backend para un chatbot.
Sí, parece que no está mal para usarlo en un proyecto personal con un frontend bien armado :)
¡Gracias por compartirlo!
¡Sí! Espero que sea de ayuda, aunque sea un poco, para probar productos RAG de forma sencilla.