Kaip naudoti pokalbių žinių grafiką „LangChain“?

Kaip Naudoti Pokalbiu Ziniu Grafika Langchain



„LangChain“ yra modulis, skirtas kurti kalbos modelius, kurie gali imituoti pokalbio formatą, kaip žmonės sąveikauja tarpusavyje. Vartotojas gali užduoti klausimus eilučių ar teksto forma natūraliomis kalbomis, o modelis ištrauks arba generuos informaciją vartotojui. Šie modeliai turi atmintį, todėl jie gali saugoti ankstesnius pranešimus, kad gautų pokalbio kontekstą.

Šiame vadove bus parodytas pokalbio žinių grafiko naudojimas „LangChain“.

Kaip naudoti pokalbių žinių grafiką „LangChain“?

The PokalbisKGAtmintis biblioteka gali būti naudojama norint atkurti atmintį, kurią galima naudoti norint gauti sąveikos kontekstą. Norėdami sužinoti, kaip naudoti pokalbių žinių diagramą „LangChain“, tiesiog atlikite šiuos veiksmus:







1 veiksmas: įdiekite modulius

Pirmiausia pradėkite nuo pokalbio žinių grafiko naudojimo proceso įdiegę LangChain modulį:



pip įdiegti langchain



Įdiekite OpenAI modulį, kurį galima įdiegti naudojant pip komandą, kad gautumėte jo bibliotekas didelių kalbų modeliams kurti:





pip install openai

Dabar sutvarkyti aplinką naudojant OpenAI API raktą, kurį galima sugeneruoti iš paskyros:



importuoti tu

importuoti gauti pasą

tu . maždaug [ „OPENAI_API_KEY“ ] = gauti pasą . gauti pasą ( 'OpenAI API raktas:' )

2 veiksmas: atminties naudojimas su LLM

Įdiegę modulius, pradėkite naudoti atmintį su LLM, importuodami reikalingas bibliotekas iš LangChain modulio:

langchain. atmintis importuoti PokalbisKGAtmintis

langchain. llms importuoti OpenAI

Sukurkite LLM naudodami OpenAI() metodą ir sukonfigūruokite atmintį naudodami PokalbisKGAtmintis () metodas. Po to išsaugokite raginimo šablonus naudodami kelis įvestis su atitinkamu atsakymu, kad modeliuotumėte pagal šiuos duomenis:

llm = OpenAI ( temperatūros = 0 )

atmintis = PokalbisKGAtmintis ( llm = llm )

atmintis. save_context ( { 'įvestis' : 'say to John' } , { 'išvestis' : 'Jonas! Kas' } )

atmintis. save_context ( { 'įvestis' : 'jis draugas' } , { 'išvestis' : 'tikrai' } )

Patikrinkite atmintį įkeldami atminties_kintamieji () metodas, naudojant užklausą, susijusią su aukščiau pateiktais duomenimis:

atmintis. apkrovos_atminties_kintamieji ( { 'įvestis' : 'kas yra jonas' } )

Sukonfigūruokite atmintį naudodami ConversationKGMemory() metodą su return_messages argumentas, norint gauti ir įvesties istoriją:

atmintis = PokalbisKGAtmintis ( llm = llm , return_messages = Tiesa )

atmintis. save_context ( { 'įvestis' : 'say to John' } , { 'išvestis' : 'Jonas! Kas' } )

atmintis. save_context ( { 'įvestis' : 'jis draugas' } , { 'išvestis' : 'tikrai' } )

Tiesiog patikrinkite atmintį, pateikdami įvesties argumentą su jo verte užklausos forma:

atmintis. apkrovos_atminties_kintamieji ( { 'įvestis' : 'kas yra jonas' } )

Dabar patikrinkite atmintį užduodami klausimą, kuris nepaminėtas treniruočių duomenyse, o modelis neturi supratimo apie atsakymą:

atmintis. get_current_entities ( 'Kokia mėgstamiausia jono spalva' )

Naudoti get_knowledge_triplets () metodas atsakant į anksčiau užduotą užklausą:

atmintis. get_knowledge_triplets ( 'Jo mėgstamiausia spalva yra raudona' )

3 veiksmas: Atminties naudojimas grandinėje

Kitas veiksmas naudoja pokalbių atmintį su grandinėmis, kad sukurtų LLM modelį naudojant OpenAI() metodą. Po to sukonfigūruokite raginimo šabloną naudodami pokalbio struktūrą ir tekstas bus rodomas, kai modelis gauna išvestį:

llm = OpenAI ( temperatūros = 0 )
langchain. raginimai . paraginti importuoti PromptTemplate
langchain. grandines importuoti Pokalbių grandinė

šabloną = '''Tai yra žmogaus ir mašinos sąveikos šablonas
Sistema yra AI modelis, galintis kalbėti arba išgauti informaciją apie kelis aspektus
Jei jis nesupranta klausimo arba neturi atsakymo, jis tiesiog taip sako
Sistema ištraukia duomenis, saugomus skiltyje „Konkretūs“, ir nekelia haliucinacijų

Konkretus:

{istorija}

Pokalbis:
Žmogus: {input}
AI: '''

#Konfigūruokite šabloną arba struktūrą, kad pateiktumėte raginimus ir gautumėte atsakymą iš AI sistemos
paraginti = PromptTemplate ( įvesties_kintamieji = [ 'istorija' , 'įvestis' ] , šabloną = šabloną )
pokalbis_su_kg = Pokalbių grandinė (
llm = llm , žodinis = Tiesa , paraginti = paraginti , atmintis = PokalbisKGAtmintis ( llm = llm )
)

Sukūrę modelį, tiesiog paskambinkite pokalbis_su_kg modelis naudojant prognozės() metodą su vartotojo užklausa:

pokalbis_su_kg. numatyti ( įvestis = 'Labas kas gero?' )

Dabar apmokykite modelį naudodami pokalbio atmintį, nurodydami informaciją kaip metodo įvesties argumentą:

pokalbis_su_kg. numatyti (

įvestis = „Mano vardas Jamesas ir aš padedu Vilui, jis yra inžinierius“

)

Atėjo laikas išbandyti modelį, paprašant užklausų išgauti informaciją iš duomenų:

pokalbis_su_kg. numatyti ( įvestis = 'Kas yra Will' )

Tai viskas apie pokalbio žinių grafiko naudojimą „LangChain“.

Išvada

Norėdami naudoti pokalbių žinių grafiką „LangChain“, įdiekite modulius arba sistemas, kad importuotumėte bibliotekas, skirtas naudoti ConversationKGMemory() metodą. Po to sukurkite modelį naudodami atmintį, kad sukurtumėte grandines ir ištrauktumėte informaciją iš konfigūracijoje pateiktų mokymo duomenų. Šiame vadove išsamiai aprašomas pokalbio žinių grafiko naudojimo LangChain procesas.