ZEP: una arquitectura de grafos de conocimiento temporal para la memoria corporal inteligente

resúmenes

Presentamos Zep, un novedoso servicio de capa de memoria para la intelligentsia que supera al actual sistema de vanguardia, MemGPT, en las evaluaciones comparativas de recuperación de memoria profunda (DMR). Además, Zep sobresale en evaluaciones más exhaustivas y exigentes que DMR, que reflejan mejor los casos de uso empresarial del mundo real. Mientras que los marcos existentes basados en modelos de lenguaje amplio (LLM) se limitan a la recuperación estática de documentos, las aplicaciones empresariales necesitan integrar dinámicamente el conocimiento de múltiples fuentes, incluidas las conversaciones en curso y los datos empresariales. Integra dinámicamente datos de conversación no estructurados y datos empresariales estructurados, al tiempo que mantiene las relaciones históricas. Zep demostró su rendimiento superior (94,81 TP3T frente a 93,41 TP3T) en una prueba de referencia DMR realizada por el equipo MemGPT. Además de DMR, las capacidades de Zep se validaron aún más en la prueba de referencia LongMemEval, más exigente, que refleja mejor los casos de uso empresarial a través de complejas tareas de razonamiento temporal. En esta evaluación, Zep mejoró la precisión en hasta 18,51 TP3T y redujo la latencia de respuesta en 901 TP3T en comparación con la implementación de referencia. Estos resultados son especialmente significativos en tareas críticas para la empresa, como la síntesis de información entre sesiones y el mantenimiento del contexto a largo plazo, lo que demuestra la eficacia de Zep en aplicaciones del mundo real.

1. Introducción

En los últimos años, el impacto de los Modelos de Lenguaje Extensos (LLM) basados en transformadores en la industria y la investigación ha atraído mucha atención [1].Una de las principales aplicaciones de los LLM es el desarrollo de inteligencias basadas en el chat. Sin embargo, las capacidades de estas inteligencias están limitadas por la ventana de contexto del LLM, la utilización eficaz del contexto y los conocimientos adquiridos durante el preentrenamiento. Por lo tanto, se necesita contexto adicional para proporcionar conocimiento fuera del dominio (OOD) y reducir las ilusiones.

La Generación Aumentada de Recuperación (RAG) se ha convertido en un área de interés importante en las aplicaciones LLM. La RAG utiliza técnicas de Recuperación de Información (IR) desarrolladas a lo largo de los últimos cincuenta años [2] para proporcionar el conocimiento de dominio necesario para LLM.

Los enfoques actuales para utilizar la GAR se centran en un amplio conocimiento del dominio y en corpus relativamente estáticos, es decir, que el contenido de los documentos añadidos a un corpus rara vez cambia. Para que las inteligencias se conviertan en omnipresentes en nuestra vida cotidiana, capaces de resolver de forma autónoma problemas que van de lo trivial a lo altamente complejo, necesitarán acceder a un gran corpus en constante evolución generado por las interacciones usuario-inteligencia, así como a datos empresariales y mundiales relevantes. Creemos que dotar a las inteligencias de este tipo de "memoria" extensa y dinámica es un componente clave para hacer realidad esta visión, y no creemos que los enfoques actuales de la GAR sean adecuados para este futuro. Dado que los historiales de diálogo completos, los conjuntos de datos comerciales y otros contenidos específicos del dominio no pueden adaptarse eficazmente a la ventana contextual del LLM, es necesario desarrollar nuevos enfoques para tratar la memoria del cuerpo inteligente. Añadir memoria a las inteligencias impulsadas por LLM no es una idea nueva - este concepto ha sido explorado previamente en MemGPT [3].

Recientemente, los grafos de conocimiento (KG) se han utilizado para aumentar las arquitecturas RAG y resolver muchas de las deficiencias de las técnicas de IR tradicionales [4]. En este artículo, presentamos Zep [5], un servicio de capa en memoria basado en Graphiti [6], un motor de grafos de conocimiento dinámico y consciente del tiempo. Zep ingiere y sintetiza datos de mensajes no estructurados y datos empresariales estructurados. de nueva información, manteniendo una línea temporal de hechos y relaciones, incluidas sus fechas de caducidad. Este enfoque permite al grafo de conocimiento representar un mundo complejo y en evolución.

Dado que Zep es un sistema de producción, damos gran importancia a la precisión, latencia y escalabilidad de sus mecanismos de recuperación de memoria. Para evaluar la eficacia de estos mecanismos utilizamos dos pruebas de referencia existentes: la tarea Deep Memory Retrieval (DMR) de MemGPT [3] y la prueba de referencia LongMemEval [7].

2. Cartografía del conocimiento

