Back to Templates

Build a Voice AI Chatbot with ElevenLabs and InfraNodus Knowledge Experts

Created by

Created by: InfraNodus || infranodus

InfraNodus

Last update

Last update 23 days ago

Categories

Share


Set Up ElevenLabs Voice Chat Agent using Graph RAG Knowledge Graphs as Experts

This workflow creates an AI voice chatbot agent that has access to several knowledge bases at the same time (used as "experts").

These knowledge bases are provided using the InfraNodus GraphRAG using the knowledge graphs and providing high-quality responses without the need to set up complex RAG vector store workflows.

We use ElevenLabs to set up a voice agent that can be embedded to any website or used via their API.

The advantages of using GraphRAG instead of the standard vector stores for knowledge are:

  • Easy and quick to set up (no complex data import workflows needed) and to update with new knowledge
  • A knowledge graph has a holistic overview of your knowledge base
  • Better retrieval of relations between the document chunks = higher quality responses
  • Ability to reuse in other n8n workflows

InfraNodus knowledge graph

How it works

This template uses the n8n AI agent node as an orchestrating agent that decides which tool (knowledge graph) to use based on the user's prompt.

The user's prompt is received from the ElevenLabs Conversational AI agent via an n8n Webhook, which also takes care of the voice interaction.

The response from n8n is then sent to the Webhook, which is polled by the ElevenLabs voice agent. This agent processes the response and provides the final answer.

Here's a description step by step:

  • The user submits a question using ElevenLabs voice interface
  • The question is sent via the knowledge_base tool in ElevenLabs to the n8n Webhook with the POST request containing the user's prompt and sessionID for Chat Memory node in n8n.
  • The n8n AI agent node checks a list of tools it has access to. Each tool has a description of the knowledge auto-generated by InfraNodus (we call each tool an "expert").
  • The n8n AI agent decides which tool should be used to generate a response. It may reformulate user's query to be more suitable for the expert.
  • The query is then sent to the InfraNodus HTTP node endpoint, which will query the graph that corresponds to that expert.
  • Each InfraNodus GraphRAG expert provides a rich response that takes the whole context into account and provides a response from each expert (graph) along with a list of relevant statements retrieved using a combination or RAG and GraphRAG.
  • The n8n AI Agent node integrates the responses received from the experts to produce the final answer.
  • The final answer is sent back to the Webhook endpoint
  • ElevenLabs conversational AI agent picks up the response arriving from the knowledge_base tool via the webhook and then condenses it for conversational format and transforms text into voice.

How to use

You need an InfraNodus GraphRAG API account and key to use this workflow.

  • Create an InfraNodus account
  • Get the API key at https://infranodus.com/api-access and create a Bearer authorization key for the InfraNodus HTTP nodes.
  • Create a separate knowledge graph for each expert (using PDF / content import options) in InfraNodus
  • For each graph, go to the workflow, paste the name of the graph into the body name field.
  • Keep other settings intact or learn more about them at the InfraNodus access points page.
  • Once you add one or more graphs as experts to your flow, add the LLM key to the OpenAI node and launch the workflow
  • You will also need to set up an ElevenLabs account and to set up a conversational AI agent there. See the Post note in the n8n workflow for a complete step-by-step description or our support article on setting up ElevenLabs AI voice agent
  • Once the voice AI agent is ready, you might want to combine it with a text AI chatbot workflow so your users have a choice between the text and voice interaction. In that case, you may be interested to use our free open-source website popup chat widget popupchat.dev where you can create an embed code to add to your blog or website and allow the user to choose between the text and voice interaction.

Requirements

  • An InfraNodus account and API key
  • An OpenAI (or any other LLM) API key
  • An ElevenLabs account

FAQ

1. How many "experts" should I aim for?

We recommend to aim for the number of experts as the optimal number of people in a team, which is usually 2-7. If you add more experts, your AI orchestrating agent will have troubles choosing the most suitable "expert" tool for the user's query. You can mitigate this by specifying in the AI agent description that it can choose maximum 3-7 experts to provide a response.

2. Why use InfraNodus GraphRAG and not standard vector store for knowledge?

First, vector stores are complex to set up and to update. You'd need a separate workflow for that, decide on the vector dimensions, add metadata to your knowledge, etc.
With InfraNodus, you have a complete RAG / GraphRAG solution under the hood that is easy to set up and provides high-quality responses that takes the overall structure and the relations between your ideas into account.

3 Why not use ElevenLabs' own knowledge?

One of the reasons is that you want your knowledge base to be in one place so you can reuse it in other n8n workflows. Another reason is that you will not have such a good separation between the "experts" when you converse with the agent. So the answers you get will be based on top matches from all the books / articles you upload, while with the InfraNodus GraphRAG setup you can better control which graphs are consulted as experts and have an explicit way to display this data.

Customizing this workflow

You can use this same workflow with a Telegram bot, so you can interact with it using Telegram. There are many more customizations available on our GitHub repo for n8n workflows.

Check out the complete setup guide for this workflow at https://support.noduslabs.com/hc/en-us/articles/20318967066396-How-to-Build-a-Text-Voice-AI-Agent-Chatbot-with-n8n-Elevenlabs-and-InfraNodus

Also check out the video tutorial with a demo:

Video tutorial