digichat / README.md
chrizefan's picture
Upload folder using huggingface_hub
fe52ef9 verified
|
Raw
History Blame Contribute Delete
2.79 kB
---
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`](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:
```bash
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:
```bash
python app.py
```
## License
MIT License
---
For more details, see the code and comments in each module.