Kā pievienot atmiņu ķēdei ar vairākām ieejām LangChain?

Ka Pievienot Atminu Kedei Ar Vairakam Ieejam Langchain



Tērzēšanas robotus un lielos valodu modeļus izmanto miljoniem visā pasaulē, un šie modeļi var ģenerēt tekstu pēc komandas. LangChain ir viens no efektīvākajiem un efektīvākajiem ietvariem, kas ļauj izstrādātājiem izveidot šādus modeļus un robotprogrammatūras. Lietotājs sniedz uzvednes vai vaicājumus kā ievadi, un modelis saprot komandu, pirms tiek ģenerēts teksts, kas šķiet visvairāk saistīts vai patīk komandai.

Šī rokasgrāmata ilustrēs atmiņas pievienošanas procesu ķēdei ar vairākām ievadēm programmā LangChain.

Kā pievienot atmiņu ķēdei ar vairākām ieejām LangChain?

Atmiņu var pievienot LLM vai tērzēšanas robotiem, lai saglabātu jaunākos ziņojumus vai datus, lai modelis varētu saprast komandas kontekstu. Lai uzzinātu, kā pievienot atmiņu ķēdei ar vairākām ievadēm programmā LangChain, vienkārši veiciet tālāk norādītās darbības.







1. darbība: instalējiet moduļus

Vispirms instalējiet LangChain ietvaru, jo tai ir dažādas atkarības, lai izveidotu valodu modeļus:



pip instalēt langchain



Instalējiet chromadb, lai saglabātu atmiņas izmantotos datus Chroma vektoru veikalā:





pip instalēt chromadb

Tiktoken ir marķieris, ko izmanto, lai izveidotu mazus lielu dokumentu gabalus, lai tos varētu viegli pārvaldīt:



pip instalēt tiktoken

OpenAI ir modulis, ko var izmantot, lai izveidotu ķēdes un LLM, izmantojot OpenAI() metodi:

pip install openai

2. darbība: vides iestatīšana un datu augšupielāde

Nākamais solis pēc visu šim procesam nepieciešamo moduļu instalēšanas ir vides iekārtošana izmantojot API atslēgu no OpenAI konta:

imports tu
imports getpass

tu . aptuveni [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API atslēga:' )

Augšupielādējiet dokumentus, izmantojot failu bibliotēku, lai izveidotu ķēdes LangChain sistēmā:

no google. UN CITI imports failus

augšupielādēts = failus. augšupielādēt ( )

3. darbība. Importējiet bibliotēkas

Kad dokuments ir veiksmīgi augšupielādēts, vienkārši importējiet vajadzīgās bibliotēkas no Langchain moduļa:

no langchain. iegulšanas . openai imports OpenAIEmbeddings

no langchain. iegulšanas . saskaņoti imports CohereIembeddings

no langchain. text_splitter imports Rakstzīmju teksta sadalītājs

no langchain. vektoru veikali . elastic_vector_search imports ElasticVectorSearch

no langchain. vektoru veikali imports Chroma

no langchain. doktora veikals . dokumentu imports Dokuments

4. darbība: veidojiet atmiņu, izmantojot Chroma datu bāzi

Tagad sāciet veidot vektoru telpu, lai saglabātu iepriekš augšupielādētā dokumenta iegulumus un marķierus:

ar atvērts ( 'state_of_the_union.txt' ) f:
arodbiedrības_stāvoklis = f. lasīt ( )
text_splitter = Rakstzīmju teksta sadalītājs ( chunk_size = 1000 , chunk_overlap = 0 )
tekstiem = text_splitter. split_text ( arodbiedrības_stāvoklis )

iegulšanas = OpenAIEmbeddings ( )

Konfigurējiet Chroma datu bāzi teksta un iegulumu glabāšanai no dokumenta:

docsearch = Chroma. no_tekstiem (

tekstiem , iegulšanas , metadati = [ { 'avots' : i } priekš i iekšā diapazons ( tikai ( tekstiem ) ) ]

)

Pārbaudiet atmiņu, uzdodot komandu vaicājuma mainīgajā, un pēc tam izpildiet līdzības_search() metodi:

vaicājums = 'Kad tika izveidota NATO'

dok = docsearch. līdzības_meklēšana ( vaicājums )

5. darbība. Uzvednes veidnes konfigurēšana

Šajā darbībā ir izskaidrots veidnes konfigurēšanas process uzvednēm, importējot šādas bibliotēkas:

no langchain. ķēdes . jautājums_atbildēšana imports load_qa_chain

no langchain. llms imports OpenAI

no langchain. uzvednes imports PromptTemplate

no langchain. atmiņa imports ConversationBufferMemory

Pēc tam vienkārši konfigurējiet vaicājuma veidni vai struktūru un palaidiet ķēdi, kad modelim ir pievienota atmiņa:

veidne = '''Jūs esat modele, kas tērzēja ar cilvēku
Ņemot vērā fragmentus, kas iegūti no gara dokumenta un jautājuma, izveidojiet galīgo atbildi

{konteksts}

{hist}
Cilvēks: {input}
Tērzēšanas robots: '''


pamudināt = PromptTemplate (
ievades_mainīgie = [ 'vēsture' , 'ievade' , 'konteksts' ] , veidne = veidne
)
atmiņa = ConversationBufferMemory ( atmiņas_atslēga = 'vēsture' , ievades_atslēga = 'ievade' )
ķēde = load_qa_chain (
OpenAI ( temperatūra = 0 ) , ķēdes_veids = 'lietas' , atmiņa = atmiņa , pamudināt = pamudināt
)

6. darbība. Atmiņas pārbaude

Šeit ir laiks pārbaudīt modeli, uzdodot jautājumu, izmantojot vaicājuma mainīgo un pēc tam izpildot ķēdes () metodi ar tās parametriem:

vaicājums = 'Kad tika izveidota NATO'

ķēde ( { 'ievades_dokumenti' : dokumenti , 'ievade' : vaicājums } , return_only_outputs = Taisnība )

Drukājiet buferatmiņā saglabātos datus, jo modeļa sniegtā atbilde ir nesen saglabāta atmiņā:

drukāt ( ķēde. atmiņa . buferis )

Tas ir viss par atmiņas pievienošanu ķēdei ar vairākām ieejām programmā LangChain.

Secinājums

Lai pievienotu atmiņu ķēdei ar vairākām ieejām programmā LangChain, vienkārši instalējiet moduļus un vektoru krātuvi, lai saglabātu tekstu un iegulšanu. Pēc tam augšupielādējiet datus/dokumentu no vietējās sistēmas un pēc tam importējiet vajadzīgās bibliotēkas datu glabāšanai, lai izveidotu atmiņu LLM. Konfigurējiet uzvednes veidni, lai bufera atmiņā saglabātu jaunākos ziņojumus, un pēc tam nosūtiet ķēdei tekstu. Šajā rokasgrāmatā ir detalizēti aprakstīts atmiņas pievienošanas process ķēdei ar vairākām ievadēm programmā LangChain.