A newer version of the Gradio SDK is available: 6.26.0
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
Start the Chatbot:
Launch the Gradio interface or integrate DigiChat into your own application.Interact:
- Send messages and receive streaming responses.
- Upload files for context-aware answers.
- Leverage advanced search and data retrieval via specialized agents.
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
- Clone the repository
- Install dependencies:
pip install -r requirements.txt - Set up your environment variables in
.env:OPENAI_API_KEY=your_api_key_here XAI_API_KEY=your_xai_key_here - Run the application:
python app.py
License
MIT License
For more details, see the code and comments in each module.