Stellen Sie sich vor, Sie chatten mit einem virtuellen Assistenten, der sich nicht nur an Ihre letzte Frage, sondern an den gesamten Verlauf Ihres Gesprächs erinnert – persönliche Daten, Vorlieben und sogar Folgefragen. Dieses Gedächtnis verwandelt Chatbots von einfachen Frage-und-Antwort-Maschinen in anspruchsvolle Gesprächspartner, die in der Lage sind, komplexe Themen über mehrere Interaktionen hinweg zu behandeln. In diesem Artikel tauchen wir in die faszinierende Welt des Konversationsgedächtnisses ein Retrieval-Augmented Era (RAG)-Systeme und erforscht die Techniken, die es Chatbots ermöglichen, den Kontext beizubehalten, Antworten zu personalisieren und mehrstufige Abfragen nahtlos zu verwalten. Sie erfahren mehr über verschiedene Gedächtnisstrategien, ihre Vorteile und Grenzen und können diese sogar praktisch anwenden Python Und LangChain um zu sehen, wie diese Konzepte in Echtzeit funktionieren.

Lernziele

  • Verstehen Sie die Bedeutung des Konversationsgedächtnisses in RAG-Systemen (Retrieval-Augmented Era).
  • Erfahren Sie mehr über verschiedene Arten von Konversationsspeichertechniken in LangChain, einschließlich Konversationspufferspeicher⁠, Konversationszusammenfassungsspeicher, Konversationspufferfensterspeicher⁠, Konversationszusammenfassungspufferspeicher⁠, Konversations-Data-Graph-Speicher, Entitätsspeicher⁠⁠.
  • Verstehen Sie die Vor- und Nachteile jeder Gedächtnistechnik.
  • Erfahren Sie, wie Sie diese Speichertechniken mithilfe von Python und LangChain implementieren.

Dieser Artikel wurde im Rahmen der veröffentlicht Knowledge Science-Blogathon.

Bedeutung des Konversationsgedächtnisses in Chatbots

Das Konversationsgedächtnis ist bei Chatbots und Konversationsagenten von entscheidender Bedeutung, da es dem System ermöglicht, den Kontext über längere Interaktionen hinweg aufrechtzuerhalten und so Antworten relevanter und personalisierter zu gestalten. In Chatbot-basierten Anwendungen, insbesondere wenn sich die Konversation über komplexe Themen oder mehrere Abfragen erstreckt, hilft der Speicher durch:

  • Kontext beibehalten: Durch den Speicher kann sich das Modell frühere Eingaben merken, wodurch wiederholte Fragen reduziert werden und reibungslose, kontextbezogene Antworten über mehrere Runden hinweg ermöglicht werden.
  • Relevanz verbessern: Durch die Speicherung spezifischer Particulars früherer Interaktionen, wie z. B. Präferenzen oder wichtige Particulars, kann das System relevantere Informationen abrufen und generieren und so die Genauigkeit erhöhen.
  • Verbesserung der Personalisierung: Eine Erinnerung an frühere Austausche ermöglicht es Chatbot-Modellen, Antworten basierend auf früheren Präferenzen oder Entscheidungen anzupassen und so das Engagement und die Zufriedenheit der Benutzer zu verbessern.
  • Umgang mit mehrstufigen Abfragen: Komplexe, mehrstufige Anfragen, die Informationen aus mehreren Quellen oder Dokumenten erfordern, profitieren vom Gedächtnis, da es dem Modell ermöglicht, Zwischenantworten „zu speichern“ und logisch darauf aufzubauen.
  • Redundanz reduzieren: Der Speicher reduziert unnötige Wiederholungen, indem er das erneute Abrufen oder erneute Verarbeiten bereits besprochener Themen vermeidet, was zu einem reibungsloseren Benutzererlebnis führt.

Konversationsgedächtnis mit Langchain

Es gibt mehrere Möglichkeiten, das Konversationsgedächtnis in die Retrieval-Augmented-Generierung einzubeziehen. In LangChain können alle diese Techniken über ConversationChain ausgeführt werden.

Konversationsgedächtnis mit Langchain

Implementierung von Conversational Reminiscence mit Python und LangChain

Wir werden uns mit der Implementierung des Konversationsgedächtnisses mithilfe von Python und LangChain befassen und wesentliche Komponenten einrichten, die es Chatbots ermöglichen, sich an frühere Austausche zu erinnern und darauf zurückzugreifen. Wir decken alles ab, von der Erstellung von Speichertypen bis hin zur Verbesserung der Antwortrelevanz, sodass Sie Chatbots erstellen können, die längere, kontextreiche Gespräche reibungslos abwickeln.

