Agent Framework#

In the field of artificial intelligence (AI), the ability to enhance or complement the capabilities of a Large Language Model (LLM) using specialized tools, plays a pivotal role. The combination of an LLM and tools is often referred to as an agent.

SquirroGPT can leverage the agent framework by routing specific tasks to dedicated tools, improving both the capability and performance of AI workflows. The generative AI service is capable of interfacing with a wide variety of tools capable of content creation, analysis, enrichment, classification, fact-checking, and transformation.

The Squirro agent framework is a structured, reusable software environment designed to facilitate the development, deployment, and management of agents. It offers standardized components and interfaces to streamline the implementation of an advanced and scalable Squirro platform.


A tool is a script or program called by the agent, designed to perform a specific function or a set of functions that assist the LLM in formulating a response. Contrary to the data connectors, the agent framework retrieves only the necessary information without requiring access to the data storage layer of the Squirro platform. After an initial analysis of the user prompt, the LLM activates one or more tools as needed.

Examples of Tools#

Squirro Retriever#

Available out of the box, the Squirro Retriever tool extends the knowledge base using the content of a Squirro project when needed.

Here is an extract of the YAML configuration file:

 ...
tools:
       - $runnable: tools/retriever_tool
         name: SquirroRetriever
         enabled:
           $placeholder: use_squirro_retriever
           default: true
         description: "Retrieves information from the Squirro project, uses a natural language question for query."
         retriever:
           $runnable: squirro/retrievers/squirro_retriever
           cluster:
             $placeholder: squirro_cluster
             env_lookup: "SQUIRRO_CLUSTER"
           refresh_token:
             $placeholder: squirro_refresh_token
             env_lookup: "SQUIRRO_REFRESH_TOKEN"
           project_id:
             $placeholder: squirro_project_id
             env_lookup: "SQUIRRO_PROJECT_ID"
           tenant:
             $placeholder: squirro_tenant
           query_context:
             $placeholder: squirro_query_context
           limit:
             $placeholder: squirro_retriever_top_k
             default: 5
 ...

Wikipedia#

Available out of the box, the Wikipedia tool extends the knowledge base and optimizes the output of the LLM by accessing content on Wikipedia when needed.

Here is an extract of the YAML configuration file:

 ...
tools:
       - $runnable: tools/retriever_tool
         name: Wikipedia
         enabled:
           $placeholder: use_wikipedia_retriever
           default: true
         description: "Retrieves general information from Wikipedia, uses keywords for query."
         retriever:
           $runnable: wikipedia/retrievers/wikipedia_retriever
 ...

Get started#

The Squirro agent framework is the ideal solution for designing scalable solutions for problem-solving and decision-making. Software developers and solution engineers interested in developing specific tools for the Squirro platform can contact us.