Customer Service Discord Bot Using SambaNova with Agentic RAG
You can also check this cookbook in colab here
⭐ Star us on Github, join our Discord or follow our X
Installation and Setup
First, install the CAMEL package with all its dependencies
Next, set up your API keys for Firecrawl and SambaNova
If you don’t have a FireCrawl API key, you can obtain one by following these steps:
-
Visit the FireCrawl API Key page https://www.firecrawl.dev/app/api-keys
-
Log in or sign up for a FireCrawl account.
-
Navigate to the ‘API Keys’ section.
-
Click on ‘Create API Key’ button to generate a new API key.
For more details, you can also check the Firecrawl documentation: https://docs.firecrawl.dev/api-reference/introduction
If you don’t have a SambaNova Cloud API key, you can obtain one by following these steps:
-
Visit the SambaNova Cloud page https://cloud.sambanova.ai/apis
-
Log in or sign up for a SambaNova account.
-
Navigate to the ‘API Keys’ section.
-
Click on ‘Create API Key’ button to generate a new API key.
For more details, you can also check the SambaNova documentation: https://community.sambanova.ai/c/docs/
Alternatively, if running on Colab, you could save your API keys and tokens as Colab Secrets, and use them across notebooks.
To do so, comment out the above manual API key prompt code block(s), and uncomment the following codeblock.
⚠️ Don’t forget granting access to the API key you would be using to the current notebook.
Knowledge Crawling and Storage
Use Firecrawl to crawl a website and get markdown content as external knowledge:
Store the content in a markdown file:
Basic Agent Setup
Qwen is large language model developed by Alibaba. It is trained on a massive dataset of text and code and can generate text, translate languages, write different kinds of creative content, and answer your questions in an informative way.
Use Qwen models with SambaNova Cloud to set up CAMEL agent:
Insert the external knowledge to Agent
Basic Chatbot Setup
Let’s set up the basic Chatbot with CAMEL Agent and ask some questions!
Example question you can ask:
How SambaNova Cloud supports Qwen 2.5 Coder and how fast it is?
Basic Discord Bot Integration
To build a discord bot, a discord bot token is necessary.
If you don’t have a bot token, you can obtain one by following these steps:
-
Go to the Discord Developer Portal:https://discord.com/developers/applications
-
Log in with your Discord account, or create an account if you don’t have one
-
Click on ‘New Application’ to create a new bot.
-
Give your application a name and click ‘Create’.
-
Navigate to the ‘Bot’ tab on the left sidebar and click ‘Add Bot’.
-
Once the bot is created, you will find a ‘Token’ section. Click ‘Reset Token’ to generate a new token.
-
Copy the generated token securely.
To invite the bot:
-
Navigate to the ‘OAuth2’ tab, then to ‘URL Generator’.
-
Under ‘Scopes’, select ‘bot’.
-
Under ‘Bot Permissions’, select the permissions your bot will need (e.g., ‘Send Messages’, ‘Read Messages’ for our bot use)
-
Copy the generated URL and paste it into your browser to invite the bot to your server.
To grant the bot permissions:
-
Navigate to the ‘Bot’ tab
-
Under ‘Privileged Gateway Intents’, check ‘Server Members Intent’ and ‘Message Content Intent’.
For more details, you can also check the official Discord bot documentation: https://discord.com/developers/docs/intro
This code cell sets up a simple Discord bot using the DiscordApp class from the camel.bots library. The bot listens for messages in any channel it has access to and provides a response based on the input message.
Integrating Qdrant for More Files to build a more powerful Discord bot
Qdrant is a vector similarity search engine and vector database. It is designed to perform fast and efficient similarity searches on large datasets of vectors. This enables the chatbot to access and utilize external information to provide more comprehensive and accurate responses. By storing knowledge as vectors, Qdrant enables efficient semantic search, allowing the chatbot to find relevant information based on the meaning of the user’s query.
In this section, we will add more data source, including camel’s example code regarding how to use SambaNova Cloud, then ask more complex questions.
Set up an embedding model and retriever for Qdrant: You can use Tesla T4 Google Colab instance for running open-source embedding models with RAG functionality for bots, feel free switch to other embedding models supported by CAMEL.
Set up the AutoRetriever for retrieving relevant information from a storage system.
Use Auto RAG to retrieve first and then answer the user’s query using CAMEL ChatAgent
based on the retrieved info:
Start from the same query as before:
Since we also added CAMEL’s example code to the RAG Bot, let’s ask some code related question:
Ask the bot to guide you through setting up Qwen2.5-Coder-32B-Instruct
. CAMEL’s bot, equipped with memory capabilities, can assist effectively by leveraging its ability to recall related information from previous interactions!
That’s everything: Got questions about 🐫 CAMEL-AI? Join us on Discord! Whether you want to share feedback, explore the latest in multi-agent systems, get support, or connect with others on exciting projects, we’d love to have you in the community! 🤝
Check out some of our other work:
-
🐫 Creating Your First CAMEL Agent free Colab
-
Graph RAG Cookbook free Colab
-
🧑⚖️ Create A Hackathon Judge Committee with Workforce free Colab
-
🔥 3 ways to ingest data from websites with Firecrawl & CAMEL free Colab
-
🦥 Agentic SFT Data Generation with CAMEL and Mistral Models, Fine-Tuned with Unsloth free Colab
Thanks from everyone at 🐫 CAMEL-AI