Installieren und Importieren der erforderlichen Bibliotheken

Zunächst installieren und importieren wir die erforderlichen Bibliotheken zum Aufbau eines Konversationsspeichers mit Python und LangChain. Dieses Setup stellt die erforderlichen Instruments bereit, um Speicherfunktionen effektiv zu implementieren und zu testen.

!pip -q set up openai langchain huggingface_hub transformers
!pip set up langchain_community
!pip set up langchain_openai

from langchain_openai import ChatOpenAI
from langchain.chains import ConversationChain
from langchain.reminiscence import ConversationBufferMemory
import os

os.environ('OPENAI_API_KEY') = ''

Konversationspufferspeicher: Speichern des vollständigen Interaktionsverlaufs

Wir werden untersuchen, wie man den Dialog Buffer Reminiscence implementiert, der den gesamten Interaktionsverlauf zwischen dem Benutzer und dem System speichert. Dieser Speichertyp trägt dazu bei, alle vorherigen Austausche beizubehalten und sicherzustellen, dass der Chatbot den Kontext während der gesamten Konversation beibehalten kann, obwohl dies zu einer höheren Token-Nutzung führen kann. Wir gehen durch den Einrichtungsprozess und erklären, wie es die Fähigkeit des Chatbots verbessert, relevanter zu reagieren.

#Defining the LLM
llm = ChatOpenAI(temperature=0, mannequin="gpt-4o", max_tokens=1000)

dialog = ConversationChain(
    llm=llm,
    verbose=True,
    reminiscence=ConversationBufferMemory()
)
dialog.predict(enter="Hello there! I'm in Miami At present with my fiancee and need to go for procuring.")dialog.predict(enter="How are you right this moment?")
dialog.predict(enter="Are you able to inform me some procuring malls?")
dialog.predict(enter="Are you able to inform me who I'm with in Miami?")#import csv 

Ausgabe:


> Coming into new ConversationChain chain... Immediate after formatting:
The next is a pleasant dialog between a human and an AI. The AI is
talkative and offers numerous particular particulars from its context. If the AI doesn't
know the reply to a query, it honestly says it doesn't know. Present
dialog:

Human: Hello there! I'm in Miami At present with my fiancee and need to go for procuring.
AI: Howdy! That appears like a enjoyable day forward. Miami is a improbable place for procuring
with a wide range of choices to discover. Should you're searching for Luxurious manufacturers and high-
finish vogue, you may need to take a look at the Bal Harbour Outlets. I Should you're
fascinated by a extra eclectic combine of outlets, the Miami Design District is a superb
selection. It provides a mix of vogue, artwork, and design with boutiques like Louis
Vuitton, Dior, and distinctive artwork galleries.

For a extra conventional mall expertise, you possibly can go to the Aventura Mall,
which is without doubt one of the largest malls within the U.S. It has a variety of shops from Zara and H&M
to Nordstrom and Bloomingdale's.
And for those who're searching for one thing extra budget-friendly, the Dolphin Mall is an
outlet mall with a wide range of shops providing reductions on in style manufacturers.
Regardless of the place you select to go, I am certain you may have a good time procuring in
Miami! Let me know for those who want extra info or have another questions. Human:
Are you able to inform me some procuring malls?
AI: In fact! Listed here are some in style procuring malls in Miami that you just may need to
take into account:
1. **Aventura Mall**: As I discussed earlier, this is without doubt one of the largest malls in
the U.S. It options over 300 shops, together with in style manufacturers like Apple, Zara, and
Bloomingdale's. It additionally has a wide range of eating choices and an imp 2. **Dolphin
Mall**: It is a nice possibility for outlet procuring, with over 240 shops providing
reductions on manufacturers like Nike, Calvin Klein, and Tommy Hilfiger. It additionally has a
vary of eating and leisure choices, together with a movi 3. **Bal Harbour
Outlets**: Identified for its luxurious procuring expertise, this open-air mall options
high-end manufacturers like Chanel, Gucci, and Prada. It is set in a gorgeous tropical
surroundings, making it a nice place to walk and store 4. **The Outlets at
Merrick Park**: Situated in Coral Gables, this upscale procuring middle provides a combination
of Luxurious and up to date manufacturers resembling Neiman Marcus, Nordstrom, and Tiffany &
Co. It additionally has a number of fantastic eating restaur 5. **Brickell Metropolis Centre**:
Located within the coronary heart of Miami's monetary district, this contemporary procuring middle
provides a mixture of high-end and up to date manufacturers, together with Saks Fifth Avenue,
AllSaints, and Sephora. It additionally includes a vi 6. **Lincoln Highway Mall**: Whereas not a
conventional mall, this pedestrian avenue in South Seashore is lined with outlets, cafes,
and eating places. It is an important place to benefit from the Miami climate whereas procuring at
shops like H&M, Anthropologie Every of those malls provides a singular procuring
expertise, so it is dependent upon what you are searching for. Take pleasure in your procuring journey
in Miami!
Human: Are you able to inform me who I'm with in Miami?
AI:
> Completed chain.
'You talked about earlier that you're in Miami along with your fiancée. I hope you each have
a beautiful time exploring town and having fun with your procuring journey! If there's
anything you'd prefer to know or another approach I can help you, be happy to
ask.

