Spaces:
Running
Running
metadata
title: D365stuff Chat
emoji: π¦
colorFrom: yellow
colorTo: red
sdk: docker
pinned: false
D365Stuff Chat
A conversational AI interface for the D365Stuff blog, built by TheDataGuy.pro using the Let's Talk framework. This application allows users to interact with the blog's content in a natural, conversational way.
Features
- π€ AI-powered chat interface for D365Stuff blog content
- π Smart search and retrieval of relevant blog posts
- π» Code examples with syntax highlighting
- π Multi-language support
- π¨ Dark/Light theme support
- π€ File upload capabilities
- π Privacy-focused (no permanent conversation storage)
Prerequisites
- Python 3.13 or higher
- Docker (optional, for containerized deployment)
- UV package manager
Installation
- Clone the repository:
git clone https://github.com/mafzaal/d365stuff-chat.git
cd d365stuff-chat
- Install dependencies using UV:
uv sync
- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
Running the Application
Local Development
uv run chainlit run app.py --port 8000
Docker Deployment
docker build -t d365stuff-chat .
docker run -p 7860:7860 d365stuff-chat
Project Structure
.
βββ app.py # Main application entry point
βββ prompt.py # Chat prompt configuration
βββ pipeline.py # Blog data processing pipeline
βββ data/ # Blog post data
βββ stats/ # Processing statistics
βββ .chainlit/ # Chainlit configuration
Configuration
The application can be configured through:
.envfile for environment variables.chainlit/config.tomlfor UI settings
Blog Data Processing
The application includes a pipeline for processing blog posts:
python pipeline.py [--force-recreate] [--data-dir DATA_DIR] [--output-dir OUTPUT_DIR]
Options:
--force-recreate: Force recreation of the vector store--data-dir: Directory containing blog posts--output-dir: Directory for stats and artifacts--no-chunking: Process whole documents without chunking--no-save-stats: Skip saving document statistics
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Built With
- Chainlit - Chat UI framework
- LangChain - AI agent framework
- Let's Talk - Conversational AI framework by TheDataGuy.pro
- Docker - Containerization
Acknowledgments
- Built by TheDataGuy.pro using the Let's Talk framework
- Blog content from D365Stuff
License
This project is licensed under the MIT License - see the LICENSE file for details.