Inspiration for RijnlandAI - Intelligent Water Management Assistant

Water authorities manage vast amounts of technical documentation, regulations, and historical data that need to be quickly accessible to both staff and residents. Traditional search methods can be time-consuming and may miss important contextual connections. As an elected member of the board, my challenge is to create an intuitive interface that could understand natural language queries and provide accurate, context-aware responses about water management policies, procedures, and environmental data in order to help me vote on important policy matters.

What it does

RijnlandAI is an innovative RAG (Retrieval-Augmented Generation) solution that leverages Snowflake's Cortex search service to create an intelligent chatbot for the Rijnland Regional Water Authority (Hoogheemraadschap van Rijnland). The system helps me and other members of the board access and understand crucial information about water management in one of the Netherlands' oldest water authorities, serving the region between Amsterdam, The Hague, and Utrecht.

How we built it

RijnlandAI uses a sophisticated RAG architecture that combines:

  • Snowflake Cortex search service for efficient document retrieval
  • Vector embeddings for semantic search capabilities
  • Natural language processing for query understanding
  • Context-aware response generation

Natural language interface for querying water management documentation:

  • Semantic search across multiple document types and languages
  • Real-time access to water management policies and procedures
  • Context-preservation for complex, multi-turn conversations
  • Integration with Rijnland's existing knowledge base

MCP integration with Claude Desktop, in order to query backend Snowflake tables

Technical Implementation

Backend: Snowflake Cortex search service Document Processing: Vector embeddings for semantic search Query Processing: Natural language understanding Response Generation: Context-aware text generation Integration: REST API for seamless connection with existing systems

Challenges we ran into

I tried making a GraphRAG architecture, but the model struggled with entity and relation extraction, so I used the approach from the tutorial in the end.

Accomplishments that we're proud of

I was able to ground Snowflake knowledge in a fair amount of time, despite never having worked with it before. Ans of course the MCP-integration with Claude Desktop as yet another Natural Language entry to the Snowflake ecosystem.

What we learned

It's quite easy to build a RAG with Snowflake Cortex and tooling, I would have liked extra tools to build out GraphRAGs, but that's never easy...

What's next for RijnlandAI

RijnlandAI also improves accessibility to water management information for:

  • Internal staff requiring quick access to technical documentation
  • Residents seeking information about water management policies
  • Researchers analyzing historical water management data
  • Emergency responders needing immediate access to critical information

Future Enhancements (zie other hackathon: https://devpost.com/software/dynamic-water-level-management)

  • Integration with real-time water level monitoring systems
  • Mobile application for field operators
  • Enhanced visualization of water management data
  • Integration with weather forecast data for predictive insights

Built With

Share this project:

Updates