Agenti, LLM e risposta alle domande multihop
All'interno di un framework di sviluppo, gli agenti possono avere accesso a una suite di strumenti; in base all'input e alle richieste dell'utente. Laddove non esistono catene predeterminate, gli agenti possono soddisfare la richiesta dell'utente.
Organizzare la scena
L'accesso e lo sviluppo su Large Language Models (LLM) è un campo in continua espansione...
Tuttavia, stanno emergendo alcuni principi che vengono ampiamente implementati.
Considerando l'immagine sopra, i quattro livelli appena sopra l'LLM sono tutti direttamente correlati a diversi approcci e implementazioni di prompt .
C'è stata un'evoluzione nei metodi di implementazione rapida .
Il concatenamento dei prompt è il processo di concatenamento o sequenziamento di un numero di prompt per creare un'applicazione più grande. Le sequenze di prompt possono essere disposte in serie o in parallelo.
Tuttavia, uno degli impedimenti del concatenamento rapido è che il concatenamento è un flusso predeterminato o una sequenza di chiamate a LLM e altre API.
Che dire di potenziali scenari sconosciuti o comportamenti degli utenti per i quali non è stata sviluppata alcuna catena? Può esserci un livello di autonomia, in cui l'applicazione basata su LLM può decidere quale percorso servirà meglio la richiesta dell'utente? Entra Agenti .
Considerando un agente che ha accesso a un modello estrattivo ( prompt pipeline ), addestrato su un corpus di dati contenente informazioni sui presidenti degli Stati Uniti...
Il modello estrattivo basato sull'archivio di documenti risponde bene alla seguente semplice domanda:
Who was the 1st president of the USA?
Ma l'Agente basato esclusivamente su un modello estrattivo non fa bene a trovare risposte a una domanda che non corrisponde chiaramente a una frase nell'archivio dei documenti .
Nell'esempio seguente, all'agente viene posta una domanda ambigua:
What year was the 1st president of the USA born?
Questa può essere considerata una domanda multihop, che richiede un livello di deduzione e ragionamento.
Se l'agente ha accesso all'archivio documenti (modello estrattivo) e a un LLM, l'agente può decidere quale strumento del suo arsenale utilizzare per soddisfare al meglio la richiesta dell'utente.
Sfruttando l'LLM, l'agente può anche seguire un approccio multihop per rispondere alla domanda, seguendo un ragionamento a catena di pensiero per rispondere alla domanda.
Di seguito è riportata la risposta dell'agente Haystack alla domanda, nota come la domanda è scomposta e nota come viene seguito un approccio di suggerimento della catena del pensiero .
Finalmente
Nel caso dell'agente Haystack, l'esatta formulazione della descrizione è molto importante. L' agente sfrutta questa descrizione per capire quale strumento utilizzare.
Se l'agente non riesce a scegliere lo strumento giusto, puoi modificare la descrizione.
Ho cambiato la descrizione da:
useful for when you need to answer questions related to the presidents of the USA.
A:
useful for when you need to answer questions related to the presidents of the USA when there is no answer in the document store.
Sotto lo snippet di codice...
from haystack.agents import Tool
search_tool = Tool(name="USA_Presidents_QA",pipeline_or_node=presidents_qa,
description="useful for when you need to answer questions related to the presidents of the USA when there is no answer in the document store.",
output_variable="answers"
)
agent.add_tool(search_tool)
⭐️ Seguimi su LinkedIn per gli aggiornamenti sull'IA conversazionale ⭐️
Attualmente sono il Chief Evangelist @ HumanFirst . Esploro e scrivo di tutte le cose all'intersezione tra intelligenza artificiale e linguaggio; che vanno da LLM , chatbot , voicebot , framework di sviluppo, spazi latenti incentrati sui dati e altro ancora.

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































