Ragnarok

Welcome to Ragnarok

Ragnarok is a Retrieval-Augmented Generation (RAG) system that combines document ingestion with intelligent query capabilities. This application scrapes web content, converts it to markdown, and stores it in a vector database for semantic search and AI-powered question answering.

Use the links below to navigate through the different modules of the application.

⚙️ Admin / Ingester / RAG Query

For developers with a login. Manage collections, ingest web content, and query the RAG system.

🤖 Chat Widget

Embed the chat widget on any page. Include the CSS and JS files, then initialize with initChatWidget(config).

Configuration Options:

  • apiUrl (required): API endpoint URL
  • title: Widget title (default: "Chat")
  • placeholder: Input placeholder text
  • greeting: Initial greeting message
  • position: "bottom-right" | "bottom-left"
  • theme: "light" | "dark"
  • initialState: "open" | "closed"
  • backendSettings: Backend configuration name
  • showButton: Show floating button (default: true)
  • triggerElementId: Custom trigger element ID
  • initialFirstAnswer: Pre-answer notice text
  • debug: Show metadata (default: false)
  • primaryColor: Custom header/button color
  • faviconUrl: Favicon URL for header
  • userMessageColor: Background color for user messages

Example Code:

<link rel="stylesheet" href="https://cdn.apps.prod.mecodia.cloud/ragnarok-dev-public/frontend/chat-widget.css">
<script src="https://cdn.apps.prod.mecodia.cloud/ragnarok-dev-public/frontend/chat-widget.iife.js"></script>
<script>
  window.initChatWidget({
    apiUrl: "http://bot.medien-kindersicher.de/api/chat/stream",
    title: 'Chat Assistant',
    placeholder: 'Type your message...',
    greeting: 'How can I help?',
    position: 'bottom-right',
    theme: 'light',
    initialState: 'closed',
    backendSettings: 'default',
    showButton: false,
    triggerElementId: 'my-trigger-btn',
    initialFirstAnswer: 'Let me think...',
    debug: false,
    faviconUrl: '/favicon.ico',
    primaryColor: '#dc3238',
    userMessageColor: '#c4fb9e'
  });
</script>