digichat / README.md
chrizefan's picture
Upload folder using huggingface_hub
fe52ef9 verified
|
Raw
History Blame Contribute Delete
2.79 kB

A newer version of the Gradio SDK is available: 6.26.0

Upgrade
metadata
title: digichat
app_file: app.py
sdk: gradio
sdk_version: 5.27.0
hf_oauth: true

DigiChat

DigiChat is an advanced, modular chatbot framework designed for flexible, multi-agent conversational AI. It supports streaming responses, file processing, integration with Azure AI Search and vector indexes, and orchestration of specialized agents for complex tasks.

Features

  • Multi-Agent Architecture:
    Supports multiple agent types, including:

    • BaseAgent: Standard LLM-based conversation.
    • DataAgent: Handles queries involving external data sources.
    • SearchAgent: Integrates with Azure AI Search and vector indexes for semantic search.
    • OrchestratorAgent: Routes and coordinates between specialized agents as tools.
  • Streaming Responses:
    Real-time, token-by-token streaming of model outputs for responsive user experience.

  • File Upload and Processing:
    Users can upload files (text, images, etc.), which are processed and incorporated into the conversation context.

  • Flexible Model Configuration:
    Easily switch between different LLM engines and adjust parameters like temperature.

  • Azure AI Search Integration:
    Seamlessly query Azure Search and vector indexes for retrieval-augmented generation.

  • Extensible Tooling:
    Add new tools and data sources via configuration, enabling custom workflows.

  • History Management:
    Maintains conversation history and supports advanced prompt engineering.

  • Robust Error Handling:
    Gracefully handles errors in streaming, file processing, and agent orchestration.

  • Logging and Debugging:
    Built-in logging for monitoring and debugging agent behavior.

Usage

  1. Start the Chatbot:
    Launch the Gradio interface or integrate DigiChat into your own application.

  2. Interact:

    • Send messages and receive streaming responses.
    • Upload files for context-aware answers.
    • Leverage advanced search and data retrieval via specialized agents.
  3. Configure:

    • Adjust agent configurations, add tools, or connect new data sources as needed.

Architecture

See architecture.puml for a detailed PlantUML diagram of the system's class structure and relationships.

Requirements

  • Python 3.10+
  • Gradio
  • Azure SDKs (for Search integration)
  • Other dependencies as listed in requirements.txt

Setup

  1. Clone the repository
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Set up your environment variables in .env:
    OPENAI_API_KEY=your_api_key_here
    XAI_API_KEY=your_xai_key_here
    
  4. Run the application:
    python app.py
    

License

MIT License


For more details, see the code and comments in each module.