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

lectura taquigráfica

El reto de la memoria corporal inteligente y la innovación de Zep

Los agentes de IA se enfrentan a cuellos de botella de memoria en tareas complejas. Los agentes tradicionales basados en modelos de lenguaje amplio (LLM) se ven limitados por las ventanas de contexto, lo que dificulta la integración eficaz del historial de conversaciones a largo plazo y los datos dinámicos, limitando su rendimiento y haciéndolos propensos a las alucinaciones. Zep es una innovadora arquitectura de grafos de conocimiento que dota a los agentes de inteligencia artificial de potentes capacidades de memoria para hacer frente a entornos de información dinámica a través de su componente central, Graphiti. Resuelve los problemas de los enfoques RAG existentes, que tienen dificultades para manejar la información temporal y el razonamiento entre sesiones, proporcionando un soporte de memoria más fiable para aplicaciones de clase empresarial.

 

Aplicación: Graphiti, un motor de grafos de conocimiento que tiene en cuenta el tiempo

Graphiti La memoria corporal inteligente se consigue mediante la construcción de grafos de conocimiento multinivel, la gestión dinámica de la información temporal y un mecanismo de recuperación eficaz.

  1. Construcción de grafos de conocimiento multinivel:
    • Subtrama argumental: Los datos brutos (mensajes de diálogo) se utilizan como nodos del gráfico, que contienen texto y marcas de tiempo.
    • Subgrafos de entidades semánticas: Las entidades (nombres de personas, lugares, productos, etc.) se extraen de los nodos de la trama como nodos de entidad semántica.
    • Submapa comunitario: Agrega nodos de entidad sobre el mismo tema para formar nodos de comunidad.
    • Esta estructura jerárquica mejora la escalabilidad y permite a las inteligencias comprender la información con mayor eficacia.
  2. Gestión dinámica de la información cronológica:
    • Modelización Bi-Temporal: Registra los tiempos de los eventos (línea de tiempo T) y los tiempos de ingestión de datos (línea de tiempo T') y procesa la información temporal absoluta/relativa.
    • Actualizaciones dinámicas: Actualización en tiempo real del grafo de conocimiento para gestionar los conflictos temporales.
    • Las funciones de Graphiti que tienen en cuenta las series temporales garantizan que la información sea precisa y esté actualizada.
  3. Mecanismos de recuperación eficaces:
    • Integración multimétodo: Combine la búsqueda por similitud del coseno, la búsqueda de texto completo y la búsqueda por amplitud para encontrar contextos relevantes de forma rápida y precisa.

 

Aplicaciones empresariales: Proceso completo de muestras

toma: Órgano de Inteligencia de Atención al Cliente Empresarial

entradas del usuario::
El usuario envía un mensaje a través de la interfaz de chat, "Hola, tengo un problema con la impresora HP LaserJet Pro MFP M28w que compré el mes pasado, las impresiones tienen efecto fantasma. Ya me he puesto en contacto con el servicio técnico y me han dicho que reiniciando la impresora se solucionaría el problema, pero lo he intentado y sigue sin funcionar."

1. Ingesta de nódulos episódicos::
Graphiti introduce las últimas noticias del usuario en el grafo de conocimiento como un nuevo nodo de episodio con una marca de tiempo actual (por ejemplo, 20 de febrero de 2024, 10:30 AM). Al mismo tiempo, el sistema recupera episodios de diálogo históricos relacionados con el "problema de la impresora".

2. Extracción de entidades y relaciones::

  • Extracción física::
    • Modelo de impresora: HP LaserJet Pro MFP M28w
    • Fecha de compra: 10 de enero de 2024
    • Descripción del problema: Impresión de documentos con efecto fantasma
    • Contacto anterior: 15 de enero de 2024
    • Solución anterior: Reiniciar la impresora
  • extracción de relaciones::
    • [用户] 购买 [打印机]
    • [打印机] 存在 [打印文件有重影] 问题
    • [重启打印机] 是 [尝试过的解决方案]

3. Pruebas comunitarias::
El sistema agrega todas las entidades y relaciones relacionadas con la impresora "HP LaserJet Pro MFP M28w" en una comunidad para una recuperación más eficiente.

4. Actualización dinámica de la información::
Graphiti comprueba si hay información que deba actualizarse. Como los usuarios han informado de que el reinicio de la impresora no ha resuelto el problema, el sistema actualizará la [重启打印机] 的 [解决方案状态] debido a [未解决].

5. Recuperación del contexto pertinente::
El sistema utiliza múltiples métodos de búsqueda para encontrar:

  • Búsqueda de texto completo: Recupera diálogos históricos que contengan palabras clave como "impresora", "reimage", "HP LaserJet Pro MFP M28w".
  • Búsqueda por similitud del cosenoBuscar diálogos que describan problemas de impresión similares, como "Impresiones borrosas", "Colores de impresión distorsionados", etc.
  • búsqueda exhaustiva: De [HP LaserJet Pro MFP M28w] La comunidad se propuso encontrar todos los problemas comunes y las soluciones recomendadas relacionadas con este modelo de impresora.

6. Generar respuestas::
El organismo inteligente genera la siguiente respuesta basada en la información contextual recuperada:

"¡Hola! Gracias por su comentario. Entendemos que la impresora HP LaserJet Pro MFP M28w que ha adquirido está imprimiendo documentos con efecto fantasma y que ya ha intentado reiniciar la impresora, pero el problema persiste. Con el fin de resolver mejor su problema, le sugerimos que pruebe los siguientes pasos:

  1. Compruebe los cartuchos: Asegúrese de que los cartuchos están instalados correctamente y de que el nivel de tinta es suficiente.
  2. Limpie el cabezal de impresión: Un cabezal de impresión obstruido puede causar imágenes fantasma, intente limpiar el cabezal de impresión (consulte el manual de la impresora para conocer el procedimiento).
  3. Actualiza el controlador: Visite el sitio web de HP para descargar e instalar el controlador de impresora más reciente.

Si el problema persiste después de probar los pasos anteriores, facilítenos la siguiente información para que podamos solucionar el problema:

  • ¿Qué versión de sistema operativo utiliza?
  • ¿El problema de las imágenes fantasma se produce en todos los documentos o en documentos específicos?

Gracias por su cooperación".

7. Actualización de conocimientos::
Si el usuario resuelve el problema sustituyendo el cartucho, el organismo inteligente registrará el [更换墨盒] resolver [打印文件有重影] 问题 soluciones eficaces y actualizar las marcas de tiempo de las entidades y relaciones pertinentes para su posterior consulta.

Resultados experimentales y perspectivas de futuro

Zep En la evaluación LongMemEval, en comparación con la línea de base, la precisión mejora en 18,51 TP3T y la latencia de respuesta se reduce en 901 TP3T cuando se utiliza el modelo gpt-4o. Los resultados experimentales demuestran que Zep tiene ventajas significativas en términos de precisión de memoria, capacidad de actualización dinámica, recuperación eficiente y escalabilidad.

Entre las futuras líneas de investigación figuran:

  • Ajuste de modelos: optimización de la precisión y la eficacia de la extracción de conocimientos.
  • Integración de ontologías de dominio: mejora de la comprensión y el razonamiento sobre dominios específicos.
  • Nuevo desarrollo de la evaluación comparativa: sistemas de memoria avanzados.

Artículos relacionados:Graphiti: herramienta dinámica de construcción y consulta de grafos de conocimiento (programa de memoria larga consciente del tiempo)


resúmenes

Presentamos Zep, un novedoso servicio de capa de memoria para inteligencia que supera al actual sistema MemGPT en las pruebas de recuperación de memoria profunda (DMR). Además, Zep obtiene buenos resultados en evaluaciones más exhaustivas y exigentes que las DMR, que reflejan mejor los casos de uso empresarial en el 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 procedente de diversas fuentes, como las conversaciones en curso y los datos empresariales. integra dinámicamente datos de conversaciones no estructurados y datos empresariales estructurados, manteniendo al mismo tiempo las relaciones históricas. En las pruebas comparativas DMR establecidas por el equipo MemGPT, Zep demostró su rendimiento superior (94,81 TP3T frente a 93,41 TP3T). Además de DMR, las capacidades de Zep se validaron aún más en la evaluación comparativa más compleja LongMemEval, que refleja mejor los casos de uso empresarial mediante complejas tareas de razonamiento temporal. En esta evaluación, Zep mejoró la precisión hasta en 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 grandes modelos lingüísticos (LLM) basados en transformadores en la industria y la comunidad investigadora 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 contextual del LLM, la utilización eficaz del contexto y el conocimiento adquirido durante el preentrenamiento. Por lo tanto, se necesitan contextos adicionales 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 clave en las aplicaciones LLM. La RAG utiliza técnicas de Recuperación de Información (IR) pioneras en los últimos cincuenta años [2] para proporcionar el conocimiento de dominio necesario para el LLM.

Los enfoques actuales del uso de la GAR se centran en un amplio conocimiento del dominio y en corpus relativamente estáticos, es decir, que el contenido de los documentos que se añaden al corpus rara vez cambia. Para que las inteligencias se conviertan en algo omnipresente en nuestra vida cotidiana, resolviendo de forma autónoma problemas que van de lo trivial a lo altamente complejo, necesitarán acceder a un corpus amplio y en constante evolución de datos derivados de las interacciones de los usuarios con las inteligencias, 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 empresariales y otros contenidos específicos de un dominio no pueden adaptarse eficazmente a la ventana contextual del LLM, es necesario desarrollar nuevos enfoques para la memoria corporal inteligente. Añadir memoria a las inteligencias impulsadas por LLM no es una idea nueva - el concepto ha sido explorado previamente en MemGPT [3].

Recientemente, los grafos de conocimiento (KG) se han utilizado para aumentar las arquitecturas RAG y solucionar muchas de las deficiencias de las técnicas de IR tradicionales [4]. En este artículo, presentamos Zep [5], un servicio de capa de memoria basado en Graphiti [6], un motor de grafos de conocimiento dinámico y consciente de las series temporales. Zep ingiere y sintetiza datos de mensajes no estructurados y datos empresariales estructurados. El motor Graphiti KG actualiza dinámicamente el grafo de conocimiento sin pérdidas, preservando los hechos y las relaciones en una línea temporal, incluidas sus fechas de caducidad. Este enfoque permite que el grafo de conocimiento represente 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 consiste en un grafo de conocimiento dinámico perceptivo temporal G = (N,E,ϕ) soporte, de los cuales N denota el nodo, E denota la arista, ϕ:E → N × N representa una función de asociación formalizada. Este gráfico contiene tres subgráficos jerárquicos: el subgráfico de parcelas, el subgráfico de entidades semánticas y el subgráfico de comunidades.

- Episodio subtrama Ge :

Nodos de parcela (parcelas), ni ∈ Neque contienen datos de entrada sin procesar en forma de mensajes, texto o JSON. parcela como un almacén de datos no perdidos del que se extraen entidades y relaciones semánticas. El borde de la trama, ei ∈ Ee ⊆ ϕ∗ (Ne × Ns)que conecta los episodios con las entidades semánticas a las que hacen referencia.

- Subgrafos de entidades semánticas Gs :

El subgrafo de entidades semánticas se construye sobre el subgrafo de parcelas. Nodos de entidad (entidades), ni ∈ Ns, que representan las entidades extraídas de la trama y resueltas con las entidades del grafo existentes. Las aristas de entidad (aristas semánticas), ei ∈ Es ⊆ ϕ∗(Ns × Ns)que representa las relaciones entre las entidades extraídas de la trama.

- Submapa comunitario Gc :

El subgrafo de comunidades constituye el nivel superior del grafo de conocimiento Zep. Nodos de comunidad (comunidades), ni ∈ Ncque representan agrupaciones de entidades fuertemente conectadas. La comunidad contiene resúmenes de alto nivel de estas agrupaciones y representa Gs Una visión más completa e interconectada de la estructura de la El borde de la comunidad, ei∈Ec⊆ϕ∗(Nc×Nˉs)que conecta a la comunidad con sus miembros físicos.

El doble almacenamiento de datos brutos de episodios y de información derivada de entidades semánticas refleja los modelos mentales de la memoria humana. Estos modelos distinguen entre la memoria de episodios, que representa distintos acontecimientos, y la memoria semántica, que captura asociaciones entre conceptos y sus significados [8]. Este enfoque permite a las inteligencias LLM que utilizan Zep desarrollar estructuras de memoria más complejas y sutiles que se ajustan mejor a nuestra comprensión del sistema de memoria humano. Los grafos de conocimiento proporcionan un medio eficiente para representar estas estructuras de memoria, y los diferentes subgrafos episódicos y semánticos que implementamos se basan en un enfoque similar en AriGraph [9].

Nuestro uso de los nodos de comunidad para representar la estructura de alto nivel y los conceptos del dominio se basa en el trabajo de GraphRAG [4], permitiendo una comprensión global más completa del dominio. La organización jerárquica resultante -de parcelas a hechos, de entidades a comunidades- amplía las estrategias jerárquicas RAG existentes [10][11].

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, este artículo se centra en el tipo de mensaje porque nuestros experimentos se centran en las memorias de diálogo. En nuestro contexto, un mensaje consiste en un texto relativamente corto (varios mensajes pueden caber en la ventana de contexto de LLM) y los participantes asociados que produjeron el discurso.

Cada mensaje incluye un sello de tiempo de referencia trefLa hora del mensaje se indica mediante la hora a la que se envió el mensaje. Esta información temporal permite a Zep identificar y extraer con precisión las 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 temporal de los acontecimientos, la línea temporal T′ representa la transacción de tiempo para la ingestión de datos Zep. Mientras que T′ Las líneas de tiempo sirven al propósito tradicional de la auditoría de bases de datos, pero T La línea temporal proporciona una dimensión adicional para modelar la naturaleza dinámica de los datos de diálogo y la memoria. Este doble enfoque temporal representa un novedoso avance en la construcción de grafos de conocimiento LLM y sustenta las capacidades únicas de Zep en comparación con anteriores propuestas de GAR basadas en grafos.

Parcela Lado Ee 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 refuerza la naturaleza no destructiva de los subgráficos de Graphiti, ya que permite recorrerlos tanto hacia delante como hacia atrás: los artefactos semánticos pueden rastrearse hasta sus fuentes para referenciarlos o citarlos, 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 representa la fase inicial del procesamiento de episodios. Durante el proceso de ingestión, el sistema procesa el contenido del mensaje actual y los últimos n para contextualizar el reconocimiento de entidades con nombre. Para este artículo y la implementación general de Zep, n = 4Para la evaluación contextual se ofrecen dos rondas de diálogo completas. 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 de los episodios 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 mediante la búsqueda de nodos de entidades de grafos existentes por 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 gráfico, 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 y el análisis sintáctico de las entidades, el sistema integra los datos en el grafo de conocimiento mediante consultas Cypher predefinidas. Elegimos este enfoque frente a las consultas a bases de datos generadas por LLM para garantizar un formato arquitectónico coherente y reducir la posibilidad de alucinaciones.

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

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 asociadas a búsquedas híbridas se restringen a las aristas que existen entre pares de entidades que son idénticas a las nuevas aristas. Esta restricción no sólo evita combinaciones incorrectas de aristas similares entre entidades diferentes, sino que también reduce significativamente la complejidad computacional de la 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 del tiempo y fallo de los bordes

Una característica diferenciadora clave de Graphiti con respecto a otros motores de grafos de conocimiento es su capacidad para gestionar actualizaciones dinámicas de la información mediante procesos de extracción temporal y fallo de aristas.

El sistema utiliza tref Extracción de información temporal sobre hechos a partir del contexto de la trama. Esto permite extraer con precisión y fechar representaciones temporales de marcas de tiempo absolutas (por ejemplo, "Alan Turing nació el 23 de junio de 1912") y relativas (por ejemplo, "Empecé mi nuevo trabajo hace quince días"). De acuerdo con nuestro enfoque de modelización coherente, el sistema registra cuatro marcas de tiempo: t′ Crear y t′ Vencimiento ∈ T′ controla cuándo se crean o invalidan hechos en el sistema, mientras que tvalid y tinvalid ∈ T 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 semánticamente relacionadas, con el fin de identificar posibles contradicciones. Cuando el sistema identifica contradicciones temporales conflictivas, lo hace comparando las aristas tinvalid Fijado a tvalid en el lado que falla para invalidar las aristas afectadas. Según el calendario de transacciones T′Graphiti siempre da prioridad a la información nueva a la hora de determinar el fallo de una arista.

Este enfoque integral permite añadir datos dinámicamente a Graphiti a medida que evolucionan las conversaciones, al tiempo que se mantiene el estado actual de la relación y un historial de las relaciones que han evolucionado con el 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 el sencillo escalado dinámico de la propagación de etiquetas, que permite al sistema mantener representaciones de comunidad precisas durante más tiempo 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 ni ∈ Ns al grafo 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 hace que la expansión de las comunidades sea eficiente a medida que los datos fluyen en el sistema, las comunidades resultantes se desvían gradualmente de las generadas por la ejecución completa 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], nuestros nodos comunitarios contienen resúmenes de los nodos miembros mediante un estilo iterativo map-reduce. Sin embargo, nuestro enfoque de recuperación es bastante diferente del enfoque map-reduce de GraphRAG [4]. Para apoyar nuestro enfoque de recuperación, 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 en Zep proporciona una funcionalidad potente, sofisticada y altamente configurable. En general, la API de búsqueda de grafos de Zep implementa una función f:S→Sque 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 son generados por inteligencias LLM sobre consultas α necesaria para la respuesta exacta del El proceso f(α) → β Consta de tres pasos diferentes:

- Búsqueda (φ)El proceso identifica primero los nodos y aristas candidatos que pueden contener información relevante. Aunque Zep emplea varios métodos de búsqueda diferentes, la función de búsqueda global puede expresarse como φ:S→Esn-×Nsnˉ×.Ncn. Por lo tanto, φ Convertir la consulta en una tripleta que contenga una lista de aristas semánticas, nodos de entidad y nodos de comunidad: estos tres tipos de grafos 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 estos resultados: ρ:φ(α),...→ Esn×Nsn×Ncn..

- Constructor (χ): En el último paso, el constructor convierte los nodos y aristas relevantes en un contexto textual: χ:Esn×Nsn×Ncn→S. Para cada ei ∈ Esχ Devolver hechos y tvalidTinvalid. campo; para cada ni ∈ Nsque devuelve los campos nombre y resumen; y para cada ni ∈ Ncdevuelve el campo resumen.

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

Ejemplo de plantilla de cadena de contexto:

事实和实体 代表与当前对话相关的上下文。
这些是最相关的事实及其有效日期范围。 如果该事实是关于一个事件,那么该事件发生在此期间。
格式:事实(日期范围:从 - 到)
<事实>
{事实}
</事实>
这些是最相关的实体
实体名称:实体摘要
<实体>
{实体}
</实体>

