Skip to main content

Collections

Collections is a powerful tool that enables the curation and management of a large range of documents from multiple platforms, such as web pages, file uploads and knowledge bases. The main objective of collections is to enhance your virtual assistant, in order to deliver accurate and reliable answers to user queries.

How do collections work?

On every user's message (request), Moveo first tries to answer based on its parameterization from the brain. If the brain returns an unknown, it tries to find the answer on the collections. Moveo classifies the articles that correspond the most to the user's question. Then, it finds the parts of the articles that contain the answer to the user question and generates a response, using its Generative AI / LLM capabilities.

Create a collection

  1. To create a collection, navigate to Build > Collections from the top navigation bar

  2. Select + Create new collection.

  3. Select a name and the language of the collection.

  4. Select your desired datasource.

  5. Configure your datasource. Find instructions below for:

Connect a collection

You can connect a collection to your virtual assistant in the following ways.

  • Brain: Go to the Collection tab of your brain and pick your collection.
  • Collection: Select + Add brain within the collection and select the (one or more) brains you want.

Fragments

Fragments are chunks of text, typically about 400 words each, extracted from the provided content. These segments are processed by AI to ensure efficient and accurate content analysis and interaction.

Each fragment is roughly 400 words.

For example 2500 fragments are approximately between 250 and 300 pages of content.

Customize your agent's AI profile

You can customize your virtual agent's AI profile, by navigating to the settings of your brain. Select the name of the company and fine-tune the assistant's tone of voice. The following parameters can be adjusted to meet your preferences:

  • Company Name
  • Response Length: Short / Long
  • Humor Style: Funny / Neutral / Serious
  • Formality Level: Casual / Neutral / Formal
  • Respectfulness Rating: Irreverent / Neutral / Respectful
  • Enthusiasm Level: Enthusiastic / Neutral / Matter-of-fact

Custom instructions

Custom instructions allow you to add guidelines or requirements for your Virtual Agent to consider when answering customers questions. See below for industry specific examples.

We are a financial institution specializing in providing a range of loan products, including personal, home, and auto loans. Our team is dedicated to offering tailored financing solutions to meet the diverse needs of our customers while ensuring compliance with all regulatory requirements.

Add live instructions

You can add live instructions to the LLM by writing to the live_instructions context variable. Live instructions allow you to provide real-time user information to the LLM, such as the user's transactions, preferences, or any other relevant data.

To add live instructions, you need to update the live_instructions context variable with the desired information. Below is a simple example of how you can pass simple information like the user name and final transaction. The steps you need to perform to achieve are the following:

  • Write the code that fetches the information from your systems (example in Next.js)
  • Create the webhook in the brain in Moveo
  • Add the webhook action when the brain starts, typically the Greetings dialog.
api/live-instructions.ts
import { NextApiRequest, NextApiResponse } from "next";
import * as API from "./api";

const handler = async (req: NextApiRequest, res: NextApiResponse) => {
// First get the user ID from the context of the conversation
const user_id = req.body.context.user_id;

// Call your API in order to get the information needed
const user_info = await API.getUserInfo(user_id);

// Assuming these variables exist in the API response
const { name, transactions, atm } = user_info;
const latest_transaction = transactions[0];

// Create the live instructions variable
const live_instructions = `1. User Name: ${name}
2. Recent Activity: ${name} has made a ${latest_transaction.type} of ${latest_transaction.amount} ${latest_transaction.currency} which is pending and expected to be completed in the next 2-4 days.
3. They can also make a transaction at their nearest ATM located at ${atm.address}`;

return res.json({
output: {
live_instructions,
},
});

export default handler;
};

The result of this is that the LLM now has access to information about the user and can reply to them using personalized data.

tip

Try to pass the information in a clear and structured manner to the LLM. You can use newline characters (\n) and tab characters (\t) to format the information and make it more readable.

Guidelines and best practices

Make sure to follow our best practices guide to ensure the best performance of your collection.