AI Personal Learning
und praktische Anleitung
Ressource Empfehlung 1

ZEP-Graphiti: eine temporale Wissensgraphenarchitektur für das Gedächtnis in der Intelligenz

stenografisches Lesen

Die Herausforderung des intelligenten Körpergedächtnisses und die Innovation von Zep

KI-Agenten haben bei komplexen Aufgaben mit Speicherengpässen zu kämpfen. Traditionelle KI-Agenten, die auf einem Large Language Model (LLM) basieren, sind durch Kontextfenster eingeschränkt, die es schwierig machen, langfristige Gesprächsverläufe und dynamische Daten effektiv zu integrieren, was die Leistung einschränkt und sie anfällig für Halluzinationen macht.Zep ist eine innovative Knowledge-Graph-Architektur, die KI-Agenten mit leistungsstarken Speicherkapazitäten ausstattet, um dynamische Informationsumgebungen durch ihre Kernkomponente Graphiti zu bewältigen. Sie löst die Herausforderungen bestehender RAG-Ansätze, die mit zeitlichen Informationen und sitzungsübergreifenden Schlussfolgerungen nur schwer umgehen können, und bietet eine zuverlässigere Speicherunterstützung für Anwendungen der Unternehmensklasse.

 

Implementierung: Graphiti - eine zeitbewusste Wissensgraphenmaschine