3.1 Búsqueda

Zep implementa tres funciones de búsqueda: búsqueda de similitud semántica coseno (φcos)La búsqueda de texto completo de Okapi BM25 (φbm25) está disponible en Internet. 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 ofrece capacidades diferentes en términos de identificación de documentos relevantes, y juntas proporcionan una cobertura completa de los resultados candidatos antes de reordenarlos. Los campos de búsqueda difieren entre los tres tipos de objetos: para Esbuscamos campos de hechos; para Nsbúsqueda de nombres de entidades; para Nc, busca nombres de comunidades que incluyan palabras clave y frases relevantes cubiertas en la comunidad. Aunque desarrollado de forma independiente, nuestro enfoque de búsqueda de comunidades es paralelo al enfoque de búsqueda avanzada de claves de LightRAG [17]. La combinación del 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 por amplitud se realiza identificando n nodos y aristas adicionales dentro de un salto para mejorar los resultados iniciales de la búsqueda. Además, φbfs Los nodos pueden aceptarse como parámetros de búsqueda, lo que proporciona un mayor control sobre la función de búsqueda. Esta funcionalidad resulta especialmente valiosa cuando se utilizan episodios recientes como semilla de una búsqueda amplia, ya que permite al sistema incorporar al contexto recuperado entidades y relaciones mencionadas recientemente.

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 de palabras, la similitud de coseno captura la similitud semántica y la búsqueda de "amplitud primero" 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 de clasificación recíproca (RRF, Reciprocal Ranking Fusion) [20] y la relevancia marginal máxima (MMR, Maximum Marginal Relevance) [21]. Además, Zep implementa un reordenador de menciones de episodios basado en grafos que prioriza los resultados en función de la frecuencia con la que se menciona una entidad o un hecho en una conversación, 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 contexto para la localización en regiones específicas del grafo de conocimiento. La capacidad de reordenación más sofisticada del sistema emplea un codificador cruzado, que genera puntuaciones de relevancia utilizando la atención cruzada para evaluar nodos y aristas en función de la consulta para el LLM, aunque este enfoque incurre en el mayor coste computacional.

 

