Rask oversikt
Dette innlegget vil demonstrere følgende:
- Hvordan legge til minne til OpenAI Functions Agent i LangChain
- Trinn 1: Installere Frameworks
- Trinn 2: Sette opp miljøer
- Trinn 3: Importere biblioteker
- Trinn 4: Bygg database
- Trinn 5: Last opp database
- Trinn 6: Konfigurering av språkmodell
- Trinn 7: Legge til minne
- Trinn 8: Initialisere agenten
- Trinn 9: Testing av agenten
- Konklusjon
Hvordan legge til minne til OpenAI Functions Agent i LangChain?
OpenAI er en Artificial Intelligence (AI) organisasjon som ble dannet i 2015 og var en ideell organisasjon i begynnelsen. Microsoft har investert mye formue siden 2020 ettersom Natural Language Processing (NLP) med AI har blomstret med chatbots og språkmodeller.
Å bygge OpenAI-agenter gjør det mulig for utviklerne å få mer lesbare og konkrete resultater fra internett. Ved å legge til minne til agentene kan de forstå konteksten til chatten bedre og lagre de tidligere samtalene i minnet også. For å lære prosessen med å legge til minne til OpenAI-funksjonsagenten i LangChain, gå ganske enkelt gjennom følgende trinn:
Trinn 1: Installere Frameworks
Først av alt, installer LangChain-avhengighetene fra 'langkjede-eksperimentell' rammeverk ved hjelp av følgende kode:
pip installer langkjede - eksperimentell
Installer «google-søkeresultater» modul for å hente søkeresultatene fra Google-serveren:
pip installer google - Søk - resultater
Installer også OpenAI-modulen som kan brukes til å bygge språkmodellene i LangChain:
pip installer openai
Trinn 2: Sette opp miljøer
Etter å ha fått modulene, sett opp miljøene ved å bruke API-nøklene fra OpenAI og SerpAPi kontoer:
import duimport få pass
du. omtrent [ 'OPENAI_API_KEY' ] = få pass. få pass ( 'OpenAI API Key:' )
du. omtrent [ 'SERPAPI_API_KEY' ] = få pass. få pass ( 'Serpapi API-nøkkel:' )
Utfør koden ovenfor for å angi API-nøklene for tilgang til både miljøet og trykk enter for å bekrefte:
Trinn 3: Importere biblioteker
Nå som oppsettet er fullført, bruk avhengighetene installert fra LangChain for å importere de nødvendige bibliotekene for å bygge minnet og agentene:
fra langchain. kjeder import LLMMathChainfra langchain. llms import OpenAI
#get bibliotek for å søke fra Google over internett
fra langchain. verktøy import SerpAPIWrapper
fra langchain. verktøy import SQLDatabase
fra langchain_experimental. sql import SQLDatabaseChain
#få bibliotek for å bygge verktøy til initialisering av agenten
fra langchain. agenter import AgentType , Verktøy , initialize_agent
fra langchain. chat_modeller import ChatOpenAI
Trinn 4: Bygg database
For å komme videre med denne veiledningen må vi bygge databasen og koble til agenten for å trekke ut svar fra den. For å bygge databasen kreves det å laste ned SQLite ved hjelp av denne guide og bekreft installasjonen med følgende kommando:
sqlite3Kjører kommandoen ovenfor i Windows-terminal viser den installerte versjonen av SQLite (3.43.2):
Deretter går du ganske enkelt til katalogen på datamaskinen din der databasen skal bygges og lagres:
cd skrivebordcd mydb
sqlite3 Chinook. db
Brukeren kan enkelt laste ned innholdet i databasen fra denne link i katalogen og kjør følgende kommando for å bygge databasen:
. lese Chinook_Sqlite. sqlPLUKKE UT * FRA Artist LIMIT 10 ;
Databasen er vellykket bygget og brukeren kan søke etter data fra den ved å bruke forskjellige spørringer:
Trinn 5: Last opp database
Når databasen er bygget, laster du opp '.db' fil til Google Collaboratory med følgende kode:
fra google. ET AL import filerlastet opp = filer. laste opp ( )
Velg filen fra det lokale systemet ved å klikke på 'Velg filer' knappen etter å ha utført koden ovenfor:
Når filen er lastet opp, kopierer du bare banen til filen som skal brukes i neste trinn:
Trinn 6: Konfigurering av språkmodell
Bygg språkmodellen, kjeder, verktøy og kjeder ved å bruke følgende kode:
llm = ChatOpenAI ( temperatur = 0 , modell = 'gpt-3.5-turbo-0613' )Søk = SerpAPIWrapper ( )
llm_math_chain = LLMMathChain. fra_llm ( llm = llm , ordrik = ekte )
db = SQLDatabase. fra_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. fra_llm ( llm , db , ordrik = ekte )
verktøy = [
Verktøy (
Navn = 'Søk' ,
func = Søk. løpe ,
beskrivelse = 'Still de målrettede spørsmålene for å få svar på spørsmålene om nyere saker' ,
) ,
Verktøy (
Navn = 'Kalkulator' ,
func = llm_math_chain. løpe ,
beskrivelse = 'nyttig for å svare på/løse matematiske problemer' ,
) ,
Verktøy (
Navn = 'FooBar-DB' ,
func = db_chain. løpe ,
beskrivelse = 'nyttig for å svare på spørsmål om FooBar og input bør være i form av et spørsmål som inneholder full kontekst' ,
) ,
]
- De llm variabelen inneholder konfigurasjonene til språkmodellen ved hjelp av ChatOpenAI()-metoden med navnet på modellen.
- Søket variabelen inneholder SerpAPIWrapper()-metoden for å bygge verktøyene for agenten.
- Bygg llm_math_chain for å få svarene relatert til matematikk-domenet ved å bruke LLMMathChain()-metoden.
- db-variabelen inneholder banen til filen som har innholdet i databasen. Brukeren trenger å endre bare den siste delen som er 'content/Chinook.db' av banen holde “sqlite:///../../../../../” det samme.
- Bygg en annen kjede for å svare på spørsmål fra databasen ved å bruke db_chain variabel.
- Konfigurer verktøy som Søk , kalkulator , og FooBar-DB for å søke etter svar, svare på matematiske spørsmål og spørsmål fra databasen henholdsvis:
Trinn 7: Legge til minne
Etter å ha konfigurert OpenAI-funksjonene, bygg og legg til minnet til agenten:
fra langchain. spør import MeldingerPlassholderfra langchain. hukommelse import ConversationBufferMemory
agent_kwargs = {
'extra_prompt_meldinger' : [ MeldingerPlassholder ( variabelnavn = 'hukommelse' ) ] ,
}
hukommelse = ConversationBufferMemory ( minnenøkkel = 'hukommelse' , return_messages = ekte )
Trinn 8: Initialisering av agenten
Den siste komponenten som skal bygges og initialiseres er agenten, som inneholder alle komponentene som llm , verktøy , OPENAI_FUNCTIONS , og andre som skal brukes i denne prosessen:
middel = initialize_agent (verktøy ,
llm ,
middel = AgentType. OPENAI_FUNCTIONS ,
ordrik = ekte ,
agent_kwargs = agent_kwargs ,
hukommelse = hukommelse ,
)
Trinn 9: Testing av agenten
Til slutt, test agenten ved å starte chatten ved å bruke ' hei ' beskjed:
middel. løpe ( 'hei' )
Legg til litt informasjon til minnet ved å kjøre agenten med den:
middel. løpe ( 'Jeg heter John snow' )
Nå, test minnet ved å stille spørsmålet om forrige chat:
middel. løpe ( 'hva er mitt navn' )Agenten har svart med navnet hentet fra minnet, slik at minnet kjører med agenten:
Det er alt for nå.
Konklusjon
For å legge til minnet til OpenAI-funksjonsagenten i LangChain, installer modulene for å få avhengighetene for å importere bibliotekene. Deretter bygger du bare databasen og laster den opp til Python-notisboken slik at den kan brukes med modellen. Konfigurer modellen, verktøyene, kjedene og databasen før du legger dem til agenten og initialiser den. Før du tester minnet, bygg minnet ved å bruke ConversationalBufferMemory() og legg det til agenten før du tester det. Denne veiledningen har utdypet hvordan du legger til minne til OpenAI-funksjonsagenten i LangChain.