AI Agents
Introduction
Dataworkz Agents are LLM-based multi-step software systems that leverage RAG and the ability to interact with the external world to enable use-cases far beyond what would be possible with conventional RAG. By incorporating decision making through powerful reasoning LLMs and a feature-rich and robust Tool execution framework, Agents can solve complex problems, personalize results, interact with users with a degree of sophistication that enables myriad new use-cases.
Your business requirements and your imagination may be the limit to what you can achieve with Agents. Some use-cases that can be powered by Agents include -
Enhanced Information Retrieval (Advanced Agent driven RAG)
Dataworkz Agents can be deployed for internal employees going beyond conventional RAG to make the responses relevant to them or to their work. For instance, customer support agents can retrieve information about troubleshooting a customer’s issue that is aware of the customer’s specific product and version from the relevant system with the knowledge base of known issues. A conventional RAG system would be unable to retrieve the customer’s information and would provide more general information, requiring the agent to spend time deciding whether the answers are relevant or not.
Customer chatbot
Agents can act as a first contact chatbot on websites answering questions about their orders as well as applying policies and rules to their specific situation. The resultant answers from the Agent can be sophisticated and very personalized to the specific customer. This level of sophistication is not possible with conventional RAG.
This and several other use-cases can be achieved via Dataworkz Agents with minimal technical and AI knowledge.
In this document, we explain the concepts involved in Dataworkz Agents, dig deeper into some of the configuration aspects to understand them better and provide details on how you can create your own Agents.
Overview
Dataworkz Agents are LLM reasoning engines coupled with information retrieval capabilities.
The Agent is configured with access to a number of different tools that provide the Agent with numerous abilities or skills (called tools) such as querying customer profiles, fetching order information, calling external services, performing currency conversions, etc.
The reasoning engine provides the Agent with the ability to create a plan of execution to solve a problem leveraging the tools provided to it. A plan is composed of a series of steps. Each step invokes a tool with a set of parameters it expects. The parameters for each tool invocation are discovered by the Agent from
the conversation the user has had so far
the environment in which the Agent is executing
the context of the question the user is asking
results of previous plan steps
E.g. In this conversation -
AI: You have 2 orders -
Order # 232: Order is for a Yellow Shirt
Order # 233: Order is for White Socks
User: What is the status of the order with the socks?
The Agent will figure out that the user means Order # 233 when they refer to the order with the white socks from the conversation so far. If a tool requires the customer’s id, that might be available from the context.
An Example plan to get order status for the order with white socks
might look like this -
FetchCustomerDetails(customer_id=’CUST2342’) # customer_id populated from the logged in user’s info
FetchOrderDetails(customer_id=’CUST2342’, order_id=’233’) # order_id populated from the conversation context
FetchShippingDetails(shipping_tracking_id=$2.tracking_no) # where $2 refers to plan step2 and tracking_no is a value available in the return of plan step #2
The Agent will orchestrate these calls, passing the correct arguments to the right tools. The plan does not need to be complete - it can solve either the whole or part of the problem. Once the plan is executed, the Agent will analyze the result and can take one of 3 steps -
if it has retrieved enough information to answer the user’s question it will Finish and respond to the user
If it does not have the answer to the user’s question but it does have more information to proceed, the agent will iterate and continue with further plan creation using the previous plan as context to the next plan’s execution. This iterative process, will continue as the Agent builds up more and more information
If it does not have the answer and it has exhausted all avenues of information retrieval it may do one of the following -
If the problem is because it is missing input it may ask the user
If the problem is because some tool invocation failed it may Finish but respond with a message indicating failure to retrieve information
If the problem is because it cannot answer either because the problem is beyond its reasoning abilities or it just doesn’t have the answer it may respond accordingly
This orchestrated execution, coupled with reasoning and planning followed by analysis in an interactive fashion enables the Agent to solve complex problems.
Dataworkz Agents can be accessed from the AI Agents menu item. The interface consists of 2 sections -
The left section is the list of agents that have been built or are under development. You can create/view/delete and edit Dataworkz Agents
The right section is the tools repository and provides a list of tools available in this account to use in Agents. You can create new tools and view/edit and delete tools from here. You can also filter tools by type.
Last updated