4. Experimentos

En esta sección se analizan dos experimentos realizados con una prueba de referencia basada 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 referencia LongMemEval de "LongMemEval: Benchmarking Chat Assistants on Long-Term Interaction Memory" [7]. En concreto, utilizamos LongMemEval ⋅ que ofrece una amplia gama de 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 comparaciones claras con las pruebas de referencia existentes, al tiempo que conserva la capacidad adicional de explorar el grafo de conocimiento para futuros trabajos.

4.1 Selección de modelos

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 estarán disponibles públicamente a través de nuestro repositorio GitHub e incluirán consejos experimentales relevantes en el apéndice.

Cuadro 1: Recuperación de la memoria profunda

memorizaciónmodelizaciónmarca
resumen recursivoResumen del diálogoMemGPT†
ZepResumen del diálogogpt-4-turbo
diálogo completoZepgpt-4o-mini

Los resultados figuran en [3].

4.2 Recuperación de memoria profunda (DMR)

La evaluación de la recuperación de memoria profunda es 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 utilizando gpt-4-turbo, lo que supone una mejora significativa respecto a la línea base de 35,31 TP3T para resúmenes recursivos.

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. Con 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. Con gpt-4o-mini, ambos métodos mejoran su 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 pudimos reproducir los resultados de MemGPT utilizando gpt-4o-mini.