Lassen Sie uns mit dieser Funktion überprüfen, was im Puffer gespeichert ist.

print(dialog.reminiscence.buffer)

Ausgabe:

Human: Hello there! I'm in Miami At present with my fiancee and need to go for procuring.
AI: Howdy! That appears like a enjoyable day forward. Miami is a superb place for procuring
 with a wide range of choices to discover. Should you're searching for high-end vogue and 
luxurious manufacturers, you may need to take a look at Human: Are you able to inform me some procuring
 malls? AI: In fact! Listed here are some in style procuring malls in Miami that you just may
 need to go to:
1. **Aventura Mall**: As one of many largest malls in the USA, Aventura 
Mall provides an enormous number of shops, together with each high-end and extra reasonably priced
 manufacturers. You will discover all the pieces from Nords 2. **Dolphin Mall**: It is a good spot
 for outlet procuring, with a variety of shops providing reductions on in style 
manufacturers. It is a bit extra budget-friendly and contains shops like Nike, Calvin Klein,
 3. **Brickell Metropolis Centre**: Situated within the coronary heart of Miami's monetary district,
 this contemporary procuring middle options luxurious manufacturers like Saks Fifth Avenue, as nicely
 as a wide range of eating choices and a ciner 4. **The Falls**: That is an open-air
 procuring middle with a gorgeous setting, that includes a waterfall and tropical 
landscaping. It has a mixture of in style retailers like Macy's and specialty shops. 5.
 **Dadeland Mall**: Identified for its massive number of malls, together with
 Macy's, JCPenney, and Nordstrom, Dadeland Mall additionally provides a wide range of specialty
 outlets and eating choices.
Every of those malls provides a singular procuring expertise, so you'll be able to select primarily based on 
your preferences and what you are seeking to purchase. Take pleasure in your time in Miami!
Human: Are you able to inform me who I'm with in Miami?
AI: You talked about earlier that you're in Miami along with your fiancée. I hope you each 
have a beautiful time exploring town and having fun with your procuring journey! If 
there's anything you'd prefer to know

As we will see, conversational buffer reminiscence saves each interplay within the chat
 historical past immediately. Whereas storing all the pieces provides the LLM the utmost quantity of 
info, extra tokens imply slowing response occasions and better prices.

Konversationszusammenfassungsgedächtnis: Optimierung des Interaktionsverlaufs für mehr Effizienz

Mit ConversationBufferMemory verbrauchen wir sehr schnell viele Token und überschreiten sogar das Kontextfensterlimit selbst der fortschrittlichsten heute verfügbaren LLMs. Um eine übermäßige Token-Nutzung zu vermeiden, können wir ConversationSummaryMemory verwenden. Wie der Identify vermuten lässt, fasst diese Kind des Gedächtnisses den Gesprächsverlauf zusammen.

from langchain.chains.dialog.reminiscence import ConversationSummaryMemory
llm = ChatOpenAI(temperature=0, mannequin="gpt-4o", max_tokens=1000)

dialog = ConversationChain(
	llm=llm,
	reminiscence=ConversationSummaryMemory(llm=llm)
)
dialog.predict(enter="Hello there! I'm in Miami At present with my fiancee and need to go for procuring.")
dialog.predict(enter="Are you able to inform me some procuring malls?")
dialog.predict(enter="Are you able to inform me who I'm with in Miami?")