En Zep, la memoria se apoya en un grafo de conocimiento dinámico consciente del tiempo ℊ = (𝓃, ℯ, φ), donde 𝓃 representa un nodo, ℯ representa una arista, y φ:ℯ→ 𝓃 × 𝓃 representa una función de asociación formalizada. 𝓃 × 𝓃 representa una función de asociación formalizada. Este grafo consta de tres subgrafos jerárquicos: el subgrafo de parcelas, el subgrafo de entidades semánticas y el subgrafo de comunidades.

2.1 Episodios

La construcción del grafo de Zep comienza con la ingesta de unidades de datos en bruto denominadas episodios. Los episodios pueden ser de tres tipos principales: mensajes, texto o JSON. Aunque cada tipo requiere un procesamiento específico durante la construcción del grafo, en este artículo nos centramos en el tipo mensaje porque nuestros experimentos se centran en la memoria de diálogos. En nuestro contexto, un mensaje consiste en un texto relativamente corto (se pueden adaptar varios mensajes a la ventana de contexto del LLM) y los participantes asociados que produjeron el discurso.

Cada mensaje contiene un sello de tiempo de referencia trefLa hora del día, que indica cuándo se envió el mensaje. Esta información temporal permite a Zep identificar y extraer con precisión fechas relativas o parciales mencionadas en el contenido del mensaje (por ejemplo, "el próximo jueves", "dentro de quince días" o "el verano pasado"). Zep aplica un modelo diacrónico, en el que la línea temporal T representa el orden cronológico de los acontecimientos, y la línea temporal T representa el orden cronológico de ingestión de los datos Zep. Aunque T Las líneas temporales sirven al propósito tradicional de la auditoría de bases de datos, pero la línea temporal T proporciona una dimensión adicional para modelar la naturaleza dinámica de los datos de diálogo y la memoria. Este enfoque temporal dual representa un avance novedoso en la construcción de grafos de conocimiento LLM y subyace a las capacidades únicas de Zep en comparación con anteriores propuestas de GAR basadas en grafos.

Lado de la parcela ℯe Conectar parcelas a sus nodos de entidad extraídos. Los gráficos y sus aristas semánticas derivadas mantienen índices bidireccionales que rastrean la relación entre una arista y su gráfico de origen. Este diseño mejora la naturaleza sin pérdidas de los subgráficos de Graphiti, ya que permite recorrerlos hacia delante y hacia atrás: los artefactos semánticos pueden rastrearse hasta sus fuentes para citarlos o referenciarlos, y los gráficos pueden recuperarse rápidamente para sus entidades y hechos asociados. Aunque estas conexiones no se examinaron directamente en los experimentos de esta tesis, se estudiarán en futuros trabajos.

2.2 Entidades y hechos semánticos

2.2.1 Entidades

La extracción de entidades es la fase inicial del procesamiento de episodios. Durante la ingesta, el sistema procesa el contenido del mensaje actual y el último n para contextualizar el reconocimiento de entidades con nombre. Para este trabajo y para la implementación general de Zep, eln=4, se proporcionaron dos rondas de diálogo completas para la evaluación contextual. Dado que nos centramos en el procesamiento de mensajes, el hablante se extrae automáticamente como una entidad. Tras la extracción inicial de entidades, empleamos una técnica de reflexión inspirada en la reflexión [12] para minimizar las ilusiones y mejorar la cobertura de la extracción. El sistema también extrae resúmenes de entidades del episodio para facilitar las operaciones posteriores de resolución y recuperación de entidades.

Tras la extracción, el sistema incrusta cada nombre de entidad en un espacio vectorial de 1024 dimensiones. Esta incrustación permite recuperar nodos similares entre los nodos de entidad del grafo existente mediante una búsqueda de similitud coseno. El sistema también realiza búsquedas separadas de texto completo en los nombres y resúmenes de entidades existentes para identificar nodos candidatos adicionales. A continuación, estos nodos candidatos, junto con el contexto del grafo, se procesan mediante LLM utilizando nuestras pistas de resolución de entidades. Cuando el sistema identifica entidades duplicadas, genera un nombre y un resumen actualizados.

Tras la extracción de entidades y el análisis sintáctico, el sistema fusiona los datos en el grafo de conocimiento mediante consultas Cypher predefinidas. Elegimos este enfoque en lugar de las consultas a bases de datos generadas por LLM para garantizar un formato arquitectónico coherente y reducir la probabilidad de alucinaciones.

En el Apéndice se ofrecen algunos consejos para la construcción de atlas.

2.2.2 Hechos

para cada hecho que contenga su predicado clave. Del mismo modo, el mismo hecho se puede extraer varias veces en diferentes entidades, lo que permite a Graphiti modelar hechos complejos de múltiples entidades mediante la implementación de hipervínculos.

