Ako pridať pamäť do agenta funkcií OpenAI v LangChain?

Ako Pridat Pamat Do Agenta Funkcii Openai V Langchain



LangChain je rámec obsahujúci závislosti na budovanie veľkých jazykových modelov alebo LLM. Poskytuje tiež nástroje na zostavenie agentov na vykonávanie všetkých medzikrokov od získania dopytu od používateľa až po získanie jeho odpovede. OpenAI je prostredie, ktoré poskytuje čitateľný a štruktúrovaný výstup z internetu pomocou „výsledky vyhľadávania google“ modul.

Rýchly prehľad

Tento príspevok bude demonštrovať nasledovné:

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ť vy
importovať 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ť LLMMathChain
z 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:

sqlite3

Spustenie 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 Desktop
cd 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. sql
VYBRAŤ * 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úbory
nahrané = 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áv
z 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.