Building reporting services using Quarkus and AI by Alexis Panousis and Kostas Sidiropoulos

Learn how to build secure reporting services using Quarkus and AI models. Discover techniques for natural language queries, SQL generation, and implementing AI guardrails.

Key takeaways
  • Leverages Quarkus and AI to transform tedious reporting tasks into automated workflows using natural language queries

  • Uses LangChain4j to integrate with multiple AI models (Ollama, OpenAI) for different purposes:

    • Ollama for SQL generation
    • OpenAI for security validation
    • Ability to compare results between models
  • Implements guardrails and security features:

    • Validates and sanitizes AI-generated SQL queries
    • Removes sensitive data like passwords from responses
    • Intercepts outgoing payloads for security checks
  • Key technical components:

    • Quarkus for rapid development and hot reload
    • Import SQL for sample data generation
    • REST API endpoints for natural language queries
    • AI models for query translation
    • PostgreSQL database backend
  • Development workflow benefits:

    • Reduces boilerplate code writing
    • Enables quick iteration through AI assistance
    • Maintains developer control while leveraging AI capabilities
    • Allows dynamic report generation without constant code changes
  • Important considerations:

    • Need for proper prompt engineering
    • Testing AI model outputs
    • Balancing convenience vs security
    • Understanding model limitations
    • Maintaining developer expertise while using AI tools
  • Built for real business use cases around reporting needs with focus on:

    • Sales data
    • User information
    • Order processing
    • Dynamic filtering and aggregation