Tras la extracción, el sistema genera incrustaciones para los hechos como preparación para la integración en el grafo. El sistema realiza la desduplicación de aristas mediante un proceso similar a la resolución de entidades. Las aristas híbridas relacionadas con la búsqueda se restringen a las aristas que existen entre pares de entidades que son idénticas a las nuevas aristas propuestas. Esta restricción no sólo evita combinaciones incorrectas de aristas similares entre entidades diferentes, sino que también reduce significativamente la complejidad computacional del proceso de desduplicación al restringir el espacio de búsqueda a un subconjunto de aristas asociadas a un par de entidades concreto.

2.2.3 Extracción temporal e invalidación de bordes

Una característica clave que diferencia a Graphiti de otros motores de grafos de conocimiento es que gestiona las actualizaciones dinámicas de la información mediante procesos de extracción temporal e invalidación de aristas.

uso del sistema tref Extracción de información temporal sobre hechos a partir del contexto de la trama. Esto permite una extracción precisa y la representación de fechas y horas, incluidas marcas de tiempo absolutas (por ejemplo, "Alan Turing nació el 23 de junio de 1912") y relativas (por ejemplo, "Empecé en mi nuevo trabajo hace quince días"). En consonancia con nuestro enfoque de modelización dual del tiempo, el sistema registra cuatro marcas de tiempo:t Crear y t Caducidad ∈T Supervisar cuándo se crean o invalidan hechos en el sistema, y el tválido responder cantando tinválidoT Registra el marco temporal en el que se estableció el hecho. Estos puntos de datos temporales se almacenan en el lateral junto con otra información sobre el hecho.

La introducción de nuevas aristas puede invalidar las existentes en la base de datos. El sistema utiliza LLM para comparar las nuevas aristas con las aristas existentes relacionadas semánticamente e identificar posibles contradicciones. Cuando el sistema identifica una contradicción temporal, lo hace comparando la tinválido Establecer en el lado no válido de la tválido para invalidar los bordes afectados. Según el calendario de transacciones TGraphiti siempre da prioridad a la información nueva a la hora de determinar la invalidación de aristas.

Este enfoque integrado permite añadir datos dinámicamente a Graphiti a medida que evolucionan las conversaciones, al tiempo que se mantiene el estado actual de las relaciones y un historial de su evolución a lo largo del tiempo.

2.3 Comunidad

Tras construir los subgrafos argumentales y semánticos, el sistema construye subgrafos comunitarios mediante la detección de comunidades. Aunque nuestro enfoque de detección de comunidades se basa en las técnicas descritas en GraphRAG [4], empleamos el algoritmo de propagación de etiquetas [13] en lugar del algoritmo de Leiden [14]. Esta elección está influenciada por una simple extensión dinámica de la propagación de etiquetas que permite al sistema mantener representaciones precisas de la comunidad durante periodos de tiempo más largos a medida que entran nuevos datos en el grafo, posponiendo la necesidad de una actualización completa de la comunidad.

La expansión dinámica implementa la lógica de un único paso recursivo en la propagación de etiquetas. Cuando el sistema añade un nuevo nodo de entidad al grafo ni ∈Ns Cuando lo hace, sondea las comunidades de los nodos vecinos. El sistema asigna el nuevo nodo a la comunidad de la mayoría de sus vecinos y actualiza el resumen de la comunidad y el gráfico en consecuencia. Aunque esta actualización dinámica permite a las comunidades escalar eficientemente a medida que los datos fluyen en el sistema, las comunidades resultantes se desvían gradualmente de las generadas a través de ejecuciones completas de propagación de etiquetas. Por lo tanto, sigue siendo necesario actualizar periódicamente las comunidades. Sin embargo, esta estrategia de actualización dinámica proporciona una heurística práctica que reduce significativamente la latencia y los costes de inferencia LLM.

Siguiendo a [4], los nodos de nuestra comunidad contienen resúmenes derivados mediante resúmenes iterativos al estilo map-reduce de los nodos miembros. Sin embargo, nuestro enfoque de recuperación es bastante diferente del enfoque map-reduce de GraphRAG [4]. Para ello, generamos nombres de comunidades que contienen términos clave y temas relacionados a partir de los resúmenes de las comunidades. Estos nombres se incrustan y almacenan para permitir la búsqueda por similitud coseno.

3. Recuperación de la memoria

El sistema de recuperación de memoria de Zep ofrece una funcionalidad potente, sofisticada y altamente configurable. En general, la API de búsqueda gráfica de Zep implementa una función f:SS, que acepta una consulta de cadena de texto α ∈S como entrada y devuelve un contexto de cadena de texto β ∈.S como salida. La salida β contiene datos formateados de nodos y aristas que las inteligencias LLM necesitan para generar respuestas precisas a la consulta α. El proceso f(α)→β consta de tres pasos diferentes:

- Búsqueda (φ): este proceso identifica primero los nodos y aristas postseleccionados que pueden contener información relevante. Aunque Zep emplea distintos métodos de búsqueda, la función de búsqueda global puede expresarse como φ.Ssn-×𝒩sn. ×𝒩cn. Así, φ transforma la consulta en una tripleta que contiene una lista de aristas semánticas, nodos de entidad y nodos de comunidad, los tres tipos de grafos que contienen información textual relevante.

- Reordenador (ρ): el segundo paso consiste en reordenar los resultados de la búsqueda. La función o modelo reordenador toma una lista de resultados de búsqueda y genera una versión reordenada de esos resultados: ρ:φ(α),...→.sn×𝒩sn×𝒩cn.

- Constructor (χ): en el último paso, el constructor convierte los nodos y aristas relevantes en un contexto textual: χ: elsn×𝒩sn×𝒩cnS. Para cada eis, χ devuelve el hecho y tválidotinválido campo; para cada ni𝒩s, devuelve los campos nombre y resumen; para cada ni𝒩cdevuelve el campo resumen.

Con estas definiciones en su lugar, podemos establecer el f se representa como una combinación de estos tres componentes:f(α) = χ(ρ(φ(α))) = β.

Ejemplo de plantilla de cadena de contexto:

FACTS 和 ENTITIES 表示与当前对话相关的上下文信息。
以下是最相关的事实及其有效日期范围。如果该事实与某个事件相关,则表示该事件发生在这个时间范围内。
格式:FACT(日期范围:from - to)
<FACTS>
{facts}
</FACTS>
以下是最相关的实体
ENTITY_NAME:实体简介
<ENTITIES>
{entities}
</ENTITIES>

3.1 Búsqueda

Zep implementa tres funciones de búsqueda: búsqueda de similitud semántica coseno (φcos), Okapi BM25 búsqueda de texto completo (φbm25}) y la búsqueda amplia (φbfs). Las dos primeras funciones utilizan la implementación de Lucene en Neo4j [15] [16]. Cada función de búsqueda proporciona diferentes capacidades en términos de identificación de documentos relevantes, y juntas proporcionan una cobertura completa de los resultados candidatos antes de la reordenación. Los campos de búsqueda difieren según el tipo de objeto: para 𝒜sbuscamos campos de hechos; para 𝒩sbúsqueda de nombres de entidades; para 𝒩c, busca nombres de comunidades que incluyan palabras clave y frases relevantes incluidas en la comunidad. Aunque nuestro método de búsqueda de comunidades se desarrolló de forma independiente, es paralelo al método de búsqueda de claves de alto nivel de LightRAG [17]. Combinar el enfoque de LightRAG con sistemas basados en grafos como Graphiti ofrece una dirección prometedora para futuras investigaciones.

Mientras que la similitud coseno y los métodos de búsqueda de texto completo están bien establecidos en RAG [18], la búsqueda por amplitud en grafos de conocimiento ha recibido una atención limitada en el dominio RAG, con notables excepciones en sistemas RAG basados en grafos como AriGraph [9] y Distill-SynthKG [19]. En Graphiti, la búsqueda primero en amplitud se realiza identificando las n nodos y aristas adicionales dentro de un salto para mejorar los resultados iniciales de la búsqueda. Además, φbfs La posibilidad de aceptar nodos como parámetros de búsqueda permite un control más preciso de la función de búsqueda. Esta función resulta especialmente valiosa cuando se utilizan episodios recientes como semilla de una búsqueda amplia, ya que permite al sistema integrar entidades y relaciones mencionadas recientemente en el contexto de la búsqueda.

Cada uno de estos tres métodos de búsqueda se centra en un aspecto diferente de la similitud: la búsqueda de texto completo identifica la similitud entre palabras, la similitud coseno capta la similitud semántica y la búsqueda por amplitud revela la similitud contextual: los nodos y aristas más cercanos en el gráfico aparecen en contextos de diálogo más similares. Este enfoque polifacético de la identificación de resultados candidatos maximiza la probabilidad de descubrir el mejor contexto.

3.2 Reordenador

Zep es compatible con los métodos de reordenación existentes, como la Fusión por Rango Recíproco (RRF) [20] y la Relevancia Marginal Máxima (MMR) [21]. Además, Zep implementa un reordenador de menciones de episodios basado en grafos que prioriza los resultados en función de la frecuencia de menciones de entidades o hechos, haciendo más accesible la información citada con frecuencia. El sistema también incluye un reordenador de distancia entre nodos, que reordena los resultados en función de su distancia a un nodo central especificado, proporcionando contenidos localizados en una región específica del grafo de conocimiento. La capacidad de reordenación más sofisticada del sistema emplea codificadores cruzados, es decir, LLM que generan puntuaciones de relevancia utilizando la atención cruzada para evaluar la relevancia de nodos y aristas para una consulta, aunque este enfoque es el que incurre en el mayor coste computacional.

4. Experimentos