print(dialog.reminiscence.buffer)

Ausgabe:


The human is in Miami with their fiancée and needs to buy groceries. The AI suggests
a number of procuring locations in Miami, together with Bal Harbour Outlets for luxurious
manufacturers, the Miami Design District for a combination

Wir übergeben das LLM an die ConversationSummaryMemory-Funktion, da das LLM dabei hilft, die vorherigen Kontexte zusammenzufassen. Schauen wir uns die Eingabeaufforderung an, die an das LLM zur Zusammenfassung der historischen Kontexte übergeben wird.

print(dialog.reminiscence.immediate.template)

Ausgabe:


Human: Hello there! I'm in Miami At present with my fiancee and need to go for procuring.
AI: Howdy! That appears like a enjoyable day forward. Miami is a superb place for procuring
with a wide range of choices to discover. Should you're searching for high-end vogue and
luxurious manufacturers, you may need to take a look at Human: Are you able to inform me some procuring
malls? AI: In fact! Listed here are some in style procuring malls in Miami that you just may
need to go to:
1. **Aventura Mall**: As one of many largest malls in the USA, Aventura
Mall provides an enormous number of shops, together with each high-end and extra reasonably priced
manufacturers. You will discover all the pieces from Nords 2. **Dolphin Mall**: It is a good spot
for outlet procuring, with a variety of shops providing reductions on in style
manufacturers. It is a bit extra budget-friendly and contains shops like Nike, Calvin Klein,
3. **Brickell Metropolis Centre**: Situated within the coronary heart of Miami's monetary district, this contemporary procuring middle options luxurious manufacturers like Saks Fifth Avenue, as nicely
as a wide range of eating choices and a ciner 4. **The Falls**: That is an open-air
procuring middle with a gorgeous setting, that includes a waterfall and tropical
landscaping. It has a mixture of in style retailers like Macy's and specialty shops. 5.
**Dadeland Mall**: Identified for its massive number of malls, together with
Macy's, JCPenney, and Nordstrom, Dadeland Mall additionally provides a wide range of specialty
outlets and eating choices.
Every of those malls provides a singular procuring expertise, so you'll be able to select primarily based on
your preferences and what you are seeking to purchase. Take pleasure in your time in Miami!
Human: Are you able to inform me who I'm with in Miami?
AI: You talked about earlier that you're in Miami along with your fiancée. I hope you each
have a beautiful time exploring town and having fun with your procuring journey! If
there's anything you'd prefer to know

Progressively summarize the strains of dialog offered, including onto the earlier
abstract returning a brand new abstract.
EXAMPLE
Present abstract:
The human asks what the AI thinks of synthetic intelligence. The AI thinks
synthetic intelligence is a power for good.
New strains of dialog:
Human: Why do you assume synthetic intelligence is a power for good?
AI: As a result of synthetic intelligence will assist people attain their full potential.
New abstract:
The human asks what the AI thinks of synthetic intelligence. The AI thinks
synthetic intelligence is a power for good as a result of it'll assist people attain their
full potential. END OF EXAMPLE
Present abstract: {abstract}
New strains of dialog:
{new_lines}
New abstract:

Während der Vorteil der Verwendung von ConversationSummaryMemory darin besteht, dass die Anzahl der Token für lange Konversationen reduziert wird, besteht der Nachteil darin, dass der gesamte Speicher von der gespeicherten zusammengefassten Model der Konversation abhängt, deren Qualität wiederum von der Zusammenfassungsfähigkeit des verwendeten LLM abhängt.

Konversationspuffer-Fensterspeicher: Beibehaltung aktueller Interaktionen für kontextbezogenes Bewusstsein

Der Konversationspuffer-Fensterspeicher ähnelt dem Pufferspeicher, jedoch wird dem Speicher ein vordefiniertes Fenster hinzugefügt. Das bedeutet, dass wir das Modell nur auffordern, sich die n-Anzahl früherer Interaktionen zu merken, wodurch die Gesamtzahl der verwendeten Token im Vergleich zum ConversationBufferMemory reduziert wird.

from langchain.chains.dialog.reminiscence import ConversationBufferWindowMemory
llm = ChatOpenAI(temperature=0, mannequin="gpt-4o", max_tokens=1000)

dialog = ConversationChain(llm=llm,reminiscence=ConversationBufferWindowMemory(okay=3))