A continuación, evaluamos el rendimiento de Zep ingiriendo 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 las respuestas de la intelligentsia con las respuestas correctas proporcionadas.Zep alcanza una precisión de 94,81 TP3T con gpt-4-turbo, y 98,21 TP3T con gpt-4o-mini mostrando 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 esta prueba de referencia. La evaluación se basa exclusivamente en preguntas de recuperación de hechos en una sola ronda y es incapaz de evaluar la comprensión de recuerdos complejos. Muchas de las preguntas contenían formulaciones vagas, invocando conceptos como "bebida relajante favorita" o "afición extraña" que no se describían explícitamente como tales en el diálogo. Y lo que es más importante, el conjunto de datos no ofrece buenos resultados en los casos de uso de las inteligencias LLM en el mundo real de la empresa. El alto rendimiento obtenido utilizando el sencillo enfoque de contexto completo del LLM moderno pone aún más de relieve las deficiencias de este punto de referencia para evaluar 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 los puntos de referencia LongMemEval se degrada 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, un mejor reflejo de los escenarios empresariales y un conjunto más diverso de preguntas de evaluación.

4.3 LongMemEval (LME)

Hemos evaluado Zep utilizando el conjunto de datos LongMemEvals, que proporciona diálogos y preguntas representativas de las inteligencias LLM en aplicaciones empresariales del mundo real.El conjunto de datos LongMemEvals supone un reto significativo para las soluciones LLM y Business Memory 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 de contexto 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. Utilizamos ordenadores portátiles de consumo en nuestra ubicación residencial en Boston, MA, para conectarnos al servicio de Zep, que está 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 claves específicas de las preguntas proporcionadas 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 añadiendo mensajes de diálogo al historial del 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 la comparación de datos de rendimiento sería beneficiosa 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. Con gpt-4o-mini, Zep mejoró la precisión en 15,21 TP3T con respecto a la línea de base, mientras que gpt-4o mejoró en 18,51 TP3T. la reducción del tamaño de las pistas también dio lugar a una reducción significativa del coste de latencia en comparación con la implementación de línea de base.