En esta sección se analizan dos experimentos realizados con pruebas de referencia basadas en la memoria LLM. La primera evaluación utiliza la tarea Deep Memory Retrieval (DMR) desarrollada en [3], que utiliza un subconjunto de 500 conversaciones del conjunto de datos de chat multisesión introducido en "Beyond Goldfish Memory: long-term open-domain conversations" [22]. La segunda evaluación utiliza la prueba de referencia LongMemEval de [7]. En concreto, utilizamos la prueba LongMemEval ċċċċċċċċċċiża ta 'l-ħbieb tagħha que proporciona amplios contextos de diálogo con una longitud media de 115.000 tokens.

Para ambos experimentos, integramos el historial de diálogo en el grafo de conocimiento de Zep a través de la API de Zep. A continuación, recuperamos las 20 aristas (hechos) y nodos de entidad (resúmenes de entidad) más relevantes utilizando las técnicas descritas en la sección 3. El sistema reformatea estos datos en cadenas de contexto que se ajustan a la funcionalidad proporcionada por la API de memoria de Zep.

Aunque estos experimentos demuestran las principales capacidades de búsqueda de Graphiti, representan un subconjunto de la funcionalidad de búsqueda completa del sistema. Este enfoque permite realizar comparaciones claras con las pruebas de referencia existentes, al tiempo que deja espacio para que futuros trabajos exploren otras capacidades de los grafos de conocimiento.

4.1 Selección del modelo

Nuestra implementación experimental utiliza el modelo BGE-m3 de BAAI para las tareas de reordenación e incrustación [23] [24]. Para la construcción de grafos y la generación de respuestas, utilizamos gpt-4o-mini-2024-07-18 para la construcción de grafos y gpt-4o-mini-2024-07-18 y gpt-4o-2024-11-20 para las inteligencias de chat para generar respuestas al contexto proporcionado.

Para garantizar la comparabilidad directa con los resultados DMR de MemGPT, también realizamos una evaluación DMR utilizando gpt-4-turbo-2024-04-09.

Los cuadernos experimentales se pondrán a disposición del público a través de nuestro repositorio GitHub, y los consejos experimentales asociados se incluyen en el apéndice.

Cuadro 1: Recuperación de la memoria profunda

memorizaciónmodelizaciónpuntuación
Resumen recursivo Resumen del diálogo MemGPT? Diálogo completogpt-4-turbo gpt-4-turbo gpt-4-turbo gpt-4-turbo gpt-4-turbo35.3% 78.6% 93.4% 94.4%
Zep Resumen del diálogogpt-4-turbo gpt-4o-mini94.8%
Diálogo completo Zepgpt-4o-mini gpt-4o-mini88.0% 98.0% 98.2%

Los resultados figuran en [3].

4.2 Recuperación de memoria profunda (DMR)

La evaluación de la recuperación de memoria profunda fue introducida por [3] y consiste en 500 diálogos multisesión, cada uno de los cuales contiene 5 sesiones de chat con hasta 12 mensajes por sesión. El marco MemGPT [3] lidera actualmente las métricas de rendimiento con una precisión de 93,41 TP3T, lo que supone una mejora significativa con respecto a la línea de base de 35,31 TP3T conseguida mediante el resumen recursivo.

Para establecer una línea base de comparación, implementamos dos métodos habituales de memoria LLM: contexto de diálogo completo y resumen de sesión. Utilizando gpt-4-turbo, la línea de base del diálogo completo alcanza una precisión de 94,41 TP3T, ligeramente superior a los resultados de MemGPT, mientras que la línea de base del resumen de sesión alcanza 78,61 TP3T. Cuando se utiliza gpt-4o-mini, ambos métodos muestran un mejor rendimiento: 98,01 TP3T para el diálogo completo y 88,01 TP3T para el resumen de sesión. . debido a la falta de suficientes detalles metodológicos en su trabajo publicado, no hemos podido reproducir los resultados de MemGPT utilizando gpt-4o-mini.

A continuación, evaluamos el rendimiento de Zep ingestando el diálogo y utilizando su función de búsqueda para recuperar los 10 nodos y aristas más relevantes.El juez LLM compara la respuesta de la intelligentsia con la respuesta correcta proporcionada.Zep alcanza una precisión de 94,81 TP3T con gpt-4-turbo, y de 98,21 TP3T con gpt-4o-mini. que muestran mejoras marginales con respecto a MemGPT y la línea de base de diálogo completo correspondiente. Sin embargo, estos resultados hay que situarlos en su contexto: cada diálogo contiene sólo 60 mensajes y se adapta fácilmente a la ventana de contexto actual de LLM.