dialog.predict(enter="Hello there! I'm in Miami At present with my fiancee and need to go for procuring.")
dialog.predict(enter="Are you able to inform me some procuring malls?")
dialog.predict(enter="Are you able to inform me who I'm with in Miami?")

Ausgabe:


'You talked about earlier that you're in Miami along with your fiancée. I hope you each have
a improbable time exploring town and having fun with all of the procuring and sights
it has to supply! If there's something e lse you'd prefer to know or need assistance with,
be happy to ask."

Wie wir sehen können, kann sich das Modell, wenn „okay“ auf 3 gesetzt ist, an die letzten drei Gespräche erinnern und sich somit daran erinnern, dass die Individual mit ihrer Verlobten in Miami ist.

Wenn Sie möchten, dass sich unser Chatbot nur an eine Reihe aktueller Gespräche erinnert, ist die Wahl dieses Modells eine gute Wahl. Allerdings kann diese Choice dem Chatbot nicht dabei helfen, sich an sehr weit entfernte Interaktionen zu erinnern.

Konversationszusammenfassungspufferspeicher: Kombinieren aktueller Interaktionen mit zusammengefasstem Verlauf

Der ConversationSummaryBufferMemory ist eine Kombination aus ConversationSummaryMemory und ConversationBufferWindowMemory. Dieses Speichersystem speichert aktuelle Interaktionen in einem Puffer und kombiniert ältere zu einer Zusammenfassung, sodass beide für die Verwendung gespeichert bleiben. Anstatt ältere Interaktionen nur basierend auf ihrer Anzahl zu entfernen, werden sie jetzt basierend auf der Gesamtlänge des Tokens gelöscht.

from langchain.chains.dialog.reminiscence import ConversationSummaryBufferMemory
llm = ChatOpenAI(temperature=0, mannequin="gpt-4o", max_tokens=1000)

conversation_sum_bufw = ConversationChain(
    llm=llm, reminiscence=ConversationSummaryBufferMemory(
        llm=llm,
        max_token_limit=650
))

conversation_sum_bufw.predict(enter="Hello there! I'm in Miami At present with my fiancee and need to go for procuring.")
conversation_sum_bufw.predict(enter="Are you able to inform me some procuring malls?")
conversation_sum_bufw.predict(enter="Are you able to inform me who I'm with in Miami?")

Ausgabe:


'You're in Miami along with your fiancée. Should you want any extra info or
suggestions to your journey, be happy to ask!'

Schauen wir uns nun an, wie bei dieser Technik der Speicher im Puffer gespeichert wird.

print(conversation_sum_bufw.reminiscence.buffer)

Ausgabe:


System: The human is in Miami with their fiancée and needs to buy groceries. The AI
suggests a number of procuring locations, together with Bal Harbour Outlets, the Miami
Design District, Aventura Mall, and Wynwood. Human: Are you able to inform me who I'm with
in Miami? AI: You're in Miami along with your fiancée. Should you want any extra info
or suggestions to your journey, be happy to ask!

Wie wir in der obigen Ausgabe sehen können, enthält der Pufferspeicher eine Mischung aus Zusammenfassungen früherer entfernter Gespräche sowie tatsächlichen Interaktionen, die für neuere Gespräche gespeichert wurden.

Der ConversationSummaryBufferMemory erfordert zusätzliche Anpassungen, um zu entscheiden, was zusammengefasst und was im Puffer aufbewahrt werden soll. Er bietet jedoch große Flexibilität bei der Beibehaltung entfernter Interaktionen und behält gleichzeitig aktuelle Interaktionen in ihrer ursprünglichen, detailliertesten Kind bei.

Dialog Data Graph Reminiscence: Strukturierung von Informationen für einen erweiterten Kontext

Bei dieser Technik erstellt LangChain einen Mini-Wissensgraphen verbundener Informationen, indem es wichtige Entitäten und ihre Beziehungen identifiziert und so dem Modell hilft, verschiedene Situationen besser zu verstehen und darauf zu reagieren.

from langchain.chains.dialog.reminiscence import ConversationKGMemory
from langchain.prompts.immediate import PromptTemplate

llm = ChatOpenAI(temperature=0, mannequin="gpt-4", max_tokens=1000)
template = """The next is a pleasant dialog between a human and an AI. The AI is talkative and offers numerous particular particulars from its context. 
If the AI doesn't know the reply to a query, it honestly says it doesn't know. The AI ONLY makes use of info contained within the "Related Data" part and doesn't hallucinate.

Related Data:

{historical past}

Dialog:
Human: {enter}
AI:"""
immediate = PromptTemplate(
    input_variables=("historical past", "enter"), template=template
)

