This application is an AI-powered chat interface featuring conversation branching capabilities. It combines a React frontend with a FastAPI backend, utilizes Docker for containerization, and includes features such as feedback submission with screenshot annotation.
- Tree-like conversation structure with branching capabilities
- Support for multiple Language Models (LLMs)
- Dynamic conversation actions (deepening and broadening)
- Feedback mechanism with screenshot capture and annotation
- Containerized architecture for consistent deployment
- Handles API requests for chat interactions and feedback submission
- Supports multiple LLMs, including a mock LLM for testing
- Utilizes environment variables for secure API key management
- Implements an intuitive tree-like conversation UI
- Supports dynamic conversation actions
- Features a comprehensive feedback mechanism
- Containerizes frontend and backend services
- Uses docker-compose for orchestration
- Docker and Docker Compose
- Node.js v14+ (for local development)
- Python 3.9+ (for local development)
-
Clone the repository:
git clone https://github.com/iterabloom/BranchyMcChatFace.git cd BranchyMcChatFace
-
Create a
.env
file in the root directory:OPENAI_API_KEY=your_openai_api_key_here ANTHROPIC_API_KEY=your_anthropic_api_key_here
-
Build and run Docker containers:
docker-compose up --build
-
Access the application at
http://localhost:3000
- Start a new conversation or continue an existing one.
- Use the "DEEPEN" button to explore a conversation branch further.
- Use the "BROADEN" button to create alternative conversation paths.
- Submit feedback using the feedback button for screenshot annotations.
cd backend
pip install -r requirements.txt
uvicorn app:app --reload
cd frontend
npm install
npm start
API endpoints are documented using OpenAPI (Swagger). Access the documentation at http://localhost:8000/docs
when running the backend.
This project is licensed under the Mozilla Public License - see the LICENSE file for details.
- FastAPI and React communities for their excellent frameworks