Las limitaciones de la evaluación DMR van más allá de su pequeño tamaño. Nuestros análisis revelan importantes deficiencias en el diseño de la prueba de referencia. La evaluación se basaba exclusivamente en preguntas de recuperación de hechos en una sola ronda y no era capaz de evaluar la comprensión de recuerdos complejos. Muchas de las preguntas contenían formulaciones vagas, referidas a conceptos como "bebida relajante favorita" o "afición extraña" que no se describían explícitamente en el diálogo. Y lo que es más importante, el conjunto de datos no ofrece un buen rendimiento en los casos de uso empresarial real de las inteligencias LLM. El excelente rendimiento obtenido con el sencillo enfoque de contexto completo del LLM moderno pone aún más de manifiesto lo inadecuado de la evaluación comparativa para valorar los sistemas de memoria.

Esta deficiencia se pone aún más de manifiesto en los resultados de [7], que muestran que el rendimiento de LLM en la prueba comparativa LongMemEval disminuye rápidamente a medida que aumenta la longitud del diálogo.El conjunto de datos LongMemEval [7] aborda estas deficiencias proporcionando diálogos más largos y coherentes que reflejan mejor los escenarios empresariales, así como un conjunto más diverso de preguntas de evaluación.

4.3 LongMemEval (LME)

Evaluamos Zep utilizando el conjunto de datos LongMemEvals, que proporciona diálogos y preguntas representativas de inteligencias LLM de aplicaciones empresariales del mundo real. El conjunto de datos LongMemEvals supone un reto importante para las soluciones LLM y de memoria empresarial existentes [7], con diálogos de una media de 115.000 tokens de longitud. Esta longitud, aunque bastante grande, sigue estando dentro de la ventana contextual de los modelos de frontera actuales, lo que nos permite establecer una línea de base significativa para evaluar el rendimiento de Zep.

El conjunto de datos contiene seis tipos de problemas diferentes: usuarios de sesión única, asistentes de sesión única, preferencias de sesión única, multisesión, actualización de conocimientos y razonamiento temporal. Estas categorías no están distribuidas uniformemente en el conjunto de datos; para más información, remitimos al lector a [7].

Realizamos todos los experimentos entre diciembre de 2024 y enero de 2025. Realizamos las pruebas utilizando ordenadores portátiles de consumo en una ubicación residencial en Boston, MA, conectados al servicio Zep alojado en AWS us-west-2. Esta arquitectura distribuida introduce una latencia de red adicional en la evaluación del rendimiento de Zep, aunque esta latencia no está presente en nuestra evaluación de referencia.

Para la evaluación de las respuestas, utilizamos el GPT-4o y proporcionamos las indicaciones específicas para cada pregunta que figuran en [7], que han demostrado ser muy relevantes para los evaluadores humanos.

4.3.1 LongMemEval y MemGPT

Para establecer un punto de referencia comparativo entre Zep y el actual sistema MemGPT de última generación [3], intentamos evaluar MemGPT utilizando el conjunto de datos LongMemEval. Dado que el actual marco MemGPT no admite la ingestión directa de historiales de mensajes existentes, implementamos una solución alternativa añadiendo mensajes de diálogo al historial de archivo. Sin embargo, este método no ha dado buenos resultados. Esperamos que otros equipos de investigación evalúen esta prueba de referencia, ya que comparar datos de rendimiento sería beneficioso para el desarrollo general de los sistemas de memoria LLM.

4.3.2 Resultados de LongMemEval

Zep demostró mejoras significativas tanto en precisión como en latencia en comparación con la línea de base. Utilizando gpt-4o-mini, Zep consigue una mejora de la precisión de 15,21 TP3T con respecto a la línea de base, mientras que gpt-4o logra una mejora de 18,51 TP3T. La reducción del tamaño de las pistas también conlleva una reducción significativa del coste de latencia en comparación con la implementación de referencia.

Tabla 2: LongMemEvals

memorizaciónmodelizaciónpuntuaciónprocrastinarRetraso IQRMarcador de contexto medio
contexto completogpt-4o-mini55.4%31.3 s8.76 s115k
Zepgpt-4o-mini63.8%3.20 s1.31 s1.6k
contexto completogpt-4060.2%28.9 s6.01 s115k
Zepgpt-4071.2%2.58 s0.684 s1.6k

El análisis por tipo de pregunta mostró que gpt-4o-mini utilizando Zep demostró mejoras en cuatro de las seis categorías, con las mejoras más significativas en los tipos de pregunta complejos: preferencia de sesión única, multisesión y razonamiento temporal. Al utilizar gpt-4o, Zep demostró mejoras adicionales en la categoría de actualización de conocimientos, lo que pone de manifiesto que es más eficaz cuando se utiliza con modelos más capaces. Sin embargo, puede ser necesario un desarrollo adicional para mejorar la comprensión de los datos temporales de Zep por parte de modelos menos capaces.

Tabla 3: Descomposición de los tipos de problemas LongMemEvals

