Rýchly prehľad
Tento príspevok bude demonštrovať nasledovné:
- Ako pridať pamäť do agenta funkcií OpenAI v LangChain
- Krok 1: Inštalácia rámcov
- Krok 2: Nastavenie prostredí
- Krok 3: Importovanie knižníc
- Krok 4: Vytvorenie databázy
- Krok 5: Nahranie databázy
- Krok 6: Konfigurácia jazykového modelu
- Krok 7: Pridanie pamäte
- Krok 8: Inicializácia agenta
- Krok 9: Testovanie agenta
- Záver
Ako pridať pamäť do agenta funkcií OpenAI v LangChain?
OpenAI je organizácia umelej inteligencie (AI), ktorá vznikla v roku 2015 a na začiatku bola neziskovou organizáciou. Spoločnosť Microsoft od roku 2020 investuje veľa peňazí, pretože spracovanie prirodzeného jazyka (NLP) s AI zažíva boom s chatbotmi a jazykovými modelmi.
Budovanie agentov OpenAI umožňuje vývojárom získať čitateľnejšie a konkrétnejšie výsledky z internetu. Pridanie pamäte agentom im umožňuje lepšie porozumieť kontextu chatu a uložiť si do pamäte aj predchádzajúce rozhovory. Ak sa chcete naučiť proces pridávania pamäte do agenta funkcií OpenAI v LangChain, jednoducho prejdite nasledujúcimi krokmi:
Krok 1: Inštalácia rámcov
Najprv nainštalujte závislosti LangChain z “langchain-experimentálne” framework pomocou nasledujúceho kódu:
pip install langchain - experimentálne
Nainštalujte „výsledky vyhľadávania google“ modul na získanie výsledkov vyhľadávania zo servera Google:
pip nainštalovať google - Vyhľadávanie - výsledky
Nainštalujte si tiež modul OpenAI, ktorý možno použiť na zostavenie jazykových modelov v LangChain:
pip install openai
Krok 2: Nastavenie prostredí
Po získaní modulov nastavte prostredia pomocou kľúčov API z OpenAI a SerpAPi účty:
importovať vyimportovať getpass
vy. približne [ 'OPENAI_API_KEY' ] = getpass. getpass ( 'OpenAI API Key:' )
vy. približne [ 'SERPAPI_API_KEY' ] = getpass. getpass ( 'Serpapi API Key:' )
Vykonajte vyššie uvedený kód na zadanie kľúčov API pre prístup do prostredia a potvrďte stlačením klávesu Enter:
Krok 3: Importovanie knižníc
Teraz, keď je nastavenie dokončené, použite závislosti nainštalované z LangChain na import požadovaných knižníc na vytvorenie pamäte a agentov:
z langchainu. reťaze importovať LLMMathChainz langchainu. llms importovať OpenAI
#získajte knižnicu na vyhľadávanie z Google cez internet
z langchainu. komunálne služby importovať SerpAPIWrapper
z langchainu. komunálne služby importovať SQLDatabase
z langchain_experimental. sql importovať SQLDatabaseChain
#získajte knižnicu na vytváranie nástrojov pre inicializácia agenta
z langchainu. agentov importovať Typ agenta , Nástroj , initialize_agent
z langchainu. chat_models importovať ChatOpenAI
Krok 4: Vytvorenie databázy
Aby sme mohli pokračovať v tejto príručke, musíme vytvoriť databázu a pripojiť sa k agentovi, aby sme z nej získali odpovede. Na vytvorenie databázy je potrebné stiahnuť SQLite pomocou tohto sprievodca a potvrďte inštaláciu pomocou nasledujúceho príkazu:
sqlite3Spustenie vyššie uvedeného príkazu v Terminál systému Windows zobrazí nainštalovanú verziu SQLite (3.43.2):
Potom jednoducho prejdite do adresára v počítači, kde sa vytvorí a uloží databáza:
cd Desktopcd mydb
sqlite3 Chinook. db
Používateľ si z nej môže jednoducho stiahnuť obsah databázy odkaz v adresári a spustite nasledujúci príkaz na vytvorenie databázy:
. čítať Chinook_Sqlite. sqlVYBRAŤ * FROM Artist LIMIT 10 ;
Databáza bola úspešne zostavená a používateľ v nej môže vyhľadávať údaje pomocou rôznych dotazov:
Krok 5: Nahranie databázy
Po úspešnom vytvorení databázy nahrajte súbor „.db“ súbor do Google Collaboratory pomocou nasledujúceho kódu:
z google. ET AL importovať súborynahrané = súbory. nahrať ( )
Vyberte súbor z lokálneho systému kliknutím na 'Vybrať súbory' tlačidlo po vykonaní vyššie uvedeného kódu:
Po nahraní súboru jednoducho skopírujte cestu k súboru, ktorá sa použije v ďalšom kroku:
Krok 6: Konfigurácia jazykového modelu
Vytvorte jazykový model, reťazce, nástroje a reťazce pomocou nasledujúceho kódu:
llm = ChatOpenAI ( teplota = 0 , Model = 'gpt-3.5-turbo-0613' )Vyhľadávanie = SerpAPIWrapper ( )
llm_math_chain = LLMMathChain. from_llm ( llm = llm , podrobný = Pravda )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( llm , db , podrobný = Pravda )
nástrojov = [
Nástroj (
názov = 'Vyhľadávanie' ,
func = Vyhľadávanie. behať ,
popis = 'Položte cielené otázky, aby ste získali odpovede na otázky o nedávnych záležitostiach' ,
) ,
Nástroj (
názov = 'Kalkulačka' ,
func = llm_math_chain. behať ,
popis = 'užitočné na zodpovedanie/riešenie matematických problémov' ,
) ,
Nástroj (
názov = 'FooBar-DB' ,
func = db_chain. behať ,
popis = 'užitočné na zodpovedanie otázok o FooBar a vstup by mal byť vo forme otázky obsahujúcej úplný kontext' ,
) ,
]
- The llm premenná obsahuje konfigurácie jazykového modelu pomocou metódy ChatOpenAI() s názvom modelu.
- Hľadanie obsahuje metódu SerpAPIWrapper() na zostavenie nástrojov pre agenta.
- Zostavte llm_math_chain získať odpovede súvisiace s matematickou doménou pomocou metódy LLMMathChain().
- Premenná db obsahuje cestu k súboru, ktorý má obsah databázy. Používateľ musí zmeniť iba poslednú časť, ktorá je “content/Chinook.db” z cesty udržiavania „sqlite:///../../../../../“ rovnaký.
- Vytvorte ďalší reťazec na zodpovedanie dotazov z databázy pomocou db_chain premenlivý.
- Nakonfigurujte nástroje ako Vyhľadávanie , kalkulačka , a FooBar-DB na vyhľadávanie odpovedí, odpovedanie na matematické otázky a otázky z databázy:
Krok 7: Pridanie pamäte
Po nakonfigurovaní funkcií OpenAI jednoducho vytvorte a pridajte pamäť do agenta:
z langchainu. výzvy importovať Zástupný symbol správz langchainu. Pamäť importovať ConversationBufferMemory
agent_kwargs = {
'extra_prompt_messages' : [ Zástupný symbol správ ( názov_premennej = 'Pamäť' ) ] ,
}
Pamäť = ConversationBufferMemory ( pamäťový_kľúč = 'Pamäť' , návratové_správy = Pravda )
Krok 8: Inicializácia agenta
Posledný komponent na zostavenie a inicializáciu je agent, ktorý obsahuje všetky komponenty ako llm , nástroj , OPENAI_FUNCTIONS a ďalšie, ktoré sa majú použiť v tomto procese:
agent = initialize_agent (nástrojov ,
llm ,
agent = Typ agenta. OPENAI_FUNCTIONS ,
podrobný = Pravda ,
agent_kwargs = agent_kwargs ,
Pamäť = Pamäť ,
)
Krok 9: Testovanie agenta
Nakoniec otestujte agenta spustením rozhovoru pomocou „ Ahoj ” správa:
agent. behať ( 'Ahoj' )
Pridajte nejaké informácie do pamäte spustením agenta:
agent. behať ( 'Volám sa John Snow' )
Teraz otestujte pamäť položením otázky o predchádzajúcom rozhovore:
agent. behať ( 'ako sa volám' )Agent odpovedal názvom načítaným z pamäte, takže pamäť úspešne beží s agentom:
To je zatiaľ všetko.
Záver
Ak chcete pridať pamäť do agenta funkcií OpenAI v LangChain, nainštalujte moduly, aby ste získali závislosti na importovanie knižníc. Potom jednoducho zostavte databázu a nahrajte ju do notebooku Python, aby sa dala použiť s modelom. Nakonfigurujte model, nástroje, reťazce a databázu pred ich pridaním do agenta a inicializujte ich. Pred testovaním pamäte vytvorte pamäť pomocou ConversationalBufferMemory() a pred testovaním ju pridajte do agenta. Táto príručka podrobne popisuje, ako pridať pamäť do agenta funkcií OpenAI v LangChain.