Hoe implementeer je de zelfvraag-met-zoekketen?

Hoe Implementeer Je De Zelfvraag Met Zoekketen



LangChain is de module voor het bouwen van taalmodellen en chatbots die tekst in natuurlijke taal kunnen begrijpen en extraheren. Natuurlijke talen zijn gemakkelijk te begrijpen voor mensen, maar machines moeten ze leren door herhaaldelijk de gegevens te doorlopen. De gegevens/documenten in de natuurlijke talen kunnen worden gebruikt om het model te trainen en vervolgens de aanwijzingen uit de gegevens te vragen om de prestaties van het model te controleren.

Snel overzicht

Dit bericht zal het volgende aantonen:







Hoe u de zelfvraag-met-zoekketen kunt implementeren



Conclusie



Hoe implementeer je de zelfvraag-met-zoekketen?

Self-Ask is het proces om het ketenproces te verbeteren, omdat het de opdrachten grondig begrijpt. De ketens begrijpen de vraag door de gegevens over alle belangrijke termen uit de dataset te halen. Zodra het model is getraind en de vraag begrijpt, genereert het het antwoord op de door de gebruiker gestelde vraag.





Om het proces van het implementeren van de zelfvraag met de zoekketens in LangChain te leren, volgt u eenvoudigweg de volgende gids:

Stap 1: Frameworks installeren

Start allereerst het proces door het LangChain-proces te installeren met behulp van de volgende code en verkrijg alle afhankelijkheden voor het proces:



pip installeer langchain

Na het installeren van de LangChain installeert u de “ google-zoekresultaten ” om de zoekresultaten van Google te krijgen met behulp van de OpenAI-omgeving:

pip installeer openai google-zoekresultaten

Stap 2: Bouwomgeving

Zodra de modules en frameworks zijn geïnstalleerd, stelt u de omgeving in voor de Open AI En SerpAPi met behulp van hun API's met behulp van de volgende code. Importeer de os- en getpass-bibliotheken die kunnen worden gebruikt om de API-sleutels van hun respectievelijke accounts in te voeren:

importeren Jij
importeren Krijg een pas

Jij . ongeveer [ 'OPENAI_API_KEY' ] = Krijg een pas . Krijg een pas ( 'OpenAI API-sleutel:' )
Jij . ongeveer [ 'SERPAPI_API_KEY' ] = Krijg een pas . Krijg een pas ( 'Serpapi API-sleutel:' )

Stap 3: Bibliotheken importeren

Na het instellen van de omgeving importeert u eenvoudigweg de vereiste bibliotheken uit de LangChain-afhankelijkheden zoals hulpprogramma's, agenten, llm en andere:

van langketen. llms importeren Open AI

van langketen. nutsvoorzieningen importeren SerpAPIWrapper

van langketen. agenten . uitvoer_parsers importeren SelfAskOutputParser

van langketen. agenten . format_kladblok importeren format_log_to_str

van langketen importeren middelpunt

van langketen. agenten importeren initialiseer_agent , Hulpmiddel

van langketen. agenten importeren Agenttype

Stap 4: Taalmodellen bouwen

Het verkrijgen van de bovenstaande bibliotheken is tijdens het hele proces vereist, omdat OpenAI() wordt gebruikt om het taalmodel te configureren. Gebruik de SerpAPIWrapper()-methode om de zoekvariabele te configureren en de tools in te stellen die nodig zijn voor de agent om alle taken uit te voeren:

llm = Open AI ( temperatuur = 0 )
zoekopdracht = SerpAPIWrapper ( )
hulpmiddelen = [
Hulpmiddel (
naam = 'Tussentijds antwoord' ,
func = zoekopdracht. loop ,
beschrijving = 'handig voor als je moet vragen met zoeken' ,
)
]

Stap 5: LangChain-expressietaal gebruiken

Aan de slag met het configureren van de agent met behulp van de LangChain Expression Language (LCEL) door het model in de promptvariabele te laden:

snel = middelpunt. trekken ( 'hwchase17/self-ask-with-search' )

Definieer een andere variabele die kan worden uitgevoerd om het genereren van tekst te stoppen en de lengte van de antwoorden te bepalen:

llm_met_stop = llm. binden ( stop = [ ' \N Tussentijds antwoord:' ] )

Configureer nu de agenten met behulp van Lambda, een gebeurtenisgestuurd serverloos platform om de antwoorden op de vragen te genereren. Configureer ook de stappen die nodig zijn om het model te trainen en te testen om de geoptimaliseerde resultaten te verkrijgen met behulp van de eerder geconfigureerde componenten:

tussenpersoon = {
'invoer' : lambda x: x [ 'invoer' ] ,
'agent_kladblok' : lambda x: format_log_to_str (
X [ 'tussenstappen' ] ,
observatie_voorvoegsel = ' \N Tussentijds antwoord: ' ,
llm_voorvoegsel = '' ,
) ,
} | prompt | llm_met_stop | SelfAskOutputParser ( )

Stap 6: Agent Executor configureren

Voordat u de methode test, importeert u eenvoudigweg de AgentExecutor-bibliotheek uit de LangChain om de agent responsief te maken:

van langketen. agenten importeren AgentUitvoerder

Definieer de variabele agent_executor door de methode AgentExecutor() aan te roepen en de componenten als argumenten te gebruiken:

agent_uitvoerder = AgentUitvoerder ( tussenpersoon = tussenpersoon , hulpmiddelen = hulpmiddelen , uitgebreid = WAAR )

Stap 7: De agent uitvoeren

Zodra de agent-uitvoerder is geconfigureerd, kunt u deze eenvoudigweg testen door de vraag/prompt in de invoervariabele op te geven:

agent_uitvoerder. aanroepen ( { 'invoer' : 'Wie is de US Open-kampioen bij de heren' } )

Het uitvoeren van de bovenstaande code heeft gereageerd met de naam van de US Open-kampioen in de uitvoer, namelijk Dominic Thiem:

Stap 8: Self-Ask Agent gebruiken

Nadat u het antwoord van de agent heeft ontvangen, gebruikt u de SELF_ASK_WITH_SEARCH agent met de query in de run() methode:

zelf_vragen_met_zoeken = initialiseer_agent (
hulpmiddelen , llm , tussenpersoon = Agenttype. SELF_ASK_WITH_SEARCH , uitgebreid = WAAR
)
self_ask_with_search. loop (
'Wat is de geboorteplaats van Dominic Thiem, de US Open Wereldkampioen'
)

De volgende schermafbeelding laat zien dat de zelfvragende agent de informatie over elke belangrijke term uit de gegevensset haalt. Zodra het alle informatie over de vraag heeft verzameld en de vragen begrijpt, genereert het eenvoudigweg het antwoord. De vragen die de agent zelf stelt zijn:

  • Wie is Dominic Thiem?
  • Wat is de geboorteplaats van Dominic Thiem?

Nadat de agent de antwoorden op deze vragen heeft gekregen, heeft hij het antwoord op de oorspronkelijke vraag gegenereerd: “ Wiener Neustadt, Oostenrijk ”:

Dat gaat allemaal over het proces van het implementeren van de zelfvraag met een zoekketen met behulp van het LangChain-framework.

Conclusie

Om de zelfvraag met zoeken in LangChain te implementeren, installeert u eenvoudig de vereiste modules zoals google-search-results om de resultaten van de agent te krijgen. Stel daarna de omgeving in met behulp van de API-sleutels van de OpenAI- en SerpAPi-accounts om aan de slag te gaan met het proces. Configureer de agent en bouw het model met het self-ask-model om het te testen met behulp van de AgentExecutor() -methode.