Managed Skills
Last updated
Last updated
Skills are the basics building blocks of building AI automations. Use skills to perform tasks using LLMs in a controlled way.
A skill in Root Signals is defined by an Objective and a semantic function that implements it. The semantic function consists of a Prompt and a Model.
The semantic function takes one or more variables as input and returns a response as output. The Prompt is a string of text that contains one or more variables. The response is a string of text.
The skill may contain variables that are bound to values at runtime, i.e., they are defined when the skill is executed.
The skill is, in essence, automated task or capability that leverages AI models to accomplish a specific Objective based on the provided prompt and any input variables. The skill's performance can be directly validated and tested using the Objective.
Skills can be created through the Root Signals SDK or via UI (beta feature). Check the minimal skill example in the SDK documentation. https://sdk.rootsignals.ai/en/latest/examples.html#minimal-skill
After creating a skill, you can view its details from the skill card in the Root Signals web application. The skill card displays information such as the skill's state (listed or unlisted), versions, intent, prompt, recent validator results, and endpoint. You can also edit the skill, chat with it (if applicable), or execute it directly from the skill card.
Variables make your skill dynamic. Variables are included as part of the prompt with curly braces {{ }}
When creating a skill in Root Signals, you can define variables in the prompt that will be filled in when the skill is executed. There are three types of variables you can use:
Input variables are values that the user of the skill has to provide when executing the skill. These are defined by enclosing the variable name in double curly brackets, like {{variable_name}}. When the skill is executed, the user will be prompted to provide a value for each input variable defined in the prompt.
Reference variables allow you to refer to a dataset that has been uploaded to Root Signals. This is useful for skills that need to access a specific set of reference data, like a knowledge base or product catalog.
Reference variables are key for implementing retrieval augmented generation (RAG) where the skill can access and utilize relevant documents to inform its output.
Data loader variables allow the skill to dynamically fetch data from an external source at execution time. There are currently four types of data loaders supported:
API Call: Makes an HTTP GET request to a specified API endpoint. The response is used as the variable value. You define the endpoint URL and any required headers.
PostgreSQL: Executes a SQL query against a PostgreSQL database. The query results are used as the variable value. You provide the database connection string and query.
Web Page: Fetches the contents of a web page given a URL. The page HTML is used as the variable value.
Web Search: Performs a web search using Google or Bing. The search results are used as the variable value. You provide the search query.
Data loaders allow skills to incorporate real-time or frequently updated data without having to manually upload datasets.
By combining input, reference, and data loader variables, you can create powerful and dynamic skills that tailor their outputs to the specific user request and up-to-date information. The flexible variable system is one of the key features enabling Root Signals skills to be reusable across different contexts and use cases.