Dentro de un marco de desarrollo, los agentes pueden tener acceso a un conjunto de herramientas; en función de las entradas y demandas del usuario. Donde no existen cadenas predeterminadas, los Agentes pueden atender la solicitud del usuario.
Acceder y desarrollar en Large Language Models (LLM) es un campo en constante expansión…
Sin embargo, están surgiendo algunos principios que se están implementando ampliamente.
Teniendo en cuenta la imagen de arriba, las cuatro capas justo encima del LLM están directamente relacionadas con diferentes enfoques e implementaciones de indicaciones.
Ha habido un evolución en pronta implementación métodos.
El encadenamiento rápido es el proceso de encadenamiento o secuenciación una serie de indicaciones para crear una aplicación más grande. Las secuencias de indicaciones se pueden organizar en serie o en paralelo.
Pero, uno de los impedimentos del encadenamiento rápido, es que el encadenamiento es un predeterminado flujo o secuencia de llamadas a LLM y otras API.
¿Qué pasa con los posibles escenarios desconocidos o el comportamiento del usuario para los que no se ha desarrollado ninguna cadena? ¿Puede haber un nivel de autonomía en el que la aplicación basada en LLM pueda decidir qué ruta atenderá mejor la solicitud del usuario? Ingresar Agentes.
Considerando un Agente que tiene acceso a un modelo extractivo (prompt pipeline), entrenado en un corpus de datos que contiene información sobre presidentes de EE.UU.…
El modelo extractivo basado en el almacén de documentos responde bien a la siguiente pregunta directa:
Who was the 1st president of the USA?
Pero el Agente basado únicamente en un modelo extractivo no hace bien en encontrar respuestas a una pregunta que no coincide claramente con una frase en el almacén de documentos.
En el siguiente ejemplo, se plantea una pregunta ambigua al Agente:
What year was the 1st president of the USA born?
Esto se puede considerar como una pregunta de múltiples saltos, que exige un nivel de deducción y razonamiento.
Si el Agente tiene acceso al almacén de documentos (modelo extractivo) y un LLM, el Agente puede decidir qué herramienta de su arsenal usar para atender mejor la solicitud del usuario.
Aprovechando el LLM, el agente también puede seguir un enfoque de múltiples saltos para responder la pregunta, siguiendo un razonamiento de cadena de pensamiento para responder la pregunta.
A continuación se muestra la respuesta del agente Haystack a la pregunta, observe cómo se descompone la pregunta y observe cómo se sigue un enfoque de impulso de cadena de pensamientos.
En el caso del Haystack Agent, la redacción exacta de la descripción es realmente importante. El Agente aprovecha esta descripción para comprender qué herramienta utilizar.
Si el agente no elige la herramienta adecuada, puede ajustar la descripción.
Cambié la descripción de:
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.
Debajo del fragmento de código…
from haystack.agents import Toolsearch_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)
Al considerar las aplicaciones basadas en LLM, es evidente que la orquestación desempeñará un papel importante, junto con un equilibrio adecuado entre las canalizaciones de solicitud, el encadenamiento de solicitudes y los agentes.
⭐️ Sígueme en LinkedIn para obtener actualizaciones sobre IA conversacional ⭐️
actualmente soy el Evangelista jefe @ HumanFirst. Exploro y escribo sobre todas las cosas en la intersección de la IA y el lenguaje; que van desde LLM, chatbots, Robots de vozmarcos de desarrollo, Espacios latentes centrados en datos y más.