Tabla 2: LongMemEvals

memorizaciónmodelizaciónmarcaprocrastinarRetraso IQRContexto medio Fichas
contexto completogpt-4o-mini55.4%31.3 s8.76 s115k
Zepgpt-4o-mini63.8%3.20 s1.31 s1.6k
contexto completogpt-4o60.2%28.9 s6.01 s115k
Zepgpt-4o71.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 mayores mejoras en los tipos de pregunta complejos: preferencia de sesión única, multisesión y razonamiento temporal. Zep demuestra además un mejor rendimiento en la categoría de actualización de conocimientos cuando se utiliza gpt-4o, lo que pone de relieve que es más eficaz cuando se utiliza con modelos más potentes. Sin embargo, puede ser necesario un desarrollo adicional para mejorar la comprensión de los datos temporales de Zep por parte de modelos menos potentes.

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,7%↑
Asistente de sesión únicagpt-4o-mini81.8%75.0%90'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-4o20.0%56.7%184%↑
Asistente de sesión únicagpt-4o94.6%80.4%17.7%↓
inferencia cronológicagpt-4o45.1%62.4%38.4%↑
multisesióngpt-4o44.3%57.9%30,7%↑
Actualización de conocimientosgpt-4o78.2%83.3%6.52%↑
usuario de sesión únicagpt-4o81.4%92.9%14.1%↑

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