conversation_with_kg = ConversationChain(
    llm=llm, 
    verbose=True, 
    immediate=immediate,
    reminiscence=ConversationKGMemory(llm=llm)
)

conversation_with_kg.predict(enter="Howdy, My title is Myra")
conversation_with_kg.predict(enter="I'm in Miami and want some help in reserving lodges.")
conversation_with_kg.predict(enter="I want resort suggestions close to Miami Seashores")

Wie im obigen Code zu sehen ist, wird die ConversationChain-Funktion mit einer definierten Eingabeaufforderung übergeben, die den LLM auffordert, sich nur auf die relevanten Informationen für eine gestellte Abfrage zu konzentrieren und nicht zu halluzinieren.

import networkx as nx
import matplotlib.pyplot as plt
print(conversation_with_kg.reminiscence.kg.get_triples())

Ausgabe:


(('Myra', 'title', 'is'), ('Myra', 'Miami', 'is in'), ('Myra', 'reserving lodges',
'wants help in'), ('Human', 'resort suggestions close to Miami Seashores',
'want'))

Wie aus der obigen Ausgabe ersichtlich ist, werden im Speicher Schlüsselentitäten und ihre Beziehungen gespeichert. Daher können mit dieser Technik sehr einfach strukturierte Informationen extrahiert werden.

Entitätsspeicher: Erfassen wichtiger Particulars für personalisierte Antworten

Der Entitätsspeicher ruft wie der Data Graph-Speicher bestimmte Particulars aus Gesprächen ab, beispielsweise Namen, Objekte oder Orte. Diese gezielte Methode hilft dem Modell, genauer auf Benutzerfragen zu reagieren.

from langchain.chains.dialog.reminiscence import ConversationEntityMemory
from langchain.chains.dialog.immediate import ENTITY_MEMORY_CONVERSATION_TEMPLATE
## The propmpt
print(ENTITY_MEMORY_CONVERSATION_TEMPLATE.template)

Ausgabe:


'You're an assistant to a human, powered by a big language mannequin skilled by
OpenAI. nnYou are designed to have the ability to help with a variety of duties, from
answering easy inquiries to offering in-d epth explanations and discussions on a
wide selection of subjects. As a language mannequin, you'll be able to generate human-like textual content
primarily based on the enter you obtain, permitting you to interact in natural-sounding convers
ations and supply responses which might be coherent and related to the subject at hand.
nnYou are consistently studying and bettering, and your capabilities are consistently
evolving. You'll be able to course of and un derstand massive quantities of textual content, and may use
this data to offer correct and informative responses to a variety of
questions. You may have entry to some customized info offered by the human
within the Context part under. Moreover, you'll be able to generate your personal textual content
primarily based on the enter you obtain, permitting you to interact in discussions and supply
explanations an

Die obige Ausgabe zeigt die Eingabeaufforderung an das LLM. Sehen wir uns nun an, wie das ConversationEntityMemory unter Berücksichtigung der obigen Eingabeaufforderungsvorlage implementiert werden kann.

llm = ChatOpenAI(temperature=0, mannequin="gpt-4o", max_tokens=200)

dialog = ConversationChain(
    llm=llm, 
    verbose=True,
    immediate=ENTITY_MEMORY_CONVERSATION_TEMPLATE,
    reminiscence=ConversationEntityMemory(llm=llm)
)
dialog.predict(enter="Howdy, My title is Myra")
dialog.predict(enter="I'm in Miami and want some help in reserving lodges.")
dialog.predict(enter="I want resort suggestions close to Miami Seashores")

from pprint import pprint
pprint(dialog.reminiscence.entity_store)

Ausgabe:


