Web Interfaces
The web module provides web-based interfaces for the DataVerse ChatBot, including:
Chat web application with iframe embedding
Admin dashboard for system management
Chat Web Application
The chat web application provides a FastAPI-based interface for embedding the chatbot in websites via an iframe.
Key Features: - Real-time chat interface - Message history display - Voice input support - Customizable appearance - Responsive design for mobile and desktop - Iframe embedding capability
Main Functions:
- home(): Serves the iframe HTML interface
- chat(request): Handles chat requests from the web interface
- transcribe_audio(file): Processes audio transcription requests
Chat Web Template
This module contains the HTML template for the chat interface.
The IFRAME_HTML variable provides the HTML template for embedding the chat interface in an iframe.
Admin Dashboard
The admin dashboard provides tools for managing the RAG system. It uses Dash and includes features to:
View system metrics
Monitor active conversations
Track token usage and costs
Manage content (crawl websites, upload files)
Update account settings
Key Functions:
- serve_layout(): Creates the dashboard layout
- register_callbacks(app): Registers all dashboard callbacks
Main Dashboard Pages
The admin dashboard consists of several pages:
Dashboard: Overview of system metrics and recent activity
Content Management: Tools to add and manage content sources
User Management: View and manage system users
Account Settings: Update admin credentials
System Settings: Configure system parameters
Chat History: View and search chat interactions
Authentication System
The dashboard includes authentication features:
- authenticate_user(username, password): Authenticates users against stored credentials
- update_credentials(username, password): Updates admin credentials
Content Management
Content management capabilities include:
- crawl_website(url, max_depth, client): Crawls websites to add content to the RAG system
- upload_file(content, filename): Uploads and processes files for RAG
Metrics and Visualization
The dashboard provides visual analytics:
- generate_metrics(): Generates system metrics for the dashboard
- create_usage_chart(): Creates a chart of model usage distribution
- create_cost_chart(): Creates a chart of cost distribution by model
Style and Appearance
The dashboard uses custom CSS for styling, stored in:
- static/css/admin.css: Main dashboard styling
- static/css/dark_mode.css: Dark mode styling
JavaScript functionality is provided in:
- static/js/admin.js: Dashboard interactivity