Tipo de problemamodelizacióncontexto completoZepincremental
preferencia de sesión únicagpt-4o-mini30.0%53.3%77,71 TP3T
Asistente de sesión únicagpt-4o-mini81.8%75.0%↑'6
inferencia cronológicagpt-4o-mini36.5%54.1%48.2%↑
multisesióngpt-4o-mini40.6%47.4%16,7%↑
Actualización de conocimientosgpt-4o-mini76.9%74.4%3.36%↓
usuario de sesión únicagpt-4o-mini81.4%92.9%14.1%↑
preferencia de sesión únicagpt-4020.0%56.7%184%↑
Asistente de sesión únicagpt-4094.6%80.4%17.7%↓
inferencia cronológicagpt-4045.1%62.4%38,41 TP3T
multisesióngpt-4044.3%57.9%30,7%↑
Actualización de conocimientosgpt-4078.2%83.3%6.52%↑
usuario de sesión únicagpt-4081.4%92.9%14.1%↑

Estos resultados demuestran la capacidad de Zep para mejorar el rendimiento en todas las escalas de modelos, observándose las mejoras más significativas en los tipos de problemas complejos y delicados cuando se utiliza con modelos más capaces. Las mejoras de latencia son especialmente significativas, ya que Zep reduce los tiempos de respuesta en aproximadamente 901 TP3T, al tiempo que mantiene una mayor precisión.

La caída del rendimiento en el problema de ayudante de sesión única -17,71 TP3T para gpt-4o y 9,061 TP3T para gpt-4o-mini- representa una notable excepción a las mejoras de Zep, que por lo demás son constantes y sugiere la necesidad de más investigación y trabajo de ingeniería.

5. Conclusión

Hemos presentado Zep, un enfoque basado en grafos para la memoria LLM que combina la memoria semántica y episódica con resúmenes de entidades y comunidades. Nuestra evaluación muestra que Zep alcanza un rendimiento puntero en las pruebas de referencia de memoria existentes, al tiempo que reduce los costes de etiquetado y funciona con latencias significativamente más bajas.

Aunque los resultados obtenidos por Graphiti y Zep son impresionantes, es probable que no sean más que avances preliminares en los sistemas de memoria basados en grafos. Múltiples vías de investigación podrían basarse en estos dos marcos, incluida la integración de otros enfoques GraphRAG en el paradigma Zep, así como novedosas extensiones de nuestro trabajo.

La investigación ha demostrado el valor de los modelos de ajuste fino para la extracción de entidades y bordes LLM en el paradigma GraphRAG para mejorar la precisión y reducir el coste y la latencia [19] [25]. Del mismo modo, los modelos ajustados a las claves de Graphiti pueden mejorar la extracción de conocimiento, especialmente en diálogos complejos. Además, mientras que la investigación actual sobre grafos de conocimiento generados por LLM opera principalmente en ausencia de ontologías formales [9] [4] [17] [19] [26], las ontologías específicas de dominio tienen un potencial significativo. Las ontologías de grafos, que son fundamentales en los trabajos sobre grafos de conocimiento previos al LLM, merecen ser exploradas más a fondo en el marco de Graphiti.

Nuestra búsqueda de pruebas de referencia de memoria adecuadas revela opciones limitadas, ya que las pruebas de referencia existentes suelen carecer de solidez y sofisticación, y a menudo se limitan a simples problemas de recuperación de hechos [3]. Este campo necesita más pruebas comparativas de memoria, especialmente aquellas que reflejen aplicaciones empresariales como las tareas de experiencia del cliente, para evaluar y diferenciar eficazmente los enfoques de memoria. En particular, las pruebas de referencia existentes son insuficientes para evaluar la capacidad de Zep para procesar y sintetizar el historial de diálogo con datos empresariales estructurados. Aunque Zep se centra en la memoria LLM, sus capacidades RAG tradicionales deberían evaluarse con respecto a las pruebas de referencia establecidas en [17] [27] [28].

La bibliografía actual sobre memorias LLM y sistemas RAG no aborda adecuadamente las cuestiones de escalabilidad de los sistemas de producción en términos de coste y latencia. Incluimos la evaluación comparativa de la latencia de los mecanismos de recuperación para empezar a abordar esta laguna, siguiendo el ejemplo de los autores de LightRAG al dar prioridad a estas métricas.

6. Anexo

6.1 Consejos para la construcción de gráficos

6.1.1 Extracción de entidades

<之前的消息>
{previous_messages}
</之前的消息>
<当前消息>
{current_message}
</当前消息>
根据上述对话内容,从当前消息(CURRENT MESSAGE)中提取明确或隐含提到的实体节点:
指导原则:
1. 始终将说话者/行动者提取为第一个节点。说话者是每行对话中冒号前的部分。
2. 提取当前消息中提到的其他重要实体、概念或行动者。
3. 不要为关系或行为创建节点。
4. 不要为时间信息(如日期、时间或年份)创建节点(这些信息将在后续作为边添加)。
5. 节点名称尽量具体,使用全称。
6. 不要提取仅在前文中提到的实体。

