Kako dodati memoriju OpenAI Functions Agentu u LangChainu?

Kako Dodati Memoriju Openai Functions Agentu U Langchainu



LangChain je okvir koji sadrži ovisnosti za izgradnju velikih jezičnih modela ili LLM-ova. Također pruža alate za izradu agenata za izvođenje svih međukoraka od primanja upita od korisnika do dohvaćanja odgovora. OpenAI je okruženje koje pruža čitljiv i strukturiran izlaz s interneta pomoću “google-rezultati-pretrage” modul.

Brzi pregled

Ovaj će post pokazati sljedeće:

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 vas
uvoz 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 LLMMathChain
iz 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:

sqlite3

Pokretanje 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šina
cd 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. sql
IZABERI * 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 datoteke
uč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 MessagesPlaceholder
iz 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.