This project is a MuleSoft-based chatbot designed to assist users in identifying the most suitable connectors for their MuleSoft integration flows. By leveraging the MuleSoft AI Chain Connector and implementing a Retrieval-Augmented Generation (RAG) architecture, the chatbot provides accurate and context-aware recommendations.
The chatbot enhances the user experience by suggesting appropriate MuleSoft connectors based on user queries. It utilizes a local knowledge store containing vectorized data from Anypoint Exchange documentation, enabling efficient retrieval and recommendation of connectors that align with user needs. Additionally, the project includes a user-friendly interface built with HTML, CSS, and JavaScript that connects to the chatbot's MuleSoft API.
The primary goal of this project is to streamline the process of selecting MuleSoft connectors by:
- Providing Accurate Recommendations: Suggesting connectors that best fit the user's integration requirements.
- Enhancing User Experience: Offering a conversational interface for seamless interaction.
- Leveraging Advanced AI Techniques: Utilizing RAG architecture to improve the relevance and accuracy of responses.
The chatbot's architecture comprises the following components:
-
MuleSoft API: Manages the chatbot's operations and integrates various flows.
-
Local Knowledge Store: A repository that stores vectorized data from Anypoint Exchange documentation, facilitating quick retrieval of relevant information.
-
Data Vectorization Flows:
/store
: Creates the local knowledge store.
/addDocs
: Adds vectorized data about all connectors from Anypoint Exchange into the knowledge store.
- User Query Processing Flow:
/template
: Processes user requests by passing them to a Large Language Model (LLM) along with contextual data from the knowledge store to generate accurate responses.
-
Front-End Interface:
- A responsive web interface created with HTML, CSS, and JavaScript to allow users to interact with the chatbot.
- The interface communicates with the MuleSoft API via HTTP requests, sending user queries and displaying responses in real time.
- MuleSoft Anypoint Studio: The development environment used to build, test, and deploy the MuleSoft API flows.
- MuleSoft AI Chain Connector: Facilitates the integration of AI capabilities within the MuleSoft ecosystem.
- Retrieval-Augmented Generation (RAG): Enhances AI-generated outputs by retrieving relevant content to augment AI prompts with additional context.
- Anypoint Exchange: Serves as the source of connector documentation and information.
- HTML, CSS, and JavaScript: Powers the front-end interface for user interaction.
Follow these steps to set up and run the chatbot:
-
Prerequisites:
- Java
- Anypoint Studio
- LLM API key (LLaMA 3-70B is used in this project)
-
Installation:
- Clone the repository:
git clone https://github.com/yourusername/MuleSoft-Chatbot-Connector-Recommender.git
- import the project
project1.jar
file into MuleSoft Anypoint Studio. - Ensure the MuleSoft AI Chain Connector is added to your project.
- Clone the repository:
-
Configuration:
- Set up the local knowledge store by running the
/store
flow. - Add connector documentation data (
data
folder) by executing the/addDocs
flow.
- Set up the local knowledge store by running the
-
Front-End Setup:
- Navigate to the
frontend
folder in the project directory. - Open the
index.html
file in your browser to load the chatbot interface.
- Navigate to the
-
Running the Chatbot:
- Run the Mule application locally in Anypoint Studio
- Interact with the chatbot through the front-end interface, submitting queries to receive connector recommendations.
- User queries submitted through the interface are sent via JavaScript to the
/template
endpoint of the MuleSoft API for processing.
Contributions are welcome! Please fork the repository and submit a pull request with your enhancements.
Special thanks to the MuleSoft community and the developers of the MuleSoft AI Chain Connector for their invaluable resources and support.