gako.ai

Oroi: memoria para una conversación infinita

Una red semántica para agentes conversacionales · oroi, del euskera oroitu: recordar
Ver la memoria en acción
la pista «cliente» activa la cadena: cliente, contacto, laura; laura recibe los jueves
La pregunta enciende «cliente», y la señal viaja de asociación en asociación hasta dar con la respuesta: cuanto más lejos llega, más tenue el rojo.

Oroi es una memoria para agentes conversacionales. Guarda la conversación como una red de conceptos y asociaciones, con una dinámica tomada de los modelos cognitivos de la memoria humana: lo mencionado se activa, la activación se propaga a lo asociado, lo repetido se consolida —como en el sueño— y el desuso apaga. La memoria habitual de un chatbot (RAG) guarda la conversación como texto y recupera lo que más se parece a la pregunta; Oroi recupera lo que la conversación ha ido asociando.

La diferencia se ve en un ejemplo. Hace un mes le contaste a tu asistente que tu contacto en el cliente ahora es Laura. La semana pasada, que Laura solo recibe los jueves. Hoy le preguntas: ¿qué día visito al cliente? La frase que responde no habla del cliente ni de visitar: habla de Laura. Solo se llega por asociación —la de la imagen—. Eso no es buscar: es recordar.

La recuperación sensible a la activación supera a la recuperación por similitud vectorial pura en conversaciones largas con referencias recurrentes y deriva temática.
Recupera mejor que un RAG híbridorecall 0,75 frente a 0,55 sobre 224 escenarios (embeddings + BM25, fusión RRF)
Y nunca peorgana 43 escenarios, no pierde ninguno; el resto, empates (McNemar, p<10⁻⁴)
Distingue hechos casi idénticos0,97 frente a 0 con distractores que compiten por aflorar

El preprint

Castellano (PDF)Oroi: una red semántica para agentes conversacionales English (PDF)Oroi: a semantic network for conversational agents

El código

$ pip install oroi
$ oroi chat  # conversar con memoria · corre 100 % en local con Ollama
GitHublibrería, 65 tests y el protocolo de evaluación completo · Apache-2.0 PyPIoroi 0.1.0 · Python ≥ 3.12 · SQLite + sqlite-vec