Kuinka lisätä muistia OpenAI Functions Agentiin LangChainissa?

Kuinka Lisata Muistia Openai Functions Agentiin Langchainissa



LangChain on kehys, joka sisältää riippuvuuksia suurten kielimallien tai LLM:iden rakentamiseen. Se tarjoaa myös työkalut agenttien rakentamiseen suorittamaan kaikki välivaiheet kyselyn saamisesta käyttäjältä vastauksen hakemiseen. OpenAI on ympäristö, joka tarjoaa luettavaa ja jäsenneltyä tulosta Internetistä käyttämällä 'google-hakutulokset' moduuli.

Quick Outline

Tämä viesti osoittaa seuraavaa:

Kuinka lisätä muistia OpenAI Functions Agentiin LangChainissa?

OpenAI on vuonna 2015 perustettu tekoäly (AI) -järjestö, joka oli alussa voittoa tavoittelematon organisaatio. Microsoft on investoinut paljon omaisuutta vuodesta 2020 lähtien, koska tekoälyllä varustettu Natural Language Processing (NLP) on kukoistanut chatbottien ja kielimallien myötä.







OpenAI-agenttien rakentamisen avulla kehittäjät voivat saada luettavampia ja täsmällisempiä tuloksia Internetistä. Muistin lisääminen agenteille antaa heille mahdollisuuden ymmärtää chatin kontekstia paremmin ja tallentaa myös aiemmat keskustelut muistiinsa. Jos haluat oppia lisäämään muistia OpenAI-funktion agenttiin LangChainissa, käy läpi seuraavat vaiheet:



Vaihe 1: Kehysten asentaminen

Asenna ensin LangChain-riippuvuudet tiedostosta 'langchain-kokeellinen' puitteet seuraavalla koodilla:



pip asennus langchain - kokeellinen





Asenna 'google-hakutulokset' moduuli saadaksesi hakutulokset Google-palvelimelta:

pip asenna google - Hae - tuloksia



Asenna myös OpenAI-moduuli, jota voidaan käyttää LangChainin kielimallien rakentamiseen:

pip install openai

Vaihe 2: Ympäristöjen määrittäminen

Kun olet hankkinut moduulit, määritä ympäristöt sovelluksen API-avaimilla OpenAI ja SerpAPi tilit:

tuonti sinä
tuonti getpass

sinä. suunnilleen [ 'OPENAI_API_KEY' ] = getpass. getpass ( 'OpenAI API Key:' )
sinä. suunnilleen [ 'SERPAPI_API_KEY' ] = getpass. getpass ( 'Serpapi API Key:' )

Suorita yllä oleva koodi syöttääksesi API-avaimet molempiin ympäristöihin pääsyä varten ja vahvista painamalla Enter:

Vaihe 3: Kirjastojen tuonti

Nyt kun asennus on valmis, käytä LangChainista asennettuja riippuvuuksia tuodaksesi tarvittavat kirjastot muistin ja agenttien rakentamiseen:

langchainista. ketjut tuonti LLMMathChain
langchainista. llms tuonti OpenAI
#hanki kirjasto tehdäksesi hakuja Googlesta Internetin kautta
langchainista. apuohjelmia tuonti SerpAPIWrapper
langchainista. apuohjelmia tuonti SQL-tietokanta
lähteestä langchain_experimental. sql tuonti SQLDatabaseChain
#hanki kirjasto työkalujen rakentamiseen varten agentin alustaminen
langchainista. agentit tuonti AgentType , Työkalu , alustusagentti
langchainista. chat_models tuonti ChatOpenAI

Vaihe 4: Tietokannan luominen

Tämän oppaan jatkamiseksi meidän on rakennettava tietokanta ja muodostettava yhteys agenttiin, jotta voimme poimia siitä vastauksia. Tietokannan rakentamiseksi sinun on ladattava SQLite käyttämällä tätä opas ja vahvista asennus käyttämällä seuraavaa komentoa:

sqlite3

Yllä olevan komennon suorittaminen tiedostossa Windows-pääte näyttää asennetun SQLiten version (3.43.2):

Sen jälkeen siirry vain tietokoneesi hakemistoon, jossa tietokanta rakennetaan ja tallennetaan:

cd työpöytä
cd mydb
sqlite3 Chinook. db

Käyttäjä voi yksinkertaisesti ladata tietokannan sisällön tästä linkki hakemistoon ja suorita seuraava komento tietokannan rakentamiseksi:

. lukea Chinook_Sqlite. sql
VALITSE * FROM Artist LIMIT 10 ;

Tietokanta on rakennettu onnistuneesti ja käyttäjä voi hakea siitä tietoa erilaisilla kyselyillä:

Vaihe 5: Tietokannan lataaminen

Kun tietokanta on rakennettu onnistuneesti, lataa '.db' tiedosto Google Colaboratorylle käyttämällä seuraavaa koodia:

googlesta. ET AL tuonti tiedostot
ladattu = tiedostot. lataa ( )