InMemoryEntityStore (retailer={"Myra': "Myra's title is Myra.", 'Miami': 'Miami is a
metropolis the place Myra is presently situated and is in search of help in reserving lodges.',
'Miami Seashores': 'Miami Seashores is a popul

Wie aus der obigen Ausgabe hervorgeht, werden alle relevanten Entitäten identifiziert und mit den zugehörigen Particulars versehen, z. B. „‚Miami ist eine Stadt, in der sich Myra derzeit befindet und die Hilfe bei der Buchung von Motels benötigt.“ ist der Entität „Miami“ zugeordnet.

Abschluss

In Retrieval-Augmented Era (RAG)-Systemen ist das Konversationsgedächtnis von entscheidender Bedeutung für die Aufrechterhaltung des Kontexts und die Verbesserung der Relevanz. Es hilft auch bei der Personalisierung von Antworten und der Bearbeitung mehrstufiger Anfragen. Im Gegensatz zu naivem RAG, das jede Abfrage unabhängig verarbeitet, baut das Konversationsgedächtnis ein kontinuierliches Erlebnis auf. Techniken wie der Dialog Buffer Reminiscence speichern vollständige Interaktionsverläufe, können jedoch die Token-Nutzung erhöhen. Andererseits reduziert der Dialog Abstract Reminiscence die Token-Nutzung, indem er vergangene Interaktionen zusammenfasst.

Der Konversationspuffer-Fensterspeicher speichert nur eine bestimmte Anzahl der letzten Gespräche, und der Konversationszusammenfassungspufferspeicher kombiniert aktuelle Konversationen mit Zusammenfassungen älterer Konversationen und sorgt so für ein ausgewogenes Verhältnis zwischen Kontext und Effizienz. Fortgeschrittenere Methoden wie Dialog Data Graph Reminiscence strukturieren Informationen als miteinander verbundene Einheiten, während Entity Reminiscence spezifische Particulars wie Namen oder Orte für präzise Antworten erfasst. Zusammen ermöglichen diese Techniken RAG-Systemen, kontextreiche und adaptive Interaktionen anzubieten, die auf die Bedürfnisse der Benutzer zugeschnitten sind.

Wichtige Erkenntnisse

  • Das Konversationsgedächtnis ermöglicht es RAG-Systemen, den Kontext aufrechtzuerhalten und so den Fluss und die Relevanz von Interaktionen zu verbessern.
  • Der Konversationspufferspeicher speichert vollständige Chatverläufe und ist nützlich, kann jedoch die Token-Kosten erhöhen.
  • Der Konversationszusammenfassungsspeicher reduziert die Token-Nutzung, indem er vergangene Interaktionen effektiv zusammenfasst.
  • Hybridtechniken wie der Dialog Abstract Buffer Reminiscence optimieren den Speicher durch die Kombination aktueller Particulars und des zusammengefassten Verlaufs.
  • Fortschrittliche Gedächtnistechniken wie Data Graph und Entity Reminiscence verbessern die Genauigkeit durch Strukturierung und gezielte Ausrichtung auf Schlüsselinformationen.

Häufig gestellte Fragen

Q1. Was ist Konversationsgedächtnis in RAG-Systemen?

A. Das Konversationsgedächtnis hilft RAG-Systemen, sich an vergangene Interaktionen zu erinnern, wodurch Antworten relevanter und kontextbewusster werden.

Q2. Warum ist das Gedächtnis bei Chatbots wichtig?

A. Das Gedächtnis verbessert die Kontinuität, Personalisierung und Relevanz in Chatbot-Gesprächen, insbesondere bei mehrstufigen oder komplexen Interaktionen.

Q3. Was ist der Unterschied zwischen Konversationspufferspeicher und Zusammenfassungsspeicher?

A. Der Konversationspufferspeicher speichert alle Interaktionen, während der Zusammenfassungsspeicher vergangene Konversationen komprimiert, um die Token-Nutzung zu sparen.

This autumn. Wie funktioniert das Dialog Data Graph Reminiscence?

A. Es wird ein Mini-Wissensdiagramm der wichtigsten Entitäten und ihrer Beziehungen erstellt, das dem Chatbot hilft, komplexe Anfragen besser zu verstehen.

F5. Welche Gedächtnistechnik eignet sich am besten für lange Gespräche?

A. Der Konversationszusammenfassungspufferspeicher ist very best, da er aktuelle Interaktionen mit Zusammenfassungen älterer Interaktionen kombiniert, um eine effiziente Kontexterhaltung zu gewährleisten.

Die in diesem Artikel gezeigten Medien sind nicht Eigentum von Analytics Vidhya und werden nach Ermessen des Autors verwendet.

Nibedita schloss 2014 ihren Grasp in Chemieingenieurwesen am IIT Kharagpur ab und arbeitet derzeit als Senior Knowledge Scientist. In ihrer aktuellen Funktion arbeitet sie an der Entwicklung intelligenter ML-basierter Lösungen zur Verbesserung von Geschäftsprozessen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert