Kuidas lisada mälu OpenAI funktsioonide agendile LangChainis?

Kuidas Lisada Malu Openai Funktsioonide Agendile Langchainis



LangChain on raamistik, mis sisaldab sõltuvusi suurte keelemudelite või LLM-ide loomiseks. See pakub ka tööriistu agentide loomiseks, et sooritada kõik vaheetapid alates kasutajalt päringu saamisest kuni vastuse toomiseni. OpenAI on keskkond, mis pakub Internetist loetavat ja struktureeritud väljundit kasutades 'google-otsingutulemused' moodul.

Kiire ülevaade

See postitus näitab järgmist:

Kuidas lisada mälu OpenAI funktsioonide agendile LangChainis?

OpenAI on tehisintellekti (AI) organisatsioon, mis asutati 2015. aastal ja oli alguses mittetulundusühing. Microsoft on alates 2020. aastast investeerinud palju varandusi, kuna loomuliku keele töötlemine (NLP) koos tehisintellektiga on vestlusrobotite ja keelemudelite seas õitsenud.







OpenAI agentide loomine võimaldab arendajatel saada Internetist loetavamaid ja täpsemaid tulemusi. Agentidele mälu lisamine võimaldab neil paremini mõista vestluse konteksti ja salvestada ka varasemad vestlused oma mällu. LangChainis OpenAI funktsioonide agendile mälu lisamise protsessi tundmaõppimiseks tehke lihtsalt järgmised sammud.



1. samm: raamistike installimine

Kõigepealt installige LangChaini sõltuvused saidilt 'langchain-eksperimentaalne' raamistik, kasutades järgmist koodi:



pip install langchain - eksperimentaalne





Installige 'google-otsingutulemused' moodul Google'i serverist otsingutulemuste hankimiseks:

pip install google - otsing - tulemused



Installige ka OpenAI moodul, mida saab kasutada LangChainis keelemudelite koostamiseks:

pip install openai

2. samm: keskkondade seadistamine

Pärast moodulite hankimist seadistage keskkonnad, kasutades rakenduse API võtmeid OpenAI ja SerpAPi kontod:

importida sina
importida saada pass

sina. umbes [ 'OPENAI_API_KEY' ] = saada pass. saada pass ( 'OpenAI API võti:' )
sina. umbes [ 'SERPAPI_API_KEY' ] = saada pass. saada pass ( 'Serpapi API võti:' )

Käivitage ülaltoodud kood, et sisestada API võtmed mõlemale keskkonnale juurdepääsuks ja vajutage kinnitamiseks sisestusklahvi:

3. samm: teekide importimine

Nüüd, kui häälestus on lõpule viidud, kasutage mälu ja agentide loomiseks vajalike teekide importimiseks LangChainist installitud sõltuvusi:

langchainist. ketid importida LLMMathChain
langchainist. llms importida OpenAI
#hankige raamatukogu, et Interneti kaudu Google'ist otsida
langchainist. kommunaalteenused importida SerpAPIWrapper
langchainist. kommunaalteenused importida SQL-andmebaas
saidilt langchain_experimental. sql importida SQLDatabaseChain
#hankige tööriistade koostamiseks raamatukogu jaoks agendi initsialiseerimine
langchainist. agendid importida Agendi tüüp , Tööriist , initsialiseeri_agent
langchainist. chat_models importida ChatOpenAI

4. samm: looge andmebaas

Selle juhendiga jätkamiseks peame looma andmebaasi ja looma ühenduse agendiga, et sealt vastuseid hankida. Andmebaasi koostamiseks tuleb seda kasutades alla laadida SQLite giid ja kinnitage installimine järgmise käsuga:

sqlite3

Ülaltoodud käsu käivitamine failis Windowsi terminal kuvab SQLite'i installitud versiooni (3.43.2):

Pärast seda minge lihtsalt oma arvuti kataloogi, kus andmebaas koostatakse ja talletatakse:

cd töölaud
cd mydb
sqlite3 Chinook. db

Kasutaja saab sealt lihtsalt andmebaasi sisu alla laadida link kataloogis ja käivitage andmebaasi koostamiseks järgmine käsk:

. lugeda Chinook_Sqlite. sql
VALI * ALATES Artist LIMIT 10 ;

Andmebaas on edukalt üles ehitatud ja kasutaja saab sealt andmeid otsida erinevate päringute abil:

5. samm: andmebaasi üleslaadimine

Kui andmebaas on edukalt üles ehitatud, laadige üles '.db' faili Google'i koostööpartnerile, kasutades järgmist koodi:

googlest. ET AL importida failid
üles laaditud = failid. Laadi üles ( )

Valige fail kohalikust süsteemist, klõpsates nuppu 'Vali failid' nuppu pärast ülaltoodud koodi täitmist:

Kui fail on üles laaditud, kopeerige lihtsalt järgmises etapis kasutatava faili tee:

6. samm: keelemudeli konfigureerimine

Looge keelemudel, ahelad, tööriistad ja ketid, kasutades järgmist koodi:

llm = ChatOpenAI ( temperatuuri = 0 , mudel = 'gpt-3.5-turbo-0613' )
otsing = SerpAPIWrapper ( )
llm_math_chain = LLMMathChain. from_llm ( llm = llm , paljusõnaline = Tõsi )
db = SQL-andmebaas. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_ahel = SQLDatabaseChain. from_llm ( llm , db , paljusõnaline = Tõsi )
tööriistad = [
Tööriist (
nimi = 'Otsing' ,
func = otsing. jooksma ,
kirjeldus = 'Küsige sihitud küsimusi, et saada vastuseid küsimustele hiljutiste asjade kohta' ,
) ,
Tööriist (
nimi = 'kalkulaator' ,
func = llm_math_chain. jooksma ,
kirjeldus = 'kasulik matemaatikaülesannetele vastamiseks/lahendamiseks' ,
) ,
Tööriist (
nimi = 'FooBar-DB' ,
func = db_ahel. jooksma ,
kirjeldus = 'kasulik FooBari puudutavatele küsimustele vastamiseks ja sisend peaks olema täielikku konteksti sisaldava küsimuse kujul' ,
) ,
]
  • The llm muutuja sisaldab keelemudeli konfiguratsioone, kasutades ChatOpenAI() meetodit koos mudeli nimega.
  • Otsing muutuja sisaldab meetodit SerpAPIWrapper() agendi tööriistade loomiseks.
  • Ehitage llm_math_chain et saada matemaatika domeeniga seotud vastuseid LLMMathChain() meetodi abil.
  • Muutuja db sisaldab andmebaasi sisu sisaldava faili teed. Kasutaja peab muutma ainult viimast osa, mis on 'sisu/Chinook.db' raja hoidmisest 'sqlite:///../../../../../' sama.
  • Ehitage teine ​​kett andmebaasi päringutele vastamiseks, kasutades db_ahel muutuv.
  • Seadistage tööriistu nagu otsing , kalkulaator ja FooBar-DB andmebaasist vastuse otsimiseks, matemaatikaküsimustele ja päringutele vastamiseks:

7. samm: mälu lisamine

Pärast OpenAI funktsioonide konfigureerimist lihtsalt looge ja lisage agendile mälu:

langchainist. viipasid importida SõnumidPlaceholder
langchainist. mälu importida ConversationBufferMemory

agent_kwargs = {
'extra_prompt_messages' : [ SõnumidPlaceholder ( muutuja_nimi = 'mälu' ) ] ,
}
mälu = ConversationBufferMemory ( mälu_võti = 'mälu' , return_messages = Tõsi )

8. samm: agendi lähtestamine

Viimane komponent, mida luua ja lähtestada, on agent, mis sisaldab kõiki selliseid komponente nagu llm , tööriist , OPENAI_FUNCTIONS ja muud selles protsessis kasutatavad:

agent = initsialiseeri_agent (
tööriistad ,
llm ,
agent = Agendi tüüp. OPENAI_FUNCTIONS ,
paljusõnaline = Tõsi ,
agent_kwargs = agent_kwargs ,
mälu = mälu ,
)

9. samm: agendi testimine

Lõpuks testige agenti, alustades vestlust, kasutades ' Tere ” sõnum:

agent. jooksma ( 'Tere' )

Lisage mällu teavet, käivitades sellega agendi:

agent. jooksma ( 'Minu nimi on John snow' )

Nüüd testige mälu, esitades küsimuse eelmise vestluse kohta:

agent. jooksma ( 'mis mu nimi on' )

Agent on vastanud mälust hangitud nimega, nii et mälu töötab agendiga edukalt:

Praeguseks kõik.

Järeldus

Mälu lisamiseks OpenAI funktsioonide agendile LangChainis installige moodulid, et hankida sõltuvused teekide importimiseks. Pärast seda looge lihtsalt andmebaas ja laadige see Pythoni märkmikusse üles, et seda saaks mudeliga kasutada. Enne agendile lisamist ja lähtestamist konfigureerige mudel, tööriistad, ketid ja andmebaas. Enne mälu testimist looge mälu ConversationalBufferMemory() abil ja lisage see enne testimist agendile. Selles juhendis on selgitatud, kuidas lisada LangChainis OpenAI funktsioonide agendile mälu.