Brzi pregled
Ovaj će post pokazati sljedeće:
- Kako dodati memoriju OpenAI Functions Agentu u LangChainu
- Korak 1: Instalacija Frameworks
- Korak 2: Postavljanje okruženja
- Korak 3: Uvoz biblioteka
- Korak 4: Izrada baze podataka
- Korak 5: Učitavanje baze podataka
- Korak 6: Konfiguriranje jezičnog modela
- Korak 7: Dodavanje memorije
- Korak 8: Inicijalizacija agenta
- Korak 9: Testiranje agenta
- Zaključak
Kako dodati memoriju OpenAI Functions Agentu u LangChainu?
OpenAI je organizacija umjetne inteligencije (AI) koja je nastala 2015. godine i u početku je bila neprofitna organizacija. Microsoft je uložio puno bogatstva od 2020. jer obrada prirodnog jezika (NLP) s AI doživljava procvat s chatbotovima i jezičnim modelima.
Izrada OpenAI agenata omogućuje programerima da dobiju čitljivije i preciznije rezultate s interneta. Dodavanje memorije agentima omogućuje im bolje razumijevanje konteksta razgovora i pohranjivanje prethodnih razgovora u njihovu memoriju. Kako biste naučili postupak dodavanja memorije agentu funkcija OpenAI u LangChainu, jednostavno prođite kroz sljedeće korake:
Korak 1: Instalacija Frameworks
Prije svega, instalirajte LangChain ovisnosti iz “langchain-eksperimentalno” okvir pomoću sljedećeg koda:
pip instalirati langchain - eksperimentalni
Instalirajte “google-rezultati-pretrage” modul za dobivanje rezultata pretraživanja s Google poslužitelja:
pip instaliraj google - traži - rezultate
Također, instalirajte OpenAI modul koji se može koristiti za izgradnju jezičnih modela u LangChainu:
pip instaliraj openai
Korak 2: Postavljanje okruženja
Nakon što nabavite module, postavite okruženja koristeći API ključeve iz OpenAI i SerpAPi računi:
uvoz vasuvoz getpass
vas. približno [ 'OPENAI_API_KEY' ] = getpass. getpass ( 'OpenAI API ključ:' )
vas. približno [ 'SERPAPI_API_KEY' ] = getpass. getpass ( 'Serpapi API ključ:' )
Izvršite gornji kod za unos API ključeva za pristup okruženju i pritisnite enter za potvrdu:
Korak 3: Uvoz biblioteka
Sada kada je postavljanje dovršeno, upotrijebite ovisnosti instalirane iz LangChaina za uvoz potrebnih biblioteka za izgradnju memorije i agenata:
iz Langchaina. lanci uvoz LLMMathChainiz Langchaina. llms uvoz OpenAI
#nabavite knjižnicu za pretraživanje od Googlea preko interneta
iz Langchaina. komunalije uvoz SerpAPIWrapper
iz Langchaina. komunalije uvoz SQLDatabase
od langchain_experimental. sql uvoz SQLDatabaseChain
#nabavite biblioteku za izradu alata za inicijaliziranje agenta
iz Langchaina. agenti uvoz AgentType , Alat , inicijalizirati_agent
iz Langchaina. chat_modeli uvoz ChatOpenAI
Korak 4: Izrada baze podataka
Da bismo nastavili s ovim vodičem, moramo izgraditi bazu podataka i povezati se s agentom kako bismo iz nje izvukli odgovore. Za izgradnju baze podataka, potrebno je preuzeti SQLite pomoću ovoga vodič i potvrdite instalaciju pomoću sljedeće naredbe:
sqlite3Pokretanje gornje naredbe u Windows terminal prikazuje instaliranu verziju SQLite-a (3.43.2):
Nakon toga jednostavno idite u direktorij na vašem računalu gdje će se baza podataka izgraditi i pohraniti:
cd radna površinacd mydb
sqlite3 Chinook. db
Korisnik može jednostavno preuzeti sadržaj baze podataka iz ove veza u direktoriju i izvršite sljedeću naredbu za izgradnju baze podataka:
. čitati Chinook_Sqlite. sqlIZABERI * OD Artist LIMIT 10 ;
Baza podataka je uspješno izgrađena i korisnik može tražiti podatke iz nje pomoću različitih upita:
Korak 5: Učitavanje baze podataka
Nakon što je baza podataka uspješno izgrađena, učitajte “.db” datoteku u Google Collaboratory pomoću sljedećeg koda:
s googlea. ET AL uvoz datotekeučitano = datoteke. Učitaj ( )
Odaberite datoteku iz lokalnog sustava klikom na “Odaberi datoteke” nakon izvršavanja gornjeg koda:
Nakon što se datoteka učita, jednostavno kopirajte putanju datoteke koja će se koristiti u sljedećem koraku:
Korak 6: Konfiguriranje jezičnog modela
Izgradite jezični model, lance, alate i lance pomoću sljedećeg koda:
llm = ChatOpenAI ( temperatura = 0 , model = 'gpt-3.5-turbo-0613' )traži = SerpAPIWrapper ( )
llm_matematički_lanac = LLMMathChain. od_llm ( llm = llm , opširno = Pravi )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_lanac = SQLDatabaseChain. od_llm ( llm , db , opširno = Pravi )
alata = [
Alat (
Ime = 'Traži' ,
funk = traži. trčanje ,
opis = 'Postavljajte ciljana pitanja kako biste dobili odgovore na pitanja o nedavnim aferama' ,
) ,
Alat (
Ime = 'Kalkulator' ,
funk = llm_matematički_lanac. trčanje ,
opis = 'korisno za odgovaranje/rješavanje matematičkih problema' ,
) ,
Alat (
Ime = 'FooBar-DB' ,
funk = db_lanac. trčanje ,
opis = 'korisno za odgovaranje na pitanja o FooBar-u, a unos bi trebao biti u obliku pitanja koje sadrži puni kontekst' ,
) ,
]
- The llm varijabla sadrži konfiguracije jezičnog modela pomoću metode ChatOpenAI() s nazivom modela.
- Potraga varijabla sadrži metodu SerpAPIWrapper() za izradu alata za agenta.
- Izgradite llm_matematički_lanac kako biste dobili odgovore vezane uz domenu matematike pomoću metode LLMMathChain().
- Varijabla db sadrži stazu datoteke koja ima sadržaj baze podataka. Korisnik treba promijeniti samo zadnji dio koji je “sadržaj/Chinook.db” staze držeći se “sqlite:///../../../../../” isto.
- Izgradite drugi lanac za odgovaranje na upite iz baze podataka pomoću db_lanac varijabla.
- Konfigurirajte alate poput traži , kalkulator , i FooBar-DB za traženje odgovora, odgovaranje na matematička pitanja i upite iz baze podataka:
Korak 7: Dodavanje memorije
Nakon konfiguriranja OpenAI funkcija, jednostavno izgradite i dodajte memoriju agentu:
iz Langchaina. upita uvoz MessagesPlaceholderiz Langchaina. memorija uvoz ConversationBufferMemory
agent_kwargs = {
'extra_prompt_messages' : [ MessagesPlaceholder ( ime_varijable = 'memorija' ) ] ,
}
memorija = ConversationBufferMemory ( memorijski_ključ = 'memorija' , povratne_poruke = Pravi )
Korak 8: Inicijalizacija agenta
Posljednja komponenta za izgradnju i inicijalizaciju je agent, koji sadrži sve komponente poput llm , alat , OTVORENE_FUNKCIJE , i drugi koji će se koristiti u ovom procesu:
agent = inicijalizirati_agent (alata ,
llm ,
agent = AgentType. OTVORENE_FUNKCIJE ,
opširno = Pravi ,
agent_kwargs = agent_kwargs ,
memorija = memorija ,
)
Korak 9: Testiranje agenta
Konačno, testirajte agenta pokretanjem razgovora koristeći ' bok ” poruka:
agent. trčanje ( 'bok' )
Dodajte neke informacije u memoriju pokretanjem agenta s njima:
agent. trčanje ( 'moje ime je John snow' )
Sada testirajte pamćenje postavljanjem pitanja o prethodnom chatu:
agent. trčanje ( 'kako se zovem' )Agent je odgovorio s imenom dohvaćenim iz memorije tako da memorija uspješno radi s agentom:
To je sve za sada.
Zaključak
Da biste dodali memoriju agentu funkcija OpenAI u LangChainu, instalirajte module da biste dobili ovisnosti za uvoz biblioteka. Nakon toga jednostavno izradite bazu podataka i prenesite je u Python prijenosno računalo tako da se može koristiti s modelom. Konfigurirajte model, alate, lance i bazu podataka prije nego ih dodate agentu i inicijalizirajte ga. Prije testiranja memorije, izgradite memoriju pomoću ConversationalBufferMemory() i dodajte je agentu prije testiranja. Ovaj vodič razradio je kako dodati memoriju agentu funkcija OpenAI u LangChainu.