Backend APIs:
- [AC-AISVC-96] POST /admin/intent-rules/{ruleId}/test - Intent rule testing with conflict detection
- [AC-AISVC-97] GET /admin/monitoring/intent-rules - Intent rule statistics
- [AC-AISVC-98] GET /admin/monitoring/intent-rules/{ruleId}/hits - Intent rule hit records
- [AC-AISVC-99] POST /admin/prompt-templates/{tplId}/preview - Prompt template preview with token count
- [AC-AISVC-100] GET /admin/monitoring/prompt-templates - Prompt template usage statistics
Frontend Components:
- [AC-ASA-53] IntentRuleTestDialog - Test dialog for intent rules
- [AC-ASA-54/55] IntentRules monitoring page with hit records drawer
- [AC-ASA-56/57] PromptTemplatePreviewDialog with variable editing
- [AC-ASA-58] PromptTemplates monitoring page with scene breakdown
New files:
- ai-service/app/services/intent/tester.py
- ai-service/app/services/monitoring/intent_monitor.py
- ai-service/app/services/monitoring/prompt_monitor.py
- ai-service/app/api/admin/monitoring.py
- ai-service-admin/src/views/admin/intent-rule/components/TestDialog.vue
- ai-service-admin/src/views/admin/monitoring/IntentRules.vue
- ai-service-admin/src/views/admin/monitoring/PromptTemplates.vue
- ai-service-admin/src/views/admin/prompt-template/components/PreviewDialog.vue
|
||
|---|---|---|
| .. | ||
| app | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| Dockerfile | ||
| README.md | ||
| pyproject.toml | ||
README.md
AI Service
Python AI Service for intelligent chat with RAG support.
Features
- Multi-tenant isolation via X-Tenant-Id header
- SSE streaming support via Accept: text/event-stream
- RAG-powered responses with confidence scoring
Prerequisites
- PostgreSQL 12+
- Qdrant vector database
- Python 3.10+
Installation
pip install -e ".[dev]"
Database Initialization
Option 1: Using Python script (Recommended)
# Create database and tables
python scripts/init_db.py --create-db
# Or just create tables (database must exist)
python scripts/init_db.py
Option 2: Using SQL script
# Connect to PostgreSQL and run
psql -U postgres -f scripts/init_db.sql
Configuration
Create a .env file in the project root:
AI_SERVICE_DATABASE_URL=postgresql+asyncpg://postgres:password@localhost:5432/ai_service
AI_SERVICE_QDRANT_URL=http://localhost:6333
AI_SERVICE_LLM_API_KEY=your-api-key
AI_SERVICE_LLM_BASE_URL=https://api.openai.com/v1
AI_SERVICE_LLM_MODEL=gpt-4o-mini
AI_SERVICE_DEBUG=true
Running
uvicorn app.main:app --host 0.0.0.0 --port 8000
API Endpoints
Chat API
POST /ai/chat- Generate AI reply (supports SSE streaming)GET /ai/health- Health check
Admin API
GET /admin/kb/documents- List documentsPOST /admin/kb/documents- Upload documentGET /admin/kb/index/jobs/{jobId}- Get indexing job statusDELETE /admin/kb/documents/{docId}- Delete documentPOST /admin/rag/experiments/run- Run RAG experimentGET /admin/sessions- List chat sessionsGET /admin/sessions/{sessionId}- Get session details