Backend:
- Fix TicketInput ticket_id type (int|str -> str) — Pydantic 500 on numeric IDs
- Fix LLM module: add missing logger import, handle 429 and non-200 responses
- Switch LLM model to poolside/laguna-m.1:free (avoid OpenRouter rate limits)
- Add GET /api/collections/{id} endpoint to fetch single collection
- Deduplicate tickets: replace randomized hash() with deterministic
hashlib.md5 for Qdrant point IDs
- Add get_existing_ticket_ids() — scroll Qdrant before processing,
skip already-imported tickets, avoid redundant embeddings
- Multi-tenant isolation: tenant_id + collection_id in all Qdrant filters
- Fix embedding: drop incompatible openai SDK, use raw httpx
- Fix reranking: access ScoredPoint.payload via .get(), not []
- Fix chunking: expand role detection (support/operator/agent + client/user/customer)
- Fix bcrypt: downgrade to 4.0.1 (incompatible 5.x with passlib)
Frontend:
- Register: add plan selection (free/starter/pro)
- CollectionView: fetch ticket_count from backend on mount
(not only from upload response — survived page refresh)
- uploadFile: use getToken() instead of stale module-level var,
show real HTTP status in error messages
- Nginx: increase client_max_body_size to 50M for file uploads
79 lines
1.4 KiB
YAML
79 lines
1.4 KiB
YAML
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: qdrant-pv
|
|
namespace: support-bot
|
|
spec:
|
|
capacity:
|
|
storage: 20Gi
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
hostPath:
|
|
path: /data/support-bot/qdrant
|
|
nodeAffinity:
|
|
required:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: kubernetes.io/hostname
|
|
operator: In
|
|
values:
|
|
- worker-172.16.0.5
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: qdrant-pvc
|
|
namespace: support-bot
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 20Gi
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qdrant
|
|
namespace: support-bot
|
|
labels:
|
|
app: qdrant
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: qdrant
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: qdrant
|
|
spec:
|
|
containers:
|
|
- name: qdrant
|
|
image: qdrant/qdrant:latest
|
|
ports:
|
|
- containerPort: 6333
|
|
- containerPort: 6334
|
|
volumeMounts:
|
|
- name: data
|
|
mountPath: /qdrant/storage
|
|
volumes:
|
|
- name: data
|
|
persistentVolumeClaim:
|
|
claimName: qdrant-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qdrant
|
|
namespace: support-bot
|
|
spec:
|
|
selector:
|
|
app: qdrant
|
|
ports:
|
|
- port: 6333
|
|
targetPort: 6333
|
|
name: grpc
|
|
- port: 6334
|
|
targetPort: 6334
|
|
name: http
|