La degradación del rendimiento para el problema del 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 la mejora constante de Zep, lo que sugiere que 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 el coste de los tokens y funciona con una latencia significativamente menor.

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. Sobre estos dos marcos podrían construirse múltiples vías de investigación, incluida la integración de otros métodos GraphRAG en el paradigma Zep, así como novedosas extensiones de nuestro trabajo.

La investigación ha demostrado el valor de afinar los modelos para la extracción de entidades y bordes LLM en el paradigma GraphRAG, mejorando la precisión y reduciendo al mismo tiempo el coste y la latencia [19][25]. Del mismo modo, afinar el modelo para las pistas de Graphiti puede 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 ha operado 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 el trabajo de mapeo de conocimiento previo al LLM, merecen una mayor exploración en el marco de Graphiti.

Nuestra búsqueda de pruebas de referencia de memoria adecuadas revela una selección limitada, ya que las pruebas de referencia existentes a menudo carecen 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 en comparación con las pruebas de referencia establecidas en [17], [27] y [28].

La escalabilidad de los sistemas de producción, incluidos el coste y la latencia, no se ha tratado adecuadamente en la bibliografía actual sobre memorias LLM y sistemas RAG. 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

{当前_消息}
</当前消息>
根据以上对话,从“当前消息”中提取明确或隐含提及的实体节点:
准则:
1.始终提取说话者/演员作为第一个节点。说话者是每行对话中冒号前的部分。
2.提取“当前消息”中提及的其他重要实体、概念或演员。
3.不要为关系或动作创建节点。
4.不要为时间信息(如日期、时间或年份)创建节点(这些将在稍后添加到边缘)。
5.在节点命名时尽可能明确,使用全名。
6.不要仅提取提及的实体

 

