This guide provides step-by-step instructions for setting up a Snowflake connector with Role-Based Access Control (RBAC) and integrating it with Abacus.AI's ChatLLM platform. This configuration enables secure, user-level access to Snowflake data through a conversational AI interface.
The integration follows a secure RBAC flow where each user authenticates individually with Snowflake, ensuring data access is governed by their specific permissions.
Create a Snowflake connector at the organization level following the RBAC Flow for Snowflake documentation. Ensure you include additional details for:
After creating the connector, navigate to the projects page by clicking on the Abacus.AI logo.
Create a new project to house your ChatLLM implementation.
Select ChatLLM - Custom LLM Chat option from the available project types.
Enter a descriptive name for your project that reflects its purpose.
Select Skip to project dashboard to proceed directly to the main project interface.
Click on the Model option in the left toolbar and select Train Model in the top right corner of the page.
![Train model]](/static/imgs/connectors/snowflake_user_images/model_selection.webp){width=900px }
From the dropdown in Structured data source, select External service.
Select the connector you created in Step 1 from the dropdown menu.
Click on Train Model to begin the model training process.
Once training is complete, click on Models and select your trained model.
Click on Create a new deployment to prepare your model for production use.
Select Offline Batch + Realtime deployment type and click Next.
Enter a user-friendly name that your end users will see and click Deploy.
Return to your model by clicking on Model and then your model name. Wait for the deployment to reach Active state, then click on the deployment name.
Click on the Prediction Dash option under Deployment.
Click on Go to Abacus.AI chat to test your bot.
When users enter their first question/prompt, they will be prompted to log in to Snowflake. Each user must authenticate using their individual Snowflake credentials.
The system will present the Snowflake login screen:
Once authenticated, users can interact with the chat interface to query their Snowflake data:
The system will process queries and return results based on the user's RBAC permissions:
This setup provides a secure, scalable solution for enabling conversational access to Snowflake data while maintaining strict RBAC controls. Users can interact naturally with their data through the chat interface while the system ensures they only access information according to their assigned permissions.