Graphiti Das intelligente Körpergedächtnis wird durch den Aufbau eines mehrstufigen Wissensgraphen, die dynamische Verwaltung zeitlicher Informationen und einen effizienten Abrufmechanismus erreicht.

  1. Konstruktion von Wissensgraphen auf mehreren Ebenen:
    • Nebenhandlung: Die Rohdaten (Dialognachrichten) werden als Plotknoten verwendet, die Text und Zeitstempel enthalten.
    • Semantische Entitäts-Subgraphen: Entitäten (Namen von Personen, Orten, Produkten usw.) werden aus den Plotknoten als semantische Entitätsknoten extrahiert.
    • Gemeinschaftliche Teilkarte: Aggregieren Sie Entitätsknoten zum gleichen Thema, um Gemeinschaftsknoten zu bilden.
    • Diese hierarchische Struktur verbessert die Skalierbarkeit und ermöglicht es den Intelligenzen, Informationen effizienter zu verstehen.
  2. Dynamische Verwaltung von chronologischen Informationen:
    • Bi-Temporale Modellierung: Zeichnet die Zeitpunkte von Ereignissen (Zeitleiste T) und die Zeitpunkte der Dateneingabe (Zeitleiste T') auf und verarbeitet absolute/relative Zeitinformationen.
    • Dynamische Aktualisierungen: Echtzeit-Aktualisierung des Wissensgraphen zur Bewältigung von Zeitkonflikten.
    • Die zeitserientauglichen Funktionen von Graphiti gewährleisten, dass die Informationen genau und aktuell sind.
  3. Effiziente Abrufmechanismen:
    • Integration mehrerer Methoden: Kombinieren Sie Kosinus-Ähnlichkeitssuche, Volltextsuche und Breadth-First-Suche, um relevante Zusammenhänge schnell und präzise zu finden.

 

Unternehmensanwendungen: Vollständiger Musterprozess

Nehmen SieIntelligenzstelle für die Kundenbetreuung im Unternehmen


Benutzereingabe::
Der Benutzer sendet eine Nachricht über die Chat-Schnittstelle: "Hallo, ich habe ein Problem mit dem HP LaserJet Pro MFP M28w-Drucker, den ich letzten Monat gekauft habe, die Ausdrucke haben Geisterbilder. Ich habe mich bereits an den technischen Support gewandt und man sagte mir, dass ein Neustart des Druckers das Problem beheben würde, aber das habe ich schon versucht und es funktioniert immer noch nicht."

1. episodische Knotenaufnahme::
Graphiti nimmt die neuesten Nachrichten des Benutzers als neuen Episodenknoten mit aktuellem Zeitstempel (z.B. 20. Februar 2024, 10:30 Uhr) in den Wissensgraphen auf. Gleichzeitig ruft das System historische Dialogepisoden ab, die sich auf das "Druckerproblem" beziehen.

2. die Extraktion von Entitäten und Beziehungen::

  • Physikalische Extraktion::
    • Druckermodell: HP LaserJet Pro MFP M28w
    • Datum des Kaufs: 10. Januar 2024
    • Problembeschreibung: Drucken von Dokumenten mit Geisterbildern
    • Zuvor kontaktiert: 15. Januar 2024
    • Vorherige Lösung: Starten Sie den Drucker neu
  • Beziehungsextraktion::
    • [Benutzer] Kauf [Drucker]
    • Probleme mit [Drucker] [Gedruckte Dokumente haben Doppelbilder].
    • [Drucker neu starten] Ja [Lösung ausprobiert]

3. gemeinschaftliche Tests::
Das System fasst alle Entitäten und Beziehungen im Zusammenhang mit dem Drucker "HP LaserJet Pro MFP M28w" in einer Gemeinschaft zusammen, um eine effizientere Suche zu ermöglichen.

4. dynamische Aktualisierung der Informationen::
Graphiti sucht nach Informationen, die aktualisiert werden müssen. Da Benutzer berichtet haben, dass ein Neustart des Druckers das Problem nicht behoben hat, aktualisiert das System die [Lösungsstatus] für [Drucker neu starten]. wegen [Ungelöst].

5. relevanter Kontext abrufbar::
Das System verwendet mehrere Suchmethoden, um zu finden:

  • VolltextsucheAbrufen von historischen Dialogen, die Schlüsselwörter wie "Drucker", "Reimage", "HP LaserJet Pro MFP M28w" enthalten.
  • Kosinus-ÄhnlichkeitssucheSuchen Sie nach Dialogen, die ähnliche Druckprobleme beschreiben, wie z. B. "Unscharfe Ausdrucke", "Verzerrte Druckfarben" usw.
  • Breitensuche: Von [HP LaserJet Pro MFP M28w] Die Community hat sich auf die Suche nach allen häufigen Problemen und empfohlenen Lösungen im Zusammenhang mit diesem Druckermodell gemacht.

6. die Erstellung von Antworten::
Der intelligente Körper generiert die folgende Antwort auf der Grundlage der abgerufenen Kontextinformationen:

"Hallo! Vielen Dank für Ihr Feedback. Wir verstehen, dass der HP LaserJet Pro MFP M28w Drucker, den Sie gekauft haben, Dokumente mit Geisterbildern druckt und dass Sie bereits versucht haben, den Drucker neu zu starten, das Problem aber immer noch besteht. Um Ihr Problem besser zu lösen, empfehlen wir Ihnen, die folgenden Schritte zu versuchen:

  1. Überprüfen Sie die Patronen: Vergewissern Sie sich, dass die Patronen richtig eingesetzt sind und dass der Tintenstand ausreichend ist.
  2. Reinigen Sie den Druckkopf: Ein verstopfter Druckkopf kann zu Geisterbildern führen. Versuchen Sie, den Druckkopf zu reinigen (siehe Handbuch des Druckers für die Vorgehensweise).
  3. Aktualisieren Sie den Treiber: Bitte besuchen Sie die HP Website, um den neuesten Druckertreiber herunterzuladen und zu installieren.

Wenn das Problem nach den oben genannten Schritten weiterhin besteht, geben Sie bitte die folgenden Informationen an, damit wir eine weitere Fehlersuche durchführen können:

  • Welche Version des Betriebssystems verwenden Sie?
  • Tritt das Geisterbildproblem in allen Dokumenten oder in bestimmten Dokumenten auf?

Vielen Dank für Ihre Mitarbeit!"

7. die Aktualisierung der Kenntnisse::
Wenn der Benutzer das Problem durch Auswechseln der Patrone löst, zeichnet der intelligente Körper die [Austausch von Tintenpatronen] regeln. [Probleme beim Drucken von Dokumenten mit Geisterbildern effektive Lösungen zu finden und die Zeitstempel relevanter Entitäten und Beziehungen für spätere Referenzen zu aktualisieren.

Experimentelle Ergebnisse und Zukunftsaussichten

Zep In der LongMemEval-Evaluierung wird bei Verwendung des gpt-4o-Modells im Vergleich zur Baseline die Genauigkeit um 18,51 TP3T verbessert und die Antwortlatenz um 901 TP3T reduziert. Die experimentellen Ergebnisse belegen, dass Zep erhebliche Vorteile in Bezug auf Speichergenauigkeit, dynamische Aktualisierungsfähigkeit, effiziente Abfrage und Skalierbarkeit aufweist.

Zukünftige Forschungsrichtungen umfassen:

  • Modell-Feinabstimmung: Optimierung der Genauigkeit und Effizienz der Wissensextraktion.
  • Integration von Domänen-Ontologien: Verbessertes Verständnis und Schlussfolgerungen für bestimmte Domänen.
  • Neue Benchmarking-Entwicklung: Fortschrittliche Speichersysteme.

Ähnliche Artikel:Graphiti: dynamisches Werkzeug zur Erstellung von Wissensgraphen und zur Abfrage (zeitbewusstes Programm mit langem Speicher)


Abstracts

Wir stellen Zep vor, einen neuartigen Speicherschichtdienst für Intelligenz, der das derzeitige State-of-the-Art-System MemGPT in Deep-Memory-Retrieval (DMR)-Benchmarks übertrifft und darüber hinaus in umfassenderen und anspruchsvolleren Evaluierungen als DMR gut abschneidet, die reale Anwendungsfälle in Unternehmen besser widerspiegeln. Während bestehende Large Language Model (LLM)-basierte Retrieval Augmented Generation (RAG)-Frameworks auf die statische Abfrage von Dokumenten beschränkt sind, müssen Unternehmensanwendungen Wissen aus einer Vielzahl von Quellen, einschließlich laufender Konversationen und Geschäftsdaten, dynamisch integrieren.Zep löst diese grundlegende Einschränkung mit seiner Kernkomponente Graphiti, einer zeitserienfähigen Wissensgraphen-Engine, die unstrukturierte Konversationsdaten dynamisch integriert. unstrukturierte Konversationsdaten und strukturierte Geschäftsdaten unter Beibehaltung historischer Beziehungen dynamisch integriert. In den vom MemGPT-Team durchgeführten DMR-Benchmarks zeigte Zep seine überlegene Leistung (94,81 TP3T gegenüber 93,41 TP3T). Zusätzlich zu DMR wurden die Fähigkeiten von Zep in dem komplexeren LongMemEval-Benchmark validiert, der die Anwendungsfälle in Unternehmen durch komplexe temporale Schlussfolgerungen besser widerspiegelt. In dieser Evaluierung verbesserte Zep die Genauigkeit um bis zu 18,51 TP3T bei gleichzeitiger Reduzierung der Antwortlatenz um 901 TP3T im Vergleich zur Basisimplementierung. Diese Ergebnisse sind besonders signifikant bei unternehmenskritischen Aufgaben wie der sitzungsübergreifenden Informationssynthese und der langfristigen Kontextpflege und zeigen die Effektivität von Zep in realen Anwendungen.

 

1. einleitung

In den letzten Jahren hat der Einfluss von transformatorbasierten großen Sprachmodellen (LLMs) auf die Industrie und die Forschungsgemeinschaft viel Aufmerksamkeit erregt [1]. Eine der Hauptanwendungen von LLMs ist die Entwicklung von Chat-basierten Intelligenzen. Die Fähigkeiten dieser Intelligenzen sind jedoch durch das LLM-Kontextfenster, die effektive Nutzung des Kontexts und das beim Vortraining gewonnene Wissen begrenzt. Daher werden zusätzliche Kontexte benötigt, um Wissen außerhalb der Domäne (OOD) bereitzustellen und Illusionen zu verringern.

Retrieval Augmented Generation (RAG) ist zu einem Schlüsselbereich für LLM-Anwendungen geworden. RAG nutzt Information Retrieval (IR)-Techniken, die in den letzten fünfzig Jahren entwickelt wurden [2], um das notwendige Domänenwissen für LLM bereitzustellen.

Aktuelle Ansätze zur Nutzung von RAG konzentrieren sich auf umfangreiches Domänenwissen und relativ statische Korpora, d.h. der Inhalt der dem Korpus hinzugefügten Dokumente ändert sich selten. Damit Intelligenzen in unserem täglichen Leben allgegenwärtig werden und autonom Probleme lösen können, die von trivialen bis hin zu hochkomplexen Problemen reichen, benötigen sie Zugang zu einem sich ständig weiterentwickelnden, großen Datenkorpus, der aus den Interaktionen der Benutzer mit den Intelligenzen abgeleitet ist, sowie zu relevanten Geschäfts- und Weltdaten. Wir glauben, dass die Ausstattung von Intelligenzen mit einem solchen umfangreichen und dynamischen "Gedächtnis" eine Schlüsselkomponente für die Verwirklichung dieser Vision ist, und wir glauben nicht, dass die derzeitigen RAG-Ansätze für diese Zukunft geeignet sind. Da ganze Dialogverläufe, Geschäftsdatensätze und andere domänenspezifische Inhalte nicht effizient in das kontextuelle Fenster des LLM passen, müssen neue Ansätze für ein intelligentes Körpergedächtnis entwickelt werden. Das Hinzufügen von Gedächtnis zu LLM-gesteuerten Intelligenzen ist keine neue Idee - das Konzept wurde bereits in MemGPT [3] erforscht.

Kürzlich wurden Wissensgraphen (Knowledge Graphs, KGs) zur Erweiterung von RAG-Architekturen verwendet, um viele der Unzulänglichkeiten traditioneller IR-Techniken zu beheben [4]. In diesem Beitrag stellen wir Zep [5] vor, einen Dienst auf Speicherebene, der von Graphiti [6], einer dynamischen, zeitserienbasierten Wissensgraphen-Engine, unterstützt wird.Zep nimmt unstrukturierte Nachrichtendaten und strukturierte Geschäftsdaten auf und synthetisiert sie.Die Graphiti KG-Engine aktualisiert den Wissensgraphen dynamisch und verlustfrei, wobei Fakten und Beziehungen auf einer Zeitachse einschließlich ihrer Verfallsdaten erhalten bleiben. Beziehungen auf einer Zeitachse, einschließlich ihrer Verfallsdaten. Dieser Ansatz ermöglicht es dem Wissensgraphen, eine komplexe, sich entwickelnde Welt darzustellen.

Da Zep ein Produktionssystem ist, legen wir großen Wert auf die Genauigkeit, Latenz und Skalierbarkeit seiner Speicherabrufmechanismen. Wir verwenden zwei bestehende Benchmarks, um die Effektivität dieser Mechanismen zu bewerten: die Deep Memory Retrieval Aufgabe (DMR) von MemGPT [3] und den LongMemEval Benchmark [7].

 

2. die Kartierung von Wissen

In Zep besteht das Gedächtnis aus einem zeitlichen, wahrnehmungsbezogenen dynamischen Wissensgraphen G = (N,E,ϕ) Träger, von denen N bezeichnet den Knoten, E bezeichnet die Kante, ϕ:E → N × N stellt eine formalisierte Assoziationsfunktion dar. Dieser Graph enthält drei hierarchische Teilgraphen: den Plot-Teilgraphen, den semantischen Entitäts-Teilgraphen und den Community-Teilgraphen.

- Episode Nebenhandlung Ge :

Plot-Knoten (Plots), ni ∈ Nedie rohe Eingabedaten in Form von Nachrichten, Text oder JSON enthalten. Plot als ein nicht verlorener Datenspeicher, aus dem semantische Entitäten und Beziehungen extrahiert werden. Die Plotkante, ei ∈ Ee ⊆ ϕ∗ (Ne × Ns)die Episoden mit den semantischen Einheiten verbindet, auf die sie verweisen.

- Semantische Entitäts-Teilgraphen Gs :

Der semantische Entitäts-Subgraph wird auf dem Plot-Subgraphen aufgebaut. Entitätsknoten (Entitäten), ni ∈ Nsdie die aus dem Diagramm extrahierten Entitäten darstellen und mit den vorhandenen Graphenentitäten aufgelöst werden. Die Entitätskanten (semantische Kanten), ei ∈ Es ⊆ ϕ∗(Ns × Ns)die die Beziehungen zwischen den aus dem Diagramm extrahierten Entitäten darstellen.

- Gemeinschaft Teilkarte Gc :

Der Community-Subgraph bildet die oberste Ebene des Zep-Wissensgraphen. Gemeinschaftsknoten (Gemeinschaften), ni ∈ Ncdie Cluster stark verbundener Entitäten darstellen. Die Gemeinschaft enthält Zusammenfassungen dieser Cluster auf hoher Ebene und stellt Gs Eine umfassendere, vernetzte Sicht auf die Struktur der Der Gemeinschaftsrand, ei∈Ec⊆ϕ∗(Nc×Nˉs)die die Gemeinschaft mit ihren physischen Mitgliedern verbindet.

Die doppelte Speicherung von rohen Episodendaten und abgeleiteten semantischen Entitätsinformationen spiegelt mentale Modelle des menschlichen Gedächtnisses wider. Diese Modelle unterscheiden zwischen dem Episodengedächtnis, das verschiedene Ereignisse darstellt, und dem semantischen Gedächtnis, das Assoziationen zwischen Konzepten und ihren Bedeutungen erfasst [8]. Dieser Ansatz ermöglicht es LLM-Intelligenzen, die Zep verwenden, komplexere und subtilere Gedächtnisstrukturen zu entwickeln, die besser mit unserem Verständnis des menschlichen Gedächtnissystems übereinstimmen. Wissensgraphen bieten ein effizientes Medium zur Darstellung dieser Gedächtnisstrukturen, und die verschiedenen episodischen und semantischen Teilgraphen, die wir implementiert haben, basieren auf einem ähnlichen Ansatz in AriGraph [9].

Unsere Verwendung von Community-Knoten zur Darstellung von Strukturen auf hoher Ebene und von Fachkonzepten baut auf der Arbeit von GraphRAG [4] auf und ermöglicht ein umfassenderes globales Verständnis des Fachgebiets. Die daraus resultierende hierarchische Organisation - von Plots zu Fakten zu Entitäten zu Communities - erweitert bestehende hierarchische RAG-Strategien [10][11].

2.1 Episoden

Die Graphenkonstruktion von Zep beginnt mit der Aufnahme von Rohdateneinheiten, die Episoden genannt werden. Episoden können einem von drei Kerntypen angehören: Nachrichten, Text oder JSON. Während jeder Typ eine spezifische Verarbeitung während der Konstruktion des Graphen erfordert, konzentriert sich dieser Beitrag auf den Nachrichtentyp, da sich unsere Experimente auf Dialogspeicher konzentrieren. In unserem Kontext besteht eine Nachricht aus relativ kurzem Text (mehrere Nachrichten können in das Kontextfenster von LLM passen) und den zugehörigen Teilnehmern, die den Diskurs produziert haben.

Jede Nachricht enthält einen Referenzzeitstempel trefDie Tageszeit, die angibt, wann die Nachricht gesendet wurde. Diese zeitlichen Informationen ermöglichen es Zep, relative oder partielle Daten, die im Inhalt der Nachricht erwähnt werden, genau zu identifizieren und zu extrahieren (z. B. "nächsten Donnerstag", "in vierzehn Tagen" oder "letzten Sommer"). Zep implementiert ein diachrones Modell, bei dem die Zeitachse T stellt die zeitliche Abfolge der Ereignisse dar, die Zeitleiste T′ steht für die Zeittransaktion für die Aufnahme von Zep-Daten. Während T′ Zeitleisten dienen dem traditionellen Zweck der Datenbankprüfung, aber T Die Zeitleiste bietet eine zusätzliche Dimension zur Modellierung der dynamischen Natur von Dialogdaten und Gedächtnis. Dieser Dual-Time-Ansatz stellt einen neuen Fortschritt in der Konstruktion von LLM-Wissensgraphen dar und untermauert die einzigartigen Fähigkeiten von Zep im Vergleich zu früheren graphbasierten RAG-Vorschlägen.

Grundstücksseite Ee Verbinden Sie Plots mit ihren extrahierten Entity-Knoten. Plots und ihre abgeleiteten semantischen Kanten erhalten bidirektionale Indizes, die die Beziehung zwischen einer Kante und ihrem Quellplot verfolgen. Dieses Design verbessert die nicht-destruktive Natur von Graphitis Plot-Subgraphen, indem es eine Vorwärts- und Rückwärtstraversierung ermöglicht: Semantische Artefakte können zu ihrer Quelle zurückverfolgt werden, um sie zu zitieren oder zu referenzieren, und Plots können schnell für ihre zugehörigen Entitäten und Fakten abgerufen werden. Obwohl diese Verbindungen in den Experimenten dieser Arbeit nicht direkt untersucht wurden, werden sie in zukünftigen Arbeiten erforscht werden.

2.2 Semantische Einheiten und Fakten

2.2.1 Entitäten

Die Entitätsextraktion stellt die erste Phase der Episodenverarbeitung dar. Während des Ingestionsprozesses verarbeitet das System den aktuellen Nachrichteninhalt und die letzten n Nachrichten zur Bereitstellung von Kontext für die Erkennung von benannten Entitäten. Für diese Arbeit und die allgemeine Implementierung von Zep ist n = 4werden zwei vollständige Dialogrunden zur kontextuellen Bewertung bereitgestellt. Da wir uns auf die Verarbeitung von Nachrichten konzentrieren, wird der Sprecher automatisch als Entität extrahiert. Nach der anfänglichen Entitätsextraktion wenden wir eine von der Reflexion [12] inspirierte Technik an, um Täuschungen zu minimieren und die Extraktionsabdeckung zu verbessern. Das System extrahiert auch Zusammenfassungen von Entitäten aus Episoden, um die anschließende Auflösung von Entitäten und das Abrufen von Operationen zu erleichtern.

Nach der Extraktion bettet das System jeden Entitätsnamen in einen 1024-dimensionalen Vektorraum ein. Diese Einbettung ermöglicht es, ähnliche Knoten zu finden, indem bestehende Graph-Entity-Knoten nach Kosinusähnlichkeit durchsucht werden. Das System führt außerdem eine separate Volltextsuche in den vorhandenen Entitätsnamen und Zusammenfassungen durch, um zusätzliche Kandidatenknoten zu ermitteln. Diese Kandidatenknoten werden dann zusammen mit dem Handlungskontext durch LLM unter Verwendung unserer Hinweise zur Entitätsauflösung verarbeitet. Wenn das System doppelte Entitäten identifiziert, generiert es einen aktualisierten Namen und Abstract.

Nach der Entitätsextraktion und dem Parsing integriert das System die Daten mithilfe vordefinierter Cypher-Abfragen in den Wissensgraphen. Wir haben diesen Ansatz gegenüber LLM-generierten Datenbankabfragen gewählt, um ein einheitliches Architekturformat zu gewährleisten und die Möglichkeit von Halluzinationen zu verringern.

Ausgewählte Tipps für die Erstellung von Diagrammen finden Sie im Anhang.

2.2.2 Fakten

für jeden Fakt, der sein Schlüsselprädikat enthält. Ebenso kann derselbe Fakt mehrfach über verschiedene Entitäten hinweg extrahiert werden, so dass Graphiti durch die Implementierung von Hyperedges komplexe Multi-Entitäts-Fakten modellieren kann.

Nach der Extraktion erzeugt das System Einbettungen für Fakten zur Vorbereitung der Graphenintegration. Das System führt eine Kanten-Deduplizierung durch einen Prozess durch, der der Entitätsauflösung ähnelt. Kanten, die mit hybriden Suchen verbunden sind, werden auf Kanten beschränkt, die zwischen Paaren von Entitäten existieren, die mit den neuen Kanten identisch sind. Diese Einschränkung verhindert nicht nur falsche Kombinationen ähnlicher Kanten zwischen verschiedenen Entitäten, sondern reduziert auch die Rechenkomplexität der Deduplizierung erheblich, indem der Suchraum auf eine Teilmenge von Kanten beschränkt wird, die mit einem bestimmten Entitätspaar verbunden sind.

2.2.3 Zeitextraktion und Kantenversagen

Ein wesentliches Unterscheidungsmerkmal von Graphiti im Vergleich zu anderen Wissensgraphen-Engines ist die Fähigkeit, dynamische Informationsaktualisierungen durch zeitliche Extraktion und Kantenausfallprozesse zu verwalten.

Das System verwendet tref Extrahieren zeitlicher Informationen über Fakten aus dem Handlungskontext. Dies ermöglicht die genaue Extraktion und Datierung von absoluten Zeitstempeln (z. B. "Alan Turing wurde am 23. Juni 1912 geboren") und relativen Zeitstempeln (z. B. "Ich habe meinen neuen Job vor zwei Wochen angetreten"). In Übereinstimmung mit unserem kohärenten Modellierungsansatz verfolgt das System vier Zeitstempel: t′ Erstellen und t′ Verfall ∈ T′ überwacht, wann Fakten im System erstellt oder für ungültig erklärt werden, während tvalid und tinvalid ∈ T Verfolgt den Zeitrahmen, in dem der Sachverhalt festgestellt wurde. Diese Zeitdatenpunkte werden zusammen mit anderen Sachinformationen auf der Seite gespeichert.

Die Einführung neuer Kanten kann bestehende Kanten in der Datenbank ungültig machen. Das System verwendet LLM, um neue Kanten mit semantisch verwandten bestehenden Kanten zu vergleichen, um mögliche Widersprüche zu identifizieren. Wenn das System widersprüchliche zeitliche Widersprüche identifiziert, tut es dies durch den Vergleich der tinvalid Auf der fehlerhaften Seite auf tvalid gesetzt um die betroffenen Kanten ungültig zu machen. Gemäß dem Zeitplan der Transaktion T′Graphiti priorisiert bei der Bestimmung von Kantenausfällen immer neue Informationen.

Dieser umfassende Ansatz ermöglicht es, Daten dynamisch zu Graphiti hinzuzufügen, wenn sich die Gespräche weiterentwickeln, und gleichzeitig den aktuellen Status der Beziehung und einen Verlauf der Beziehung im Laufe der Zeit zu erhalten.

2.3 Gemeinschaft

Nach der Erstellung des Plots und der semantischen Teilgraphen konstruiert das System Community-Teilgraphen durch Community-Erkennung. Während unser Ansatz zur Erkennung von Gemeinschaften auf den in GraphRAG [4] beschriebenen Techniken aufbaut, verwenden wir den Label-Propagation-Algorithmus [13] und nicht den Leiden-Algorithmus [14]. Diese Wahl wird durch die einfache dynamische Skalierung der Label-Propagation beeinflusst, die es dem System ermöglicht, genaue Community-Darstellungen länger aufrechtzuerhalten, wenn neue Daten in den Graphen eintreten, wodurch die Notwendigkeit einer vollständigen Aktualisierung der Community aufgeschoben wird.

Die dynamische Expansion implementiert die Logik eines einzelnen rekursiven Schritts in der Label-Propagation. Wenn das System dem Graphen einen neuen Entitätsknoten ni ∈ Ns hinzufügt Wenn dies der Fall ist, werden die Gemeinschaften der Nachbarknoten untersucht. Das System ordnet den neuen Knoten der Gemeinschaft zu, die von der Mehrheit seiner Nachbarn gehalten wird, und aktualisiert dann die Zusammenfassung der Gemeinschaft und den Graphen entsprechend. Diese dynamische Aktualisierung ermöglicht zwar eine effiziente Erweiterung der Community, wenn Daten in das System einfließen, aber die daraus resultierenden Communitys weichen allmählich von denen ab, die durch den vollständigen Label-Propagationslauf erzeugt wurden. Daher ist eine regelmäßige Aktualisierung der Communitys weiterhin erforderlich. Diese dynamische Aktualisierungsstrategie stellt jedoch eine praktische Heuristik dar, die die Latenzzeit und die LLM-Inferenzkosten erheblich reduziert.

In Anlehnung an [4] enthalten unsere Community-Knoten Zusammenfassungen der Mitgliedsknoten in einem iterativen Map-Reduce-Verfahren. Unser Retrieval-Ansatz unterscheidet sich jedoch deutlich vom Map-Reduce-Ansatz von GraphRAG [4]. Zur Unterstützung unseres Suchansatzes haben wir Community-Namen mit Schlüsselbegriffen und verwandten Themen aus den Community-Zusammenfassungen generiert. Diese Namen werden eingebettet und gespeichert, um eine Cosinus-Ähnlichkeitssuche zu ermöglichen.

 

3. das Abrufen von Erinnerungen

Das Speicherabrufsystem in Zep bietet leistungsstarke, ausgefeilte und hoch konfigurierbare Funktionen. Insgesamt implementiert die Zep-Graph-Such-API eine Funktion f:S→Sdie eine Text-String-Abfrage α ∈ S akzeptiert als Eingabe und liefert einen Text-String-Kontext β ∈ S als Ausgang. Die Ausgabe β enthält formatierte Daten von Knoten und Kanten, die von LLM-Intelligenzen bei Abfragen α erzeugt werden die für die genaue Antwort des Der Prozess f(α) → β Sie besteht aus drei verschiedenen Schritten:

- Suche (φ)Der Prozess identifiziert zunächst Kandidatenknoten und -kanten, die relevante Informationen enthalten könnten. Obwohl Zep mehrere verschiedene Suchmethoden anwendet, kann die allgemeine Suchfunktion als φ:S→Esn-×Nsnˉ×.Ncn ausgedrückt werden. Daher ist φ Konvertieren Sie die Abfrage in ein 3-Tupel, das eine Liste von semantischen Kanten, Entitätsknoten und Gemeinschaftsknoten enthält - diese drei Graphentypen enthalten relevante Textinformationen.

- Blockflötenspieler (ρ)Der zweite Schritt ordnet die Suchergebnisse neu. Die Neuordnungsfunktion oder das Modell nimmt eine Liste von Suchergebnissen und erzeugt eine neu geordnete Version dieser Ergebnisse: ρ:φ(α),...→ Esn×Nsn×Ncn.

- Konstrukteur (χ)Im letzten Schritt wandelt der Builder die relevanten Knoten und Kanten in einen textuellen Kontext um: χ:Esn×Nsn×Ncn→S. Für jedes ei ∈ Esχ Rückgabe von Fakten und tvalidTinvalid. Feld; für jedes ni ∈ Nsdas die Felder Name und Zusammenfassung zurückgibt; und für jedes ni ∈ Ncgibt das Statistikfeld zurück.

Mit diesen Definitionen können wir f wird als eine Kombination dieser drei Komponenten ausgedrückt: f(α) = χ(ρ(φ(α))) = β.

Beispiel für eine Vorlage für eine Kontextzeichenfolge:

Fakten und Einrichtungen Stellt den Kontext dar, der für den aktuellen Dialog relevant ist.
Dies sind die wichtigsten Fakten und ihre gültigen Datumsbereiche. Handelt es sich bei dem Fakt um ein Ereignis, so ist das Ereignis in diesem Zeitraum eingetreten.
Format: Fakt (Datumsbereich: von - bis)
<Fakt
{fact}
</fact
Dies sind die wichtigsten Entitäten
Entitätsname: Entitätszusammenfassung
<Entität
{Entität}
</entity

3.1 Suche

Zep implementiert drei Suchfunktionen: Kosinus-Semantik-Ähnlichkeitssuche (φcos)Die Volltextsuche von Okapi BM25 (φbm25) ist im Internet verfügbar. und Breadth-First-Suche (φbfs). Die ersten beiden Funktionen nutzen Neo4js Implementierung von Lucene [15][16]. Jede Suchfunktion bietet unterschiedliche Möglichkeiten zur Identifizierung relevanter Dokumente, und zusammen bieten sie eine umfassende Abdeckung der Kandidatenergebnisse vor der Neuordnung. Die Suchfelder unterscheiden sich zwischen den drei Objekttypen: für Essuchen wir nach Faktenfeldern; für NsSuche nach Entitätsnamen; für Ncsucht nach Community-Namen, die relevante Schlüsselwörter und Phrasen enthalten, die in der Community behandelt werden. Obwohl unser Community-Suchansatz unabhängig entwickelt wurde, weist er Parallelen zum erweiterten Schlüsselsuchansatz von LightRAG [17] auf. Die Kombination des LightRAG-Ansatzes mit graphenbasierten Systemen wie Graphiti bietet eine vielversprechende Richtung für zukünftige Forschung.

Während die Methoden der Kosinus-Ähnlichkeit und der Volltextsuche in RAG gut etabliert sind [18], hat die Breadth-First-Suche auf Wissensgraphen in der RAG-Domäne nur begrenzte Aufmerksamkeit erhalten, mit bemerkenswerten Ausnahmen in graphbasierten RAG-Systemen wie AriGraph [9] und Distill-SynthKG [19]. In Graphiti wird die Breadth-First-Suche durch die Identifizierung von n zusätzliche Knoten und Kanten innerhalb eines Sprungs, um die ersten Suchergebnisse zu verbessern. Außerdem wird φbfs Knoten können als Suchparameter akzeptiert werden, was eine bessere Kontrolle über die Suchfunktion ermöglicht. Diese Funktionalität erweist sich als besonders wertvoll, wenn die jüngsten Episoden als Ausgangspunkt für eine umfassende Suche verwendet werden, so dass das System kürzlich erwähnte Entitäten und Beziehungen in den abgerufenen Kontext einbeziehen kann.

Jede dieser drei Suchmethoden zielt auf einen anderen Aspekt der Ähnlichkeit ab: Die Volltextsuche ermittelt die Wortähnlichkeit, die Kosinus-Ähnlichkeit erfasst die semantische Ähnlichkeit, und die Breitensuche deckt die kontextuelle Ähnlichkeit auf - näher beieinander liegende Knoten und Kanten im Graphen erscheinen in ähnlicheren Dialogkontexten. Dieser vielschichtige Ansatz zur Identifizierung von Kandidatenergebnissen maximiert die Wahrscheinlichkeit, den besten Kontext zu finden.

3.2 Rekorder

Während der ursprüngliche Suchansatz auf eine hohe Wiederauffindbarkeit abzielt, verbessert der Reorderer die Präzision, indem er die relevantesten Ergebnisse priorisiert.Zep unterstützt bestehende Reordering-Methoden wie Reciprocal Ranking Fusion (RRF) [20] und Maximum Marginal Relevance (MMR) [21]. Darüber hinaus implementiert Zep einen graphbasierten Episodenerwähnungs-Reorderer, der die Ergebnisse danach ordnet, wie oft eine Entität oder ein Fakt in einer Konversation erwähnt wird, wodurch häufig zitierte Informationen leichter zugänglich werden. Das System enthält auch einen Knotenentfernungs-Reorderer, der die Ergebnisse auf der Grundlage ihrer Entfernung von einem bestimmten zentralen Knoten neu anordnet und so einen Kontext für die Suche nach bestimmten Regionen des Wissensgraphen liefert. Die ausgefeilteste Neuordnungsfunktion des Systems verwendet einen Cross-Encoder, der Relevanzbewertungen durch die Verwendung von Cross-Attention zur Bewertung von Knoten und Kanten anhand der LLM-Abfrage generiert, obwohl dieser Ansatz die höchsten Rechenkosten verursacht.

 

4) Experimente

In diesem Abschnitt werden zwei Experimente analysiert, die mit einem auf dem LLM-Gedächtnis basierenden Benchmark-Test durchgeführt wurden. Die erste Auswertung verwendet die in [3] entwickelte Deep Memory Retrieval (DMR) Aufgabe, die eine Teilmenge von 500 Konversationen aus dem Multi-Session Chat-Datensatz verwendet, der in "Beyond Goldfish Memory: long-term open-domain conversations" [22] vorgestellt wurde. Die zweite Bewertung verwendet den LongMemEval-Benchmark aus "LongMemEval: Benchmarking Chat Assistants on Long-Term Interaction Memory" [7]. Genauer gesagt, verwenden wir LongMemEval ⋅. Datensatz, der eine breite Palette von Dialogkontexten mit einer durchschnittlichen Länge von 115.000 Token enthält.

Für beide Experimente haben wir die Dialoghistorie über die API von Zep in den Zep-Wissensgraphen integriert. Anschließend werden die 20 relevantesten Kanten (Fakten) und Entitätsknoten (Entitätszusammenfassungen) mit den in Abschnitt 3 beschriebenen Techniken ermittelt. Das System formatiert diese Daten in Kontextstrings um, die der Funktionalität von Zep's Memory API entsprechen.

Diese Experimente demonstrieren zwar die wichtigsten Suchfunktionen von Graphiti, stellen aber nur eine Teilmenge der gesamten Suchfunktionalität des Systems dar. Dieser fokussierte Umfang ermöglicht klare Vergleiche mit bestehenden Benchmark-Tests, während die zusätzliche Möglichkeit, den Wissensgraphen zu erforschen, für zukünftige Arbeiten erhalten bleibt.

4.1 Auswahl der Modelle

Unsere experimentelle Implementierung verwendet das BGE-m3-Modell von BAAI für die Umordnungs- und Einbettungsaufgaben [23][24]. Für die Graphenkonstruktion und die Generierung von Antworten verwenden wir gpt-4o-mini-2024-07-18 für die Graphenkonstruktion und gpt-4o-mini-2024-07-18 und gpt-4o-2024-11-20 für Chat-Intelligenzen, um Antworten auf den bereitgestellten Kontext zu generieren.

Um eine direkte Vergleichbarkeit mit den DMR-Ergebnissen von MemGPT zu gewährleisten, haben wir auch eine DMR-Auswertung mit gpt-4-turbo-2024-04-09 durchgeführt.

Die experimentellen Notizbücher werden über unser GitHub-Repository öffentlich zugänglich sein und enthalten relevante experimentelle Tipps im Anhang.

Tabelle 1: Abruf aus dem Langzeitgedächtnis

Auswendiglernen Modellierung mark
rekursive Zusammenfassung Zusammenfassung des Dialogs MemGPT†
Zep Zusammenfassung des Dialogs gpt-4-turbo
vollständiger Dialog Zep gpt-4o-mini

† Über die Ergebnisse wird in [3] berichtet.

4.2 Abruf des tiefen Gedächtnisses (DMR)

Die Evaluierung des Deep-Memory-Abrufs wurde von [3] eingeführt und besteht aus 500 Multi-Session-Dialogen, die jeweils 5 Chat-Sitzungen mit bis zu 12 Nachrichten pro Sitzung enthalten. Das MemGPT-Framework [3] führt derzeit die Leistungsmetriken mit einer Genauigkeit von 93,41 TP3T unter Verwendung von gpt-4-turbo an, was eine erhebliche Verbesserung gegenüber der Basislinie von 35,31 TP3T für rekursive Zusammenfassungen darstellt.

Um eine Vergleichsgrundlage zu schaffen, haben wir zwei gängige LLM-Speichermethoden implementiert: vollständiger Dialogkontext und Sitzungszusammenfassung. Bei Verwendung von gpt-4-turbo erreicht die Basislinie für den vollständigen Dialog eine Genauigkeit von 94,41 TP3T, was etwas höher ist als die von MemGPT berichteten Ergebnisse, während die Basislinie für die Sitzungszusammenfassung 78,61 TP3T erreicht. Bei Verwendung von gpt-4o-mini zeigen beide Methoden eine verbesserte Leistung: 98,01 TP3T für den vollständigen Dialog und 88,01 TP3T für die Sitzungszusammenfassung. Aufgrund des Mangels an ausreichenden methodischen Details in der veröffentlichten Arbeit waren wir nicht in der Lage, die Ergebnisse von MemGPT mit gpt-4o-mini zu reproduzieren.

Wir bewerten dann die Leistung von Zep, indem wir den Dialog aufnehmen und seine Suchfunktion verwenden, um die 10 relevantesten Knoten und Kanten abzurufen. Der LLM-Richter vergleicht die Antwort der Intelligenz mit der korrekten Antwort. Zep erreicht eine Genauigkeit von 94,81 TP3T mit gpt-4-turbo und 98,21 TP3T mit gpt-4o-mini und zeigt damit marginale Verbesserungen gegenüber MemGPT und der entsprechenden vollständigen Dialog-Baseline. Diese Ergebnisse müssen jedoch im Kontext gesehen werden: Jeder Dialog enthält nur 60 Nachrichten und ist leicht an das aktuelle LLM-Kontextfenster anzupassen.

Die Grenzen der DMR-Bewertung gehen über ihren geringen Umfang hinaus. Unsere Analysen offenbaren erhebliche Schwächen in der Konzeption dieses Vergleichstests. Der Test stützt sich ausschließlich auf Fragen zum Abruf von Fakten in einer Runde und ist nicht in der Lage, ein komplexes Gedächtnisverständnis zu bewerten. Viele der Fragen enthielten vage Formulierungen, die Begriffe wie "Lieblingsentspannungsgetränk" oder "seltsames Hobby" verlangten, die im Dialog nicht ausdrücklich als solche beschrieben wurden. Entscheidend ist, dass der Datensatz für reale Anwendungsfälle von LLM-Intelligenzen in Unternehmen nicht gut geeignet ist. Die hohe Leistung, die mit dem einfachen Vollkontext-Ansatz des modernen LLM erreicht wurde, unterstreicht die Unzulänglichkeiten dieses Benchmarks bei der Bewertung von Speichersystemen.

Dieser Mangel wird auch durch die Ergebnisse in [7] unterstrichen, die zeigen, dass die Leistung von LLM bei den LongMemEval-Benchmarks mit zunehmender Länge des Dialogs rapide abnimmt. Der LongMemEval-Datensatz [7] behebt diese Mängel, indem er längere, kohärentere Dialoge, eine bessere Widerspiegelung von Unternehmensszenarien und einen vielfältigeren Satz von Bewertungsfragen bietet.

4.3 LongMemEval (LME)

Wir haben Zep anhand des LongMemEvals-Datensatzes evaluiert, der Dialoge und Fragen enthält, die für LLM-Intelligenzen in realen Unternehmensanwendungen repräsentativ sind. Der LongMemEvals-Datensatz stellt eine erhebliche Herausforderung für bestehende LLM- und Business-Memory-Lösungen [7] dar, da die Dialoge im Durchschnitt etwa 115.000 Token lang sind. Diese Länge ist zwar recht groß, liegt aber immer noch innerhalb des Kontextfensters aktueller Frontier-Modelle, so dass wir eine aussagekräftige Basislinie zur Bewertung der Leistung von Zep erstellen können.

Der Datensatz enthält sechs verschiedene Problemtypen: Single-Session-Benutzer, Single-Session-Assistenten, Single-Session-Präferenzen, Multi-Session, Wissensaktualisierung und Temporal Reasoning. Diese Kategorien sind nicht gleichmäßig im Datensatz verteilt; für weitere Informationen verweisen wir den Leser auf [7].

Wir haben alle Experimente zwischen Dezember 2024 und Januar 2025 durchgeführt. Für die Verbindung mit dem Zep-Dienst, der in AWS us-west-2 gehostet wird, haben wir Consumer-Laptops an unserem Wohnsitz in Boston, MA, verwendet. Diese verteilte Architektur führt zu einer zusätzlichen Netzwerklatenz bei der Bewertung der Leistung von Zep, obwohl diese Latenz in unserer Basisbewertung nicht vorhanden ist.

Für die Bewertung der Antworten haben wir das GPT-4o verwendet und fragenspezifische Hinweise aus [7] bereitgestellt, die sich als äußerst relevant für menschliche Bewerter erwiesen haben.

4.3.1 LongMemEval und MemGPT

Um einen Vergleich zwischen Zep und dem aktuellen MemGPT-System [3] zu ermöglichen, haben wir versucht, MemGPT mit Hilfe des LongMemEval-Datensatzes zu evaluieren: Da das aktuelle MemGPT-Framework die direkte Aufnahme bestehender Nachrichtenverläufe nicht unterstützt, haben wir eine Lösung implementiert, indem wir Dialognachrichten zum Archivverlauf hinzugefügt haben. Allerdings konnten wir mit diesem Ansatz keine erfolgreichen Q&A erzielen. Wir freuen uns darauf, dass dieser Benchmark-Test von anderen Forschungsteams ausgewertet wird, da ein Vergleich der Leistungsdaten für die breitere Entwicklung von LLM-Speichersystemen von Vorteil wäre.

4.3.2 LongMemEval-Ergebnisse

Zep zeigte signifikante Verbesserungen sowohl bei der Genauigkeit als auch bei der Latenzzeit im Vergleich zur Basislinie. Mit gpt-4o-mini verbesserte Zep die Genauigkeit um 15,21 TP3T gegenüber der Basislinie, während gpt-4o eine Verbesserung um 18,51 TP3T erzielte. Die reduzierte Cue-Größe führte auch zu einer signifikanten Reduzierung der Latenzkosten im Vergleich zur Basisimplementierung.

Tabelle 2: LongMemEvals

Auswendiglernen Modellierung mark prokrastinieren Verzögerung IQR Durchschnittlicher Kontext Wertmarken
vollständiger Kontext gpt-4o-mini 55.4% 31.3 s 8.76 s 115k
Zep gpt-4o-mini 63.8% 3.20 s 1.31 s 1.6k
vollständiger Kontext gpt-4o 60.2% 28.9 s 6.01 s 115k
Zep gpt-4o 71.2% 2.58 s 0.684 s 1.6k

Die Analyse nach Fragetyp zeigte, dass gpt-4o-mini unter Verwendung von Zep in vier der sechs Kategorien Verbesserungen zeigte, mit den größten Verbesserungen bei den komplexen Fragetypen: Single-Session-Präferenz, Multi-Session und Temporal Reasoning. Zep zeigt außerdem eine verbesserte Leistung in der Kategorie Wissensaktualisierung, wenn gpt-4o verwendet wird, was unterstreicht, dass es effektiver ist, wenn es mit leistungsfähigeren Modellen verwendet wird. Es könnten jedoch weitere Entwicklungen erforderlich sein, um das Verständnis der zeitlichen Daten von Zep durch weniger leistungsfähige Modelle zu verbessern.

Tabelle 3: Zerlegung der LongMemEvals-Problemtypen

Art des Problems Modellierung vollständiger Kontext Zep inkrementell
Einzelsitzungspräferenz gpt-4o-mini 30.0% 53.3% 77.7%↑
Assistent für einzelne Sitzungen gpt-4o-mini 81.8% 75.0% 90'6%↑
chronologischer Rückschluss gpt-4o-mini 36.5% 54.1% 48.2%↑
Multisession gpt-4o-mini 40.6% 47.4% 16.7%↑
Aktuelles Wissen gpt-4o-mini 76.9% 74.4% 3.36%↓
Einzelsession-Benutzer gpt-4o-mini 81.4% 92.9% 14.1%↑
Einzelsitzungspräferenz gpt-4o 20.0% 56.7% 184%↑
Assistent für einzelne Sitzungen gpt-4o 94.6% 80.4% 17.7%↓
chronologischer Rückschluss gpt-4o 45.1% 62.4% 38.4%↑
Multisession gpt-4o 44.3% 57.9% 30.7%↑
Aktuelles Wissen gpt-4o 78.2% 83.3% 6.52%↑
Einzelsession-Benutzer gpt-4o 81.4% 92.9% 14.1%↑

Diese Ergebnisse zeigen die Fähigkeit von Zep, die Leistung im Modellmaßstab zu verbessern, wobei die signifikantesten Verbesserungen bei komplexen und heiklen Problemtypen in Verbindung mit leistungsfähigeren Modellen beobachtet wurden. Besonders signifikant sind die Verbesserungen bei den Latenzzeiten: Zep reduziert die Antwortzeiten um ca. 901 TP3T bei gleichbleibend hoher Genauigkeit.

Die Leistungsverschlechterung für das Single-Session-Helper-Problem - 17,71 TP3T für gpt-4o und 9,061 TP3T für gpt-4o-mini - stellt eine bemerkenswerte Ausnahme von der ansonsten konstanten Verbesserung von Zep dar, was darauf hindeutet, dass die Notwendigkeit weiterer Forschungs- und Entwicklungsarbeiten.

 

5. schlussfolgerung

Wir haben Zep vorgestellt, einen graphenbasierten Ansatz für LLM-Speicher, der semantisches und episodisches Gedächtnis mit Entity- und Community-Zusammenfassungen kombiniert. Unsere Evaluierung zeigt, dass Zep in bestehenden Speicher-Benchmarks die beste Leistung erzielt, während gleichzeitig die Token-Kosten gesenkt und die Latenzzeit deutlich verringert wird.

Die von Graphiti und Zep erzielten Ergebnisse sind zwar beeindruckend, stellen aber wahrscheinlich nur einen ersten Fortschritt bei graphbasierten Speichersystemen dar. Auf diesen beiden Rahmenwerken könnten mehrere Forschungsrichtungen aufgebaut werden, darunter die Integration anderer GraphRAG-Methoden in das Zep-Paradigma sowie neuartige Erweiterungen unserer Arbeit.

Die Forschung hat den Wert von Feinabstimmungsmodellen für die LLM-Entitäts- und Kantenextraktion im GraphRAG-Paradigma gezeigt, die die Genauigkeit verbessern und gleichzeitig die Kosten und die Latenzzeit verringern [19][25]. In ähnlicher Weise können Feinabstimmungsmodelle für Graphiti-Hinweise die Wissensextraktion verbessern, insbesondere bei komplexen Dialogen. Während die aktuelle Forschung zu LLM-generierten Wissensgraphen hauptsächlich ohne formale Ontologien gearbeitet hat [9][4][17][19][26], haben domänenspezifische Ontologien ein erhebliches Potenzial. Graphen-Ontologien, die bei der Wissensabbildung vor dem LLM von grundlegender Bedeutung sind, verdienen eine weitere Erforschung im Rahmen von Graphiti.

Unsere Suche nach geeigneten Gedächtnis-Benchmark-Tests ergab eine begrenzte Auswahl, wobei es den vorhandenen Benchmark-Tests oft an Robustheit und Raffinesse mangelt und sie oft auf einfache Faktenabfrageprobleme beschränkt sind [3]. Das Feld benötigt zusätzliche Speicher-Benchmark-Tests, insbesondere solche, die Geschäftsanwendungen wie Kundenerfahrungsaufgaben widerspiegeln, um Speicheransätze effektiv zu bewerten und zu differenzieren. Vor allem sind die bestehenden Benchmark-Tests unzureichend, um die Fähigkeit von Zep zur Verarbeitung und Synthese von Dialogverläufen mit strukturierten Geschäftsdaten zu bewerten. Während Zep sich auf LLM-Speicher konzentriert, sollten seine traditionellen RAG-Fähigkeiten anhand der etablierten Benchmark-Tests in [17], [27] und [28] bewertet werden.

Die Skalierbarkeit von Produktionssystemen, einschließlich Kosten und Latenzzeit, wurde in der aktuellen Literatur über LLM-Speicher und RAG-Systeme nicht angemessen berücksichtigt. Wir schließen ein Latenz-Benchmarking von Abrufmechanismen ein, um diese Lücke zu schließen, indem wir dem Beispiel der Autoren von LightRAG folgen, die diesen Metriken Priorität einräumen.

6. anhang

6.1 Tipps zur Konstruktion von Diagrammen

6.1.1 Entitätsextraktion

{current_message}
</aktuelle_Nachricht
Extrahieren Sie auf der Grundlage des obigen Dialogs die explizit oder implizit genannten Entitätsknoten aus der "aktuellen Nachricht":
Richtlinien:
1. extrahieren Sie immer den Sprecher/Schauspieler als ersten Knoten. Der Sprecher ist der Teil jeder Dialogzeile, der vor dem Doppelpunkt steht.
2) Extrahieren Sie andere wichtige Entitäten, Konzepte oder Akteure, die in der "aktuellen Nachricht" erwähnt werden.
3) Erstellen Sie keine Knoten für Beziehungen oder Aktionen.
4. erstellen Sie keine Knoten für zeitliche Informationen wie Datum, Uhrzeit oder Jahr (diese werden dem Rand später hinzugefügt).
5. Benennen Sie die Knoten so eindeutig wie möglich und verwenden Sie vollständige Namen.
6. Extrahieren Sie nicht nur erwähnte Entitäten.

 

