LangChain / RAG / vektordatabaser · Lektion

Minne och tillstånd i agentisk RAG

Ge din RAG-agent korttids- och långtidsminne så att den kan hålla samtal och återkalla fakta mellan turer.

Lektion 4 av 413 steg

Minne och tillstånd i agentisk RAG är en gratis lektion i LangChain / RAG / vektordatabaser på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för LangChain / RAG / vektordatabaser, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i LangChain / RAG / vektordatabaser innehåller totalt 4 lektioner.

Varför agenter behöver minne

En tillståndslös agent glömmer allt efter varje anrop. Minne gör att en agent kan följa konversationen, komma ihåg användarens inställningar och undvika att göra om hämtningar.

Korttidsminne kontra långtidsminne

Korttidsminnet innehåller den aktuella konversationen i kontextfönstret. Långtidsminnet bevarar fakta mellan sessioner, ofta i en vektorlagring eller databas.

Konversationsbuffert

Det enklaste minnet behåller hela meddelandehistoriken och spelar upp den vid varje tur, så att modellen har fullständig kontext.

history = []

def chat(user_msg):
    history.append({"role": "user", "content": user_msg})
    reply = llm.invoke(history)
    history.append({"role": "assistant", "content": reply})
    return reply

Gränsen för kontextfönstret

Att spela upp hela historiken leder till slut till att modellens kontext blir full. Du måste sammanfatta eller korta ned äldre turer för att hålla dig inom tokenbudgeten.

Sammanfattningsminne

Komprimera regelbundet äldre turer till en löpande sammanfattning och behåll de senaste turerna ordagrant. På så sätt bevaras kärnan samtidigt som token frigörs.

if len(history) > 20:
    summary = llm.invoke("Summarize: " + str(history[:-6]))
    history[:] = [{"role": "system", "content": summary}] + history[-6:]

Långtidsminne via vektorer

Lagra beständiga fakta som embeddings. Vid varje tur hämtar du relevanta minnen utifrån likhet och infogar dem, precis som vid RAG över en kunskapsbas.

memory_store.add_texts(["User prefers metric units"])
relevant = memory_store.similarity_search(user_msg, k=3)

Välj vad som ska kommas ihåg

Lagra inte allt. Extrahera beständiga, återanvändbara fakta, som inställningar, beslut och entiteter, och hoppa över tillfälligt småprat för att hålla långtidsminnet rent.

Tillstånd bortom chatten

Agenter håller också reda på icke-konversationellt tillstånd: vilka verktyg som kördes, mellanresultat och ett anteckningsblock med de resonemangssteg som användes för att planera nästa åtgärd.

Tråd- och sessionsnycklar

I system med flera användare ska du avgränsa minnet med ett thread_id eller user_id, så att konversationer aldrig läcker mellan personer.

def get_history(thread_id):
    return store.get(thread_id, [])

def save(thread_id, messages):
    store[thread_id] = messages

Beständighet

För att minnet ska överleva omstarter ska du använda en databas eller en checkpointer i stället för en ordlista i processen. LangGraph erbjuder checkpointers för just detta.

Sätt ihop allt

Kombinera en nedkortad konversationsbuffert för det senaste, sammanfattningsminne för det mellersta och vektorbaserat långtidsminne för beständiga fakta, allt kopplat till sessionen.

Snabbtest

Testa din förståelse av agentminne.

Sammanfattning

Du har lagt till minne i agenter:

  • Korttidsbuffert för den aktuella chatten
  • Sammanfattningsminne för att hålla sig inom kontextfönstret
  • Långtidsminne med vektorer för beständiga fakta
  • Avgränsa efter session och spara minnet beständigt
Gratis att börja

Lär dig LangChain / RAG / vektordatabaser med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Minne och tillstånd i agentisk RAG” gratis?

Ja – hela texten till ”Minne och tillstånd i agentisk RAG” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i LangChain / RAG / vektordatabaser, kan Ni uppgradera till CoddyKit PRO. Kursen i LangChain / RAG / vektordatabaser innehåller totalt 4 lektioner.

Vad lär jag mig i ”Minne och tillstånd i agentisk RAG”?

Ge din RAG-agent korttids- och långtidsminne så att den kan hålla samtal och återkalla fakta mellan turer. Ni övar på LangChain / RAG / vektordatabaser med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig LangChain / RAG / vektordatabaser?

Du behöver inga förkunskaper. Utbildningen i LangChain / RAG / vektordatabaser på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Minne och tillstånd i agentisk RAG”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här LangChain / RAG / vektordatabaser-lektionen?

Ja. Varje LangChain / RAG / vektordatabaser-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. LangChain-agenter och verktygskoncept
  2. Bygga RAG-arbetsflöden med flera agenter
  3. Integrera externa API:er som verktyg
  4. Minne och tillstånd i agentisk RAG
← Tillbaka till LangChain / RAG / vektordatabaser