Saltearse al contenido

RetrieverTool

El RetrieverTool es un componente sencillo que crea una herramienta de búsqueda (BaseTool) a partir de un retriever existente. Con él, puedes integrar la capacidad de búsqueda de datos en tus flujos de trabajo de Nappai sin necesidad de escribir código adicional.

¿Cómo funciona?

Internamente, el componente toma el retriever que le pasas y lo combina con un nombre, una descripción y, opcionalmente, un prefijo de prompt. Luego llama a la función create_retriever_tool_with_prefix, que devuelve un objeto BaseTool. Este objeto puede ser usado por los LLMs de LangChain para solicitar información específica a través del retriever.

No se hace ninguna llamada a APIs externas; todo el procesamiento ocurre localmente dentro del entorno de Nappai.

Entradas

Campos de Entrada

  • Retriever: El objeto de búsqueda que ya tienes configurado (por ejemplo, un retriever de documentos).
  • Prefix Prompt: Texto opcional que se antepone a cada consulta enviada al retriever.
  • Description: Explicación breve de lo que hace la herramienta; se muestra al usuario del LLM.
  • Name: Nombre identificador de la herramienta; debe ser único dentro del flujo.

Salidas

  • Tool: Un objeto BaseTool listo para ser usado por el LLM. Puedes conectar esta salida a cualquier componente que acepte herramientas, como un agente de LangChain.

Ejemplo de Uso

  1. Añade un componente Retriever (por ejemplo, un retriever de documentos PDF) y conéctalo al campo Retriever del RetrieverTool.
  2. Escribe un nombre corto, como “DocSearch”.
  3. Proporciona una descripción clara, por ejemplo: “Busca información relevante en los documentos cargados”.
  4. (Opcional) Añade un prefijo de prompt, por ejemplo: “Consulta:”.
  5. Conecta la salida Tool a un agente de LangChain que necesite buscar datos.

Con esto, cuando el agente haga una pregunta, el LLM enviará la consulta al retriever a través de la herramienta creada, y obtendrá los resultados pertinentes.

Consejos y Mejores Prácticas

  • Mantén la descripción breve: Los usuarios del LLM leerán esta descripción, así que hazla clara y directa.
  • Usa prefijos de prompt cuando necesites un formato consistente: Por ejemplo, si tu retriever espera que las consultas comiencen con “Consulta:”.
  • Revisa la configuración del retriever antes de conectarlo: Asegúrate de que esté indexado y actualizado.
  • Evita nombres duplicados: Cada herramienta debe tener un nombre único dentro del mismo flujo.

Consideraciones de Seguridad

  • Control de acceso: Asegúrate de que solo los usuarios autorizados puedan crear y usar herramientas que accedan a datos sensibles.
  • Validación de entradas: Si el prefijo de prompt se construye dinámicamente, valida que no introduzca código malicioso.
  • Auditoría: Registra cuándo y por quién se crea cada herramienta para poder rastrear su uso en caso de incidentes.