Quick Outline
Tämä viesti osoittaa seuraavaa:
- Muistin lisääminen OpenAI Functions Agentiin LangChainissa
- Vaihe 1: Kehysten asentaminen
- Vaihe 2: Ympäristöjen määrittäminen
- Vaihe 3: Kirjastojen tuonti
- Vaihe 4: Tietokannan luominen
- Vaihe 5: Tietokannan lataaminen
- Vaihe 6: Kielimallin määrittäminen
- Vaihe 7: Muistin lisääminen
- Vaihe 8: Agentin alustaminen
- Vaihe 9: Agentin testaus
- Johtopäätös
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 LLMMathChainlangchainista. 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:
sqlite3Yllä 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. sqlVALITSE * 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 tiedostotladattu = 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 ViestitPlaceholderlangchainista. 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.