6.1.2 Resolución de entidades

<之前的消息>
{之前的消息}
</之前的消息>
<当前消息>
{当前消息}
</当前消息>
<现有节点>
{现有节点}
</现有节点>
给定上述的现有节点、消息和之前的消息。确定从对话中提取的新节点是否是现有节点中的重复实体。
<新节点>
{新节点}
</新节点>
任务:
1. 如果新节点与现有节点中的任何节点表示相同的实体,则在响应中返回“is_duplicate: true”。否则,返回“is_duplicate: false”。
2. 如果 is_duplicate 为 true,则在响应中同时返回现有节点的 uuid。
3. 如果 is_duplicate 为 true,则返回节点的最完整的全名。
指南:
1. 使用节点的名称和摘要来确定实体是否重复,重复节点可能具有不同的名称。

6.1.3 Extracción de datos

<之前的消息>
{之前的消息}
</之前的消息>
<当前消息>
{当前消息}
</当前消息>
<实体>
{实体}
</实体>
给定上述消息和实体,从当前消息中提取所有与列出的实体相关的要素。
指南:
1. 仅提取所提供的实体之间的事实。
2. 每个事实应表示两个不同节点之间的清晰关系。
3. relation_type 应该是对事实的简洁、全大写描述(例如,LOVES、IS_FRIENDS_WITH、
WORKS_FOR)。
4. 提供包含所有相关信息的更详细的事实。
5. 考虑关系的时间方面(如果相关)。

6.1.4 Análisis de los hechos

给定以下上下文,判断 "新边" 是否表示 "现有边" 列表中任何一条边所表达的相同信息。
<现有边>
{existing_edges}
</现有边>
<新边>
{new_edge}
</新边>
任务:
如果 "新边" 表示与 "现有边" 中任何一条边相同的事实信息,则在响应中返回 'is_duplicate: true'。 否则,返回 'is_duplicate: false'。
如果 is_duplicate 为 true,则还在响应中返回现有边的 uuid。
指南:
事实信息不需要完全相同才能判定为重复,它们只需要表达相同的信息即可。

6.1.5 Extracción del tiempo

<先前消息>
{先前的消息}
</先前消息>
<当前消息>
{当前消息}
</当前消息>
<参考时间戳>
{参考时间戳}
</参考时间戳>
<事实>
{事实}
</事实>
重要提示:仅在提供的事实中包含时间信息时才提取时间信息,否则忽略提及的时间。  
如果仅提到了相对时间(例如“10年前”、“2分钟前”),请尽力基于提供的参考时间戳确定具体日期。  
如果关系不是跨越性的,但仍然可以确定日期,则仅设置 `valid_at`。  
定义:
- valid_at:该事实描述的关系变为真实或被建立的日期和时间。  
- invalid_at:该事实描述的关系不再真实或结束的日期和时间。  
任务:
分析对话并确定事实中是否包含日期信息。仅在日期明确与关系的建立或变更相关时才进行设置。  
指南: 
1. 使用 ISO 8601 格式(YYYY-MM-DDTHH:MM:SS.SSSSSSZ)表示日期时间。  
2. 计算 `valid_at` 和 `invalid_at` 时,以参考时间戳作为当前时间。  
3. 如果事实使用现在时态,则使用参考时间戳作为 `valid_at` 日期。  
4. 如果没有找到能确立或更改关系的时间信息,则将字段设为 null。  
5. 不得 从相关事件推断日期,仅使用直接用于确立或更改关系的日期。  
6. 如果提及的相对时间直接与关系相关,则基于参考时间戳计算实际日期时间。  
7. 如果只提到了日期但未指定时间,则默认使用 00:00:00(午夜)。  
8. 如果仅提到了年份,则使用该年 1月1日 00:00:00。  
9. 始终包括时区偏移量(如果未指定具体时区,则使用 Z 表示 UTC)。  
© declaración de copyright

Artículos relacionados

Sin comentarios

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