basic_chatbot / README.md
arcsu1's picture
frst
4d0e37d
---
title: Basic Chatbot
emoji: 💬
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 7860
pinned: false
---
# AI Chatbot Flask App
Flask service for a fine-tuned GPT-2 conversational chatbot model.
## Setup
### Local Development
1. Install dependencies:
```bash
pip install -r requirements.txt
```
2. Run the app:
```bash
python app.py
```
3. Access the application:
- **Web Interface**: http://localhost:7860 (Chat directly in your browser!)
- API Info: http://localhost:7860/api
- Health check: http://localhost:7860/health
### Docker
1. Build the image:
```bash
docker build -t chatbot-api .
```
2. Run the container:
```bash
docker run -p 7860:7860 chatbot-api
```
## API Endpoints
### Web Interface
Visit the root URL to access the interactive chat interface.
### GET `/api`
Health check and info
```bash
curl http://localhost:7860/api
```
### GET `/health`
Detailed health status
```bash
curl http://localhost:7860/health
```
### POST `/chat`
Generate chatbot response
Request body:
```json
{
"user": ["Hello!", "How are you?"],
"ai": ["Hi there!"]
}
```
Example:
```bash
curl -X POST http://localhost:7860/chat \
-H "Content-Type: application/json" \
-d '{"user": ["Hello!"], "ai": []}'
```
Response:
```json
{
"response": "Hi there! How can I help you today",
"device": "cuda:0"
}
```
## Model
- **Model**: Fine-tuned GPT-2
- **Location**: `./models/fine-tuned-gpt2`
- **Type**: Conversational AI Chatbot
- **Port**: 7860
## Features
- CORS enabled for all origins
- Automatic GPU detection and usage
- Conversation history support (last 7 exchanges)
- Clean chat interface
- Real-time responses
- Message history management
- Typing indicators
## Chat Interface
The web interface provides:
- Real-time chat with the AI
- Conversation history
- Typing indicators
- Clear chat functionality
- Responsive design for mobile and desktop