Hvordan bruke samtalekunnskapsgraf i LangChain?

Hvordan Bruke Samtalekunnskapsgraf I Langchain



LangChain er modulen for å lage språkmodeller som kan imitere samtaleformatet slik at mennesker samhandler med hverandre. Brukeren kan stille spørsmål i form av strenger eller tekst på naturlige språk og modellen vil trekke ut eller generere informasjon for brukeren. Disse modellene har minne knyttet til seg slik at de kan lagre tidligere meldinger for å få konteksten til samtalen.

Denne veiledningen vil illustrere prosessen med å bruke samtalekunnskapsgrafen i LangChain.

Hvordan bruke samtalekunnskapsgraf i LangChain?

De SamtaleKGMinne bibliotek kan brukes til å gjenskape minnet som kan brukes til å få konteksten til interaksjonen. For å lære prosessen med å bruke samtalekunnskapsgrafen i LangChain, gå ganske enkelt gjennom de oppførte trinnene:







Trinn 1: Installer moduler

Først, kom i gang med prosessen med å bruke samtalekunnskapsgrafen ved å installere LangChain-modulen:



pip installer langkjede



Installer OpenAI-modulen som kan installeres ved å bruke pip-kommandoen for å få bibliotekene for å bygge store språkmodeller:





pip installer openai

Nå, sette opp miljøet ved å bruke OpenAI API-nøkkelen som kan genereres fra kontoen:



import du

import få pass

du . omtrent [ 'OPENAI_API_KEY' ] = få pass . få pass ( 'OpenAI API Key:' )

Trinn 2: Bruk av minne med LLM-er

Når modulene er installert, begynn å bruke minnet med LLM ved å importere de nødvendige bibliotekene fra LangChain-modulen:

fra langkjede. hukommelse import SamtaleKGMinne

fra langkjede. llms import OpenAI

Bygg LLM ved å bruke OpenAI()-metoden og konfigurer minnet ved å bruke SamtaleKGMinne () metode. Deretter lagrer du ledetekstmalene ved å bruke flere innganger med deres respektive svar for å trene modellen på disse dataene:

llm = OpenAI ( temperatur = 0 )

hukommelse = SamtaleKGMinne ( llm = llm )

hukommelse. lagre_kontekst ( { 'inngang' : 'si hei til john' } , { 'produksjon' : 'John! Hvem' } )

hukommelse. lagre_kontekst ( { 'inngang' : 'han er en venn' } , { 'produksjon' : 'sikker' } )

Test minnet ved å laste inn minne_variabler () metode som bruker spørringen relatert til dataene ovenfor:

hukommelse. load_memory_variables ( { 'inngang' : 'hvem er john' } )

Konfigurer minnet ved å bruke ConversationKGMemory()-metoden med return_messages argument for å få historien til innspillet også:

hukommelse = SamtaleKGMinne ( llm = llm , return_messages = ekte )

hukommelse. lagre_kontekst ( { 'inngang' : 'si hei til john' } , { 'produksjon' : 'John! Hvem' } )

hukommelse. lagre_kontekst ( { 'inngang' : 'han er en venn' } , { 'produksjon' : 'sikker' } )

Bare test minnet ved å gi inngangsargumentet sin verdi i form av en spørring:

hukommelse. load_memory_variables ( { 'inngang' : 'hvem er john' } )

Test nå minnet ved å stille spørsmålet som ikke er nevnt i treningsdataene, og modellen har ingen anelse om svaret:

hukommelse. get_current_entities ( 'hva er favorittfargen til john' )

Bruke get_knowledge_triplets ()-metoden ved å svare på spørringen som ble spurt tidligere:

hukommelse. get_knowledge_triplets ( 'favorittfargen hans er rød' )

Trinn 3: Bruk minne i kjede

Det neste trinnet bruker samtaleminnet med kjedene til å bygge LLM-modellen ved å bruke OpenAI()-metoden. Deretter konfigurerer du ledetekstmalen ved å bruke samtalestrukturen, og teksten vil vises mens du får utdata fra modellen:

llm = OpenAI ( temperatur = 0 )
fra langkjede. spør . ledetekst import PromptTemplate
fra langkjede. kjeder import Samtalekjede

mal = '''Dette er malen for samspillet mellom mennesker og maskiner
Systemet er en AI-modell som kan snakke eller trekke ut informasjon om flere aspekter
Hvis den ikke forstår spørsmålet eller har svaret, sier den bare det
Systemet trekker ut data som er lagret i 'Spesifikk'-delen og hallusinerer ikke

Spesifikk:

{historie}

Samtale:
Menneske: {input}
AI:'''

#Konfigurer malen eller strukturen for å gi meldinger og få svar fra AI-systemet
ledetekst = PromptTemplate ( input_variables = [ 'historie' , 'inngang' ] , mal = mal )
samtale_med_kg = Samtalekjede (
llm = llm , ordrik = ekte , ledetekst = ledetekst , hukommelse = SamtaleKGMinne ( llm = llm )
)

Når modellen er opprettet, ringer du bare samtale_med_kg modell ved å bruke predict()-metoden med spørringen spurt av brukeren:

samtale_med_kg. forutsi ( input = 'Hei, hva skjer?' )

Tren nå modellen ved å bruke samtaleminne ved å gi informasjonen som input-argument for metoden:

samtale_med_kg. forutsi (

input = 'Jeg heter James og jeg hjelper Will, han er ingeniør'

)

Her er tiden for å teste modellen ved å be spørringene om å trekke ut informasjon fra dataene:

samtale_med_kg. forutsi ( input = 'Hvem er Will' )

Det handler om å bruke samtalekunnskapsgrafen i LangChain.

Konklusjon

For å bruke samtalekunnskapsgrafen i LangChain, installer modulene eller rammeverkene for å importere biblioteker for bruk av ConversationKGMemory()-metoden. Deretter bygger du modellen ved å bruke minnet til å bygge kjedene og trekke ut informasjon fra treningsdataene som er gitt i konfigurasjonen. Denne veiledningen har utdypet prosessen med å bruke samtalekunnskapsgrafen i LangChain.