6.1.2 Auflösung von Entitäten

<vorherige Nachricht
{Vorherige Nachricht}
</vorherige Nachricht
<Aktuelle Nachricht
{Aktuelle Nachricht}
</aktuelle Nachricht
<existierender Knoten
{vorhandener Knoten}

Geben Sie den oben genannten bestehenden Knoten, die Nachricht und die vorherige Nachricht an. Bestimmen Sie, ob der neue Knoten, der aus dem Dialog extrahiert wurde, eine doppelte Entität des bestehenden Knotens ist.

{Neuer Knoten}
</neuer Knoten
Aufgaben:
1. wenn der neue Knoten die gleiche Entität wie einer der bestehenden Knoten darstellt, gib "is_duplicate: true" in der Antwort zurück. Andernfalls wird "is_duplicate: false" zurückgegeben. 2.
2. Wenn is_duplicate true ist, wird die uuid des bestehenden Knotens in der Antwort zurückgegeben. 3. Wenn is_duplicate true ist, wird die uuid des bestehenden Knotens in der Antwort zurückgegeben.
3. Wenn is_duplicate wahr ist, wird der vollständige Name des Knotens zurückgegeben.
Richtlinien:
1. Verwenden Sie den Namen und die Zusammenfassung des Knotens, um festzustellen, ob die Entität dupliziert ist. doppelte Knoten können unterschiedliche Namen haben.

