Paano Gamitin ang Graph ng Kaalaman sa Pag-uusap sa LangChain?

Paano Gamitin Ang Graph Ng Kaalaman Sa Pag Uusap Sa Langchain



Ang LangChain ay ang module upang lumikha ng mga modelo ng wika na maaaring gayahin ang format ng pakikipag-usap tulad ng pakikipag-ugnayan ng mga tao sa isa't isa. Ang gumagamit ay maaaring magtanong sa anyo ng mga string o teksto sa natural na mga wika at ang modelo ay kukuha o bubuo ng impormasyon para sa gumagamit. Ang mga modelong ito ay may naka-attach na memorya sa kanila upang makapag-imbak sila ng mga nakaraang mensahe upang makuha ang konteksto ng pag-uusap.

Ipapakita ng gabay na ito ang proseso ng paggamit ng graph ng kaalaman sa pag-uusap sa LangChain.

Paano Gamitin ang Graph ng Kaalaman sa Pag-uusap sa LangChain?

Ang Pag-uusapKGMemory ang aklatan ay maaaring gamitin upang muling likhain ang memorya na maaaring magamit upang makuha ang konteksto ng pakikipag-ugnayan. Upang matutunan ang proseso ng paggamit ng graph ng kaalaman sa pag-uusap sa LangChain, dumaan lang sa mga nakalistang hakbang:







Hakbang 1: I-install ang Mga Module

Una, magsimula sa proseso ng paggamit ng graph ng kaalaman sa pag-uusap sa pamamagitan ng pag-install ng module ng LangChain:



pip install langchain



I-install ang OpenAI module na maaaring i-install gamit ang pip command para makuha ang mga library nito para sa pagbuo ng Mga Malaking Modelo ng Wika:





pip install openai

ngayon, itakda ang kapaligiran gamit ang OpenAI API key na maaaring mabuo mula sa account nito:



angkat ikaw

angkat getpass

ikaw . humigit-kumulang [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )

Hakbang 2: Paggamit ng Memorya Sa mga LLM

Kapag na-install na ang mga module, simulan ang paggamit ng memory sa LLM sa pamamagitan ng pag-import ng mga kinakailangang library mula sa module ng LangChain:

mula sa langchain. alaala angkat Pag-uusapKGMemory

mula sa langchain. llms angkat OpenAI

Buuin ang LLM gamit ang OpenAI() na paraan at i-configure ang memorya gamit ang Pag-uusapKGMemory () paraan. Pagkatapos nito, i-save ang mga prompt na template gamit ang maraming input na may kani-kanilang tugon upang sanayin ang modelo sa data na ito:

llm = OpenAI ( temperatura = 0 )

alaala = Pag-uusapKGMemory ( llm = llm )

alaala. save_context ( { 'input' : 'mag hi kay john' } , { 'output' : 'john! Sino' } )

alaala. save_context ( { 'input' : 'siya ay isang kaibigan' } , { 'output' : 'sige' } )

Subukan ang memorya sa pamamagitan ng paglo-load ng memory_variables () na pamamaraan gamit ang query na nauugnay sa data sa itaas:

alaala. load_memory_variables ( { 'input' : 'sino si john' } )

I-configure ang memorya gamit ang ConversationKGMemory() method na may return_messages argumento upang makuha din ang kasaysayan ng input:

alaala = Pag-uusapKGMemory ( llm = llm , return_messages = totoo )

alaala. save_context ( { 'input' : 'mag hi kay john' } , { 'output' : 'john! Sino' } )

alaala. save_context ( { 'input' : 'siya ay isang kaibigan' } , { 'output' : 'sige' } )

Subukan lamang ang memorya sa pamamagitan ng pagbibigay ng input argument na may halaga nito sa anyo ng isang query:

alaala. load_memory_variables ( { 'input' : 'sino si john' } )

Ngayon, subukan ang memorya sa pamamagitan ng pagtatanong ng tanong na hindi nabanggit sa data ng pagsasanay, at ang modelo ay walang ideya tungkol sa tugon:

alaala. get_current_entities ( 'ano ang paboritong kulay ni john' )

Gamitin ang makakuha_kaalaman_triplets () paraan sa pamamagitan ng pagtugon sa query na tinanong dati:

alaala. makakuha_kaalaman_triplets ( 'Ang kanyang paboritong kulay ay pula' )

Hakbang 3: Paggamit ng Memory in Chain

Ang susunod na hakbang ay gumagamit ng memorya ng pag-uusap kasama ang mga kadena upang buuin ang modelo ng LLM gamit ang pamamaraang OpenAI(). Pagkatapos nito, i-configure ang prompt na template gamit ang istraktura ng pag-uusap at ang teksto ay ipapakita habang kinukuha ang output ng modelo:

llm = OpenAI ( temperatura = 0 )
mula sa langchain. mga senyales . prompt angkat PromptTemplate
mula sa langchain. mga tanikala angkat ConversationChain

template = '''Ito ang template para sa pakikipag-ugnayan ng tao at makina
Ang system ay isang modelo ng AI na maaaring magsalita o kumuha ng impormasyon tungkol sa maraming aspeto
Kung hindi nito naiintindihan ang tanong o may sagot, sinasabi lang nito
Ang system ay nag-extract ng data na nakaimbak sa seksyong 'Specific' at hindi nagha-hallucinate

Tukoy:

{kasaysayan}

pag-uusap:
Tao: {input}
AI:'''

#I-configure ang template o istraktura para sa pagbibigay ng mga prompt at pagkuha ng tugon mula sa AI system
prompt = PromptTemplate ( input_variables = [ 'kasaysayan' , 'input' ] , template = template )
pakikipag-usap_sa_kg = ConversationChain (
llm = llm , verbose = totoo , prompt = prompt , alaala = Pag-uusapKGMemory ( llm = llm )
)

Kapag nalikha na ang modelo, tawagan lang ang pakikipag-usap_sa_kg modelo gamit ang predict() method na may query na tinanong ng user:

pakikipag-usap_sa_kg. hulaan ( input = 'Kamusta ka?' )

Ngayon, sanayin ang modelo gamit ang memorya ng pag-uusap sa pamamagitan ng pagbibigay ng impormasyon bilang input argument para sa pamamaraan:

pakikipag-usap_sa_kg. hulaan (

input = 'My name is James and I'm helping Will, He's an engineer'

)

Narito ang oras upang subukan ang modelo sa pamamagitan ng pagtatanong sa mga query na kumuha ng impormasyon mula sa data:

pakikipag-usap_sa_kg. hulaan ( input = 'Sino si Will' )

Iyon ay tungkol sa paggamit ng graph ng kaalaman sa pag-uusap sa LangChain.

Konklusyon

Para magamit ang graph ng kaalaman sa pag-uusap sa LangChain, i-install ang mga module o frameworks para mag-import ng mga library para sa paggamit ng ConversationKGMemory() method. Pagkatapos nito, buuin ang modelo gamit ang memorya para buuin ang mga chain at kunin ang impormasyon mula sa data ng pagsasanay na ibinigay sa configuration. Ang gabay na ito ay nagpapaliwanag sa proseso ng paggamit ng graph ng kaalaman sa pag-uusap sa LangChain.