A SAMPLE WebSocket-based chatbot that provides predefined Questions & Answers about a profile.
1.1K
This is a lightweight WebSocket-based chatbot that provides predefined Questions & Answers about a profile/skillset. You can run it easily via Docker or deploy on Kubernetes with Ingress support.
docker run -d -p 8080:8080 ppollai/chatbot:latest
π The chatbot will be available at:
ws://localhost:8080---
apiVersion: apps/v1
kind: Deployment
metadata:
name: chatbot
namespace: ai-chatbot
spec:
replicas: 1
selector:
matchLabels:
app: chatbot
template:
metadata:
labels:
app: chatbot
spec:
containers:
- name: chatbot
image: ppollai/chatbot:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: chatbot
namespace: ai-chatbot
spec:
selector:
app: chatbot
ports:
- port: 8080
targetPort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: chatbot
namespace: ai-chatbot
annotations:
nginx.ingress.kubernetes.io/preserve-host: 'true'
nginx.ingress.kubernetes.io/proxy-body-size: 10m
nginx.ingress.kubernetes.io/proxy-buffer-size: 1m
nginx.ingress.kubernetes.io/proxy-buffering: 'off'
nginx.ingress.kubernetes.io/proxy-http-version: '1.1'
nginx.ingress.kubernetes.io/proxy-max-temp-file-size: 20m
nginx.ingress.kubernetes.io/proxy-read-timeout: '3600'
nginx.ingress.kubernetes.io/proxy-send-timeout: '3600'
nginx.ingress.kubernetes.io/use-forwarded-headers: 'true'
nginx.ingress.kubernetes.io/websocket-service: 'true'
nginx.ingress.kubernetes.io/websocket-services: chatbot
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /chat
pathType: Prefix
backend:
service:
name: chatbot
port:
number: 8080
- path: /chatbot
pathType: Prefix
backend:
service:
name: chatbot
port:
number: 8080
π After applying, the chatbot will be accessible at:
ws://<ingress-ip>/chatbotwscatYou can test the chatbot quickly using wscatβ :
wscat (if not already installed)npm install -g wscat
# For Docker local run
wscat -c ws://localhost:8080
# For Kubernetes ingress
wscat -c ws://<ingress-ip>/chatbot
Connected (press CTRL+C to quit)
< Welcome! Please select a question number:
1. What is your full name?
2. What is your experience level?
3. What is your current role?
...
> 1
< My name is Prashant Kumar Pollai, a seasoned Server Infrastructure and Solution Architect.
/chatbot path supportContent type
Image
Digest
sha256:d1fd6ecd7β¦
Size
48 MB
Last updated
about 1 year ago
docker pull ppollai/chatbot