6.1.2 Resolución de entidades

<之前的消息>
{previous_messages}
</之前的消息>
<当前消息>
{current_message}
</当前消息>
<已有节点>
{existing_nodes}
</已有节点>
根据上述已有节点(EXISTING NODES)、消息(MESSAGE)以及之前的消息(PREVIOUS MESSAGES),判断从对话中提取出的新节点(NEW NODE)是否是已有节点中的重复实体。
<新节点>
{new_node}
</新节点>
任务:
1. 如果新节点与已有节点中任意一个代表的是同一个实体,请在回复中返回 `is_duplicate: true`。
否则,返回 `is_duplicate: false`。
2. 如果返回为 is_duplicate: true,还需在回复中返回重复节点的 uuid。
3. 如果返回为 is_duplicate: true,请返回该节点最完整的全名作为名称。
指导原则:
1. 请结合节点的名称和摘要来判断是否为重复实体。重复节点的名称可能不同。

6.1.3 Extracción de datos

<PREVIOUS MESSAGES>
{previous_messages}
</PREVIOUS MESSAGES>
<CURRENT MESSAGE>
{current_message}
</CURRENT MESSAGE>
<ENTITIES>
{entities}
</ENTITIES>
根据以上的消息(MESSAGES)和实体(ENTITIES),从当前消息(CURRENT MESSAGE)中提取所有与列出的实体有关的事实信息。
指南:
1. 仅提取出现在所提供实体之间的事实。
2. 每条事实应代表两个**不同节点**之间的明确关系。
3. relation_type 应为简洁、全大写的关系描述(例如:LOVES、IS_FRIENDS_WITH、WORKS_FOR)。
4. 提供包含所有相关信息的更详细事实描述。
5. 如有必要,考虑关系中的时间要素。

6.1.4 Análisis de los hechos

根据以下上下文,判断 New Edge 是否与 Existing Edges 列表中的任意一条边表示相同的信息。
<EXISTING EDGES>  
{existing_edges}  
</EXISTING EDGES>  
<NEW EDGE>  
{new_edge}  
</NEW EDGE>
任务:  
1. 如果 New Edge 表达的信息与 Existing Edges 中任意一条边的事实信息相同,请在回复中返回 `is_duplicate: true`;否则返回 `is_duplicate: false`。  
2. 如果 `is_duplicate` 为 true,还需在回复中返回该现有边的 uuid。
指导原则:  
1. 即使事实信息不完全一致,只要表达的是相同的信息,即可视为重复。

6.1.5 Extracción del tiempo

<先前消息>
{previous_messages}
</先前消息>
<当前消息>
{current_message}
</当前消息>
<参考时间戳>
{reference_timestamp}
</参考时间戳>
<事实>
{fact}
</事实>
重要提示:仅当时间信息是所提供事实的一部分时才提取时间,否则请忽略提到的时间。
请根据提供的参考时间戳尽可能确定确切日期(例如 “10 年前”“2 分钟前” 这样的相对时间也要换算为确切时间)。
如果关系并非是持续性的,但仍能确定日期,请仅设置 valid_at 字段。
定义:
- valid_at:描述该事实所代表关系首次成立或变为真实的日期时间。
- invalid_at:描述该事实所代表关系不再成立或终止的日期时间。
任务:
分析对话内容,判断是否有与该关系事实相关的日期信息。仅当日期明确涉及关系的建立或变化时才填写。
指南:
1. 使用 ISO 8601 格式(YYYY-MM-DDTHH:MM:SS.SSSSSSZ)表示日期时间。
2. 判断时使用参考时间戳作为当前时间。
3. 如果事实是以现在时表述的,则使用参考时间戳作为 valid_at 日期。
4. 如果没有用于建立或更改关系的时间信息,请将字段留空(null)。
5. 不要根据相关事件推测日期。只使用直接用于建立或更改关系的日期。
6. 如果提到的相对时间与关系直接相关,请根据参考时间戳计算出实际日期时间。
7. 如果只提到了日期而没有具体时间,默认时间为当日 00:00:00(午夜)。
8. 如果只提到了年份,默认时间为该年 1 月 1 日的 00:00:00。
9. 始终包含时区偏移(若未提及具体时区,请使用 Z 表示 UTC)。

 

Referencia:

https://arxiv.org/pdf/2501.13956

ZEP-Graphiti: una arquitectura temporal de grafos de conocimiento para la memoria en la intelligentsia

Zep: creación de una capa de memoria a largo plazo para aplicaciones de inteligencia artificial, extracción y actualización de información sobre usuarios y datos empresariales.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...