6.1.3 Faktenextraktion

<vorherige Nachricht
{Vorherige Nachricht}
</vorherige Nachricht
<Aktuelle Nachricht
{Aktuelle Nachricht}
</aktuelle Nachricht
<Einheit
{Einheit}

Extrahieren Sie aus der aktuellen Nachricht alle Elemente, die sich auf die aufgeführten Entitäten beziehen.
Anweisungen:
1. Extrahiere nur die Fakten zwischen den angegebenen Entitäten.
2. Jedes Faktum sollte eine klare Beziehung zwischen zwei verschiedenen Knoten darstellen.
3. relation_type sollte eine prägnante, in Großbuchstaben geschriebene Beschreibung des Fakts sein (z. B. LOVES, IS_FRIENDS_WITH,
ARBEITET_FÜR).
4. Geben Sie detailliertere Fakten an, die alle relevanten Informationen enthalten.
5. Berücksichtigen Sie die zeitlichen Aspekte der Beziehung (falls relevant).

6.1.4 Sachliche Analyse

Bestimmen Sie anhand des folgenden Kontextes, ob die "neue Kante" dieselbe Information darstellt, die durch eine der Kanten in der Liste "bestehende Kanten" ausgedrückt wird.
<vorhandene_Kanten
{existing_edges}
</existing_edges
<new_edge
{new_edge}
</new_edge
Aufgabe:
Gib in der Antwort 'is_duplicate: true' zurück, wenn 'new_edge' die gleiche Sachinformation wie eine der Kanten in 'existing_edge' darstellt. Andernfalls soll 'is_duplicate: false' zurückgegeben werden.
Wenn is_duplicate: true ist, wird auch die uuid der vorhandenen Kante in der Antwort zurückgegeben.
Leitlinien:
Die Sachinformationen müssen nicht exakt gleich sein, um als Duplikat zu gelten, sie müssen nur die gleichen Informationen ausdrücken.

6.1.5 Zeitliche Extraktion

<vorherige Nachricht
{Vorherige Nachricht}
</vorherige Nachricht

{Aktuelle Nachricht}
</aktuelle Nachricht
<Referenz Zeitstempel
{Referenzzeitstempel}
</ref zeitstempel
<facts
{fact}
</fact
WICHTIG: Extrahieren Sie Zeitangaben nur, wenn der angegebene Fakt Zeitangaben enthält, andernfalls ignorieren Sie die genannte Zeit.
Wenn nur relative Zeiten genannt werden (z. B. "vor 10 Jahren", "vor 2 Minuten"), versuchen Sie, das genaue Datum anhand des angegebenen Referenzzeitstempels zu bestimmen.
Wenn die Beziehung nicht übergreifend ist, aber das Datum dennoch bestimmt werden kann, setzen Sie nur `valid_at`.
Definition:
- valid_at: das Datum und die Uhrzeit, zu der die durch diesen Fakt beschriebene Beziehung zustande kam oder eingerichtet wurde.
- invalid_at: das Datum und die Uhrzeit, zu der die durch diesen Fakt beschriebene Beziehung nicht mehr real war oder endete.
Aufgabe:
Analysiere den Dialog und stelle fest, ob der Fakt Datumsinformationen enthält. Setzen Sie das Datum nur dann, wenn es sich explizit auf die Erstellung oder Änderung einer Beziehung bezieht.
Anweisungen:
1. Verwende das ISO 8601 Format (JJJJ-MM-TTTHH:MM:SS.SSSSSSZ), um Datumszeiten darzustellen.
2. Berechne `valid_at` und `invalid_at` mit dem Referenzzeitstempel als aktuelle Zeit.
3. Wenn das Faktum die Gegenwartsform verwendet, wird der Referenzzeitstempel als `valid_at`-Datum verwendet.
4. Wird keine Zeitangabe gefunden, die die Beziehung herstellt oder ändert, ist das Feld auf Null zu setzen. 5.
5. Ein Datum darf nicht aus einem verwandten Ereignis abgeleitet werden; es sind nur Daten zu verwenden, die direkt zur Herstellung oder Änderung der Beziehung verwendet werden. 6.
6. Wird ein relativer Zeitpunkt genannt, der in direktem Zusammenhang mit der Beziehung steht, wird der tatsächliche Zeitpunkt auf der Grundlage des Referenzzeitstempels berechnet. 7.
7. Wenn nur das Datum angegeben ist, aber keine Uhrzeit, wird standardmäßig 00:00:00 (Mitternacht) verwendet. 8. Wenn nur das Jahr angegeben ist, wird standardmäßig 00:00:00 (Mitternacht) verwendet.
8. Wenn nur das Jahr angegeben ist, wird 00:00:00 Uhr am 1. Januar des betreffenden Jahres verwendet.
9. Geben Sie immer den Zeitzonen-Offset an (verwenden Sie Z für UTC, wenn keine bestimmte Zeitzone angegeben ist).  
Tools herunterladen
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " ZEP-Graphiti: eine temporale Wissensgraphenarchitektur für das Gedächtnis in der Intelligenz

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)