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, was es schwierig macht, 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 Wissensgraphen-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.
- 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.
- 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.
- 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::
[用户] 购买 [打印机]
[打印机] 存在 [打印文件有重影] 问题
[重启打印机] 是 [尝试过的解决方案]
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 [重启打印机] 的 [解决方案状态]
wegen [未解决]
.
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:
- Überprüfen Sie die Patronen: Vergewissern Sie sich, dass die Patronen richtig eingesetzt sind und dass der Tintenstand ausreichend ist.
- 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).
- 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 [更换墨盒]
regeln. [打印文件有重影] 问题
effektive Lösungen und aktualisieren die Zeitstempel der relevanten Entitäten und Beziehungen für spätere Referenzen.
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 haben die Auswirkungen 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 bewerten die Effektivität dieser Mechanismen anhand von zwei bestehenden Benchmarks: der Deep Memory Retrieval Aufgabe (DMR) von MemGPT [3] und dem 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 ∈ Ne
die 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 ∈ Ns
die 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 ∈ Nc
die 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 Dialogerinnerungen konzentrieren. In unserem Kontext besteht eine Nachricht aus einem relativ kurzen Text (mehrere Nachrichten können in das Kontextfenster des LLM passen) sowie aus den zugehörigen Teilnehmern, die den Diskurs produziert haben.
Jede Nachricht enthält einen Referenzzeitstempel tref
Die Zeit der Nachricht wird durch die Uhrzeit angegeben, zu der die Nachricht gesendet wurde. Diese zeitliche Information ermöglicht 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ärts-Traversierung 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 = 4 werden 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 als Vorbereitung für die 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 Gespräche entwickeln, und gleichzeitig den aktuellen Status der Beziehung und eine Historie der Beziehungen zu erhalten, die sich im Laufe der Zeit entwickelt haben.
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 Communities weichen allmählich von denen ab, die durch den vollständigen Label-Propagationslauf erzeugt wurden. Daher ist eine regelmäßige Aktualisierung der Gemeinschaften nach wie vor 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→S
die eine Text-String-Abfrage α ∈ S akzeptiert als Eingabe und liefert einen Textstring-Kontext β ∈ S als Ausgang. Die Ausgabe β enthält formatierte Daten von Knoten und Kanten, die von LLM-Intelligenzen auf Abfragen α erzeugt werden die für die exakte 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 Graphtypen 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 tvalid Tinvalid. Feld; für jedes ni ∈ Ns das die Felder Name und Zusammenfassung zurückgibt; und für jedes ni ∈ Nc gibt 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:
事实和实体 代表与当前对话相关的上下文。 这些是最相关的事实及其有效日期范围。 如果该事实是关于一个事件,那么该事件发生在此期间。 格式:事实(日期范围:从 - 到) <事实> {事实} </事实> 这些是最相关的实体 实体名称:实体摘要 <实体> {实体} </实体>
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 Es suchen wir nach Faktenfeldern; für Ns Suche nach Entitätsnamen; für Nc sucht 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 wenig Beachtung gefunden, 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 Funktion 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]. Zusätzlich 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, um häufig zitierte Informationen leichter zugänglich zu machen. Das System enthält auch einen Knotenabstands-Reorderer, der die Ergebnisse auf der Grundlage ihres Abstands zu 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 dialogue" [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 erkunden, 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 Antworten der Intelligenz mit den korrekten Antworten. 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 Basis für die 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] gegeben, 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 zeigt, dass die Auswahl begrenzt ist. Den vorhandenen Benchmark-Tests mangelt es oft an Robustheit und Raffinesse, und sie beschränken sich oft auf einfache Aufgaben zur Suche nach Fakten [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
{当前_消息} </当前消息> 根据以上对话,从“当前消息”中提取明确或隐含提及的实体节点: 准则: 1.始终提取说话者/演员作为第一个节点。说话者是每行对话中冒号前的部分。 2.提取“当前消息”中提及的其他重要实体、概念或演员。 3.不要为关系或动作创建节点。 4.不要为时间信息(如日期、时间或年份)创建节点(这些将在稍后添加到边缘)。 5.在节点命名时尽可能明确,使用全名。 6.不要仅提取提及的实体
6.1.2 Auflösung von Entitäten
<之前的消息> {之前的消息} </之前的消息> <当前消息> {当前消息} </当前消息> <现有节点> {现有节点} </现有节点> 给定上述的现有节点、消息和之前的消息。确定从对话中提取的新节点是否是现有节点中的重复实体。 <新节点> {新节点} </新节点> 任务: 1. 如果新节点与现有节点中的任何节点表示相同的实体,则在响应中返回“is_duplicate: true”。否则,返回“is_duplicate: false”。 2. 如果 is_duplicate 为 true,则在响应中同时返回现有节点的 uuid。 3. 如果 is_duplicate 为 true,则返回节点的最完整的全名。 指南: 1. 使用节点的名称和摘要来确定实体是否重复,重复节点可能具有不同的名称。
6.1.3 Faktenextraktion
<之前的消息> {之前的消息} </之前的消息> <当前消息> {当前消息} </当前消息> <实体> {实体} </实体> 给定上述消息和实体,从当前消息中提取所有与列出的实体相关的要素。 指南: 1. 仅提取所提供的实体之间的事实。 2. 每个事实应表示两个不同节点之间的清晰关系。 3. relation_type 应该是对事实的简洁、全大写描述(例如,LOVES、IS_FRIENDS_WITH、 WORKS_FOR)。 4. 提供包含所有相关信息的更详细的事实。 5. 考虑关系的时间方面(如果相关)。
6.1.4 Sachliche Analyse
给定以下上下文,判断 "新边" 是否表示 "现有边" 列表中任何一条边所表达的相同信息。 <现有边> {existing_edges} </现有边> <新边> {new_edge} </新边> 任务: 如果 "新边" 表示与 "现有边" 中任何一条边相同的事实信息,则在响应中返回 'is_duplicate: true'。 否则,返回 'is_duplicate: false'。 如果 is_duplicate 为 true,则还在响应中返回现有边的 uuid。 指南: 事实信息不需要完全相同才能判定为重复,它们只需要表达相同的信息即可。
6.1.5 Zeitliche Extraktion
<先前消息> {先前的消息} </先前消息> <当前消息> {当前消息} </当前消息> <参考时间戳> {参考时间戳} </参考时间戳> <事实> {事实} </事实> 重要提示:仅在提供的事实中包含时间信息时才提取时间信息,否则忽略提及的时间。 如果仅提到了相对时间(例如“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)。