Valitse tiedosto paikallisesta järjestelmästä napsauttamalla 'Valitse tiedostot' -painiketta yllä olevan koodin suorittamisen jälkeen:

Kun tiedosto on ladattu, kopioi tiedoston polku, jota käytetään seuraavassa vaiheessa:

Vaihe 6: Kielimallin määrittäminen

Rakenna kielimalli, ketjut, työkalut ja ketjut käyttämällä seuraavaa koodia:

llm = ChatOpenAI ( lämpötila = 0 , malli = 'gpt-3.5-turbo-0613' )
Hae = SerpAPIWrapper ( )
llm_math_chain = LLMMathChain. from_llm ( llm = llm , monisanainen = Totta )
db = SQL-tietokanta. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_ketju = SQLDatabaseChain. from_llm ( llm , db , monisanainen = Totta )
työkaluja = [
Työkalu (
nimi = 'Hae' ,
func = Hae. juosta ,
kuvaus = 'Kysy kohdistettuja kysymyksiä saadaksesi vastauksia viimeaikaisia ​​asioita koskeviin kysymyksiin' ,
) ,
Työkalu (
nimi = 'Laskin' ,
func = llm_math_chain. juosta ,
kuvaus = 'hyödyllinen matemaattisten ongelmien ratkaisemiseen' ,
) ,
Työkalu (
nimi = 'FooBar-DB' ,
func = db_ketju. juosta ,
kuvaus = 'hyödyllinen vastaamaan FooBaria koskeviin kysymyksiin ja syötteen tulisi olla kysymyksen muodossa, joka sisältää täyden kontekstin' ,
) ,
]
  • The llm muuttuja sisältää kielimallin konfiguraatiot ChatOpenAI()-metodilla mallin nimellä.
  • Etsintä muuttuja sisältää SerpAPIWrapper()-menetelmän työkalujen rakentamiseksi agentille.
  • Rakenna llm_math_chain saadaksesi matematiikan alueeseen liittyvät vastaukset LLMMathChain()-menetelmällä.
  • db-muuttuja sisältää tietokannan sisällön sisältävän tiedoston polun. Käyttäjän tulee muuttaa vain viimeinen osa, joka on 'content/Chinook.db' polusta, joka pitää 'sqlite:///../../../../../' sama.
  • Rakenna toinen ketju tietokannan kyselyihin vastaamiseksi käyttämällä db_ketju muuttuja.
  • Määritä työkalut, kuten Hae , laskin , ja FooBar-DB vastauksen etsimiseen, matemaattisiin kysymyksiin vastaamiseen ja kyselyihin tietokannasta vastaavasti:

Vaihe 7: Muistin lisääminen

Kun olet määrittänyt OpenAI-toiminnot, rakenna ja lisää muisti agenttiin:

langchainista. kehotteita tuonti ViestitPlaceholder
langchainista. muisti tuonti ConversationBufferMemory

agent_kwargs = {
'extra_prompt_messages' : [ ViestitPlaceholder ( muuttujan_nimi = 'muisti' ) ] ,
}
muisti = ConversationBufferMemory ( muisti_avain = 'muisti' , return_messages = Totta )

Vaihe 8: Agentin alustaminen

Viimeinen rakennettava ja alustettava komponentti on agentti, joka sisältää kaikki komponentit, kuten llm , työkalu , OPENAI_FUNCTIONS ja muut tässä prosessissa käytettävät:

agentti = alustusagentti (
työkaluja ,
llm ,
agentti = AgentType. OPENAI_FUNCTIONS ,
monisanainen = Totta ,
agent_kwargs = agent_kwargs ,
muisti = muisti ,
)

Vaihe 9: Agentin testaus

Lopuksi testaa agenttia aloittamalla keskustelu ' Hei ”viesti:

agentti. juosta ( 'Hei' )

Lisää muistiin tietoja suorittamalla agentti sen kanssa:

agentti. juosta ( 'Nimeni on John Snow' )

Testaa nyt muistia esittämällä kysymys edellisestä keskustelusta:

agentti. juosta ( 'mikä on nimeni' )

Agentti on vastannut muistista haetulla nimellä, joten muisti toimii onnistuneesti agentin kanssa:

Tässä kaikki tältä erää.

Johtopäätös

Jos haluat lisätä muistin OpenAI-funktion agenttiin LangChainissa, asenna moduulit saadaksesi riippuvuudet kirjastojen tuontia varten. Sen jälkeen luo tietokanta ja lataa se Python-muistikirjaan, jotta sitä voidaan käyttää mallin kanssa. Määritä malli, työkalut, ketjut ja tietokanta ennen niiden lisäämistä agenttiin ja alusta se. Ennen kuin testaat muistia, rakenna muisti ConversationalBufferMemory()-toiminnolla ja lisää se agenttiin ennen sen testaamista. Tässä oppaassa on käsitelty muistin lisäämistä LangChainin OpenAI-funktion agenttiin.