Š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:
iš langchain. atmintis importuoti PokalbisKGAtmintisiš 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 )iš langchain. raginimai . paraginti importuoti PromptTemplate
iš 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.