Šī 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 tuimports 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 failusaugš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 OpenAIEmbeddingsno 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' ) kā 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_chainno 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.