Files
sciagent/fe0/CHAT_INTEGRATION.md
Thinh Lam 688fac73e9
CI/CD / backend (push) Failing after 2m8s
CI/CD / frontend (push) Failing after 1m40s
CI/CD / deploy (push) Has been skipped
sciagent code + Gitea Actions CI/CD
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 09:38:30 +07:00

142 lines
3.8 KiB
Markdown

# Chat Assistant - Backend Integration
## Overview
The ChatAssistant component has been successfully integrated with the backend Ollama service to enable real-time policy question answering and content verification.
## What Was Done
### 1. Created Chat Feature Module
Following the new frontend architecture, a complete chat feature module was created:
- **Types** (`features/chat/types/chat.types.ts`): TypeScript types for messages and API requests
- **Service** (`features/chat/services/chatService.ts`): API service for chat operations
- **Hooks** (`features/chat/hooks/useChat.ts`): React hooks for chat functionality
### 2. Updated ChatAssistant Component
The `ChatAssistant` component now:
- ✅ Connects to backend Ollama API (`/test_ollama_1` endpoint)
- ✅ Sends real questions to the AI model
- ✅ Displays AI responses in real-time
- ✅ Handles verification requests from forms
- ✅ Shows loading states during API calls
- ✅ Displays error messages if API calls fail
- ✅ Maintains conversation history
## API Endpoint
The chat uses the backend endpoint:
- **URL**: `POST /test_ollama_1`
- **Request Body**: `{ "prompt": "user question" }`
- **Response**: `{ "oss_json": "AI response text" }`
## Features
### 1. Policy Question Answering
Users can ask questions about:
- IT governance policies
- Compliance requirements
- Regulatory standards
- Workflow processes
**Example questions:**
- "What are the requirements for ISO 27001 compliance?"
- "How do I submit a workflow approval?"
- "What documents are needed for compliance verification?"
### 2. Content Verification
When users click "Verify" on form fields, the assistant:
- Analyzes the content against compliance requirements
- Provides feedback on whether it meets requirements
- Suggests improvements
- Identifies potential issues
### 3. Real-time Responses
- Loading indicators while waiting for AI response
- Error handling with user-friendly messages
- Conversation history maintained in the chat
## Usage
The ChatAssistant is already integrated in the Dashboard. Users can:
1. **Ask Questions**: Type questions in the chat input and press Enter
2. **Verify Content**: Click "Verify" buttons on form fields to get AI feedback
3. **View History**: Scroll through previous messages
## Configuration
The API URL is configured in:
- **File**: `src/shared/config/env.ts`
- **Environment Variable**: `VITE_API_URL`
- **Default**: `http://localhost:4402`
To change the API URL, update the `.env` file:
```env
VITE_API_URL=http://your-backend-url:4402
```
## Backend Requirements
Ensure the backend is running and accessible:
1. Backend service should be running on port 4402
2. Ollama service should be running and accessible
3. The `/test_ollama_1` endpoint should be available
## Testing
To test the integration:
1. Start the backend:
```bash
cd be0
docker-compose up be0
```
2. Start the frontend:
```bash
cd fe0
npm run dev
```
3. Open the Dashboard and try:
- Asking a question about policies
- Verifying form content
## Troubleshooting
### Issue: "Failed to get response from assistant"
**Solutions:**
- Check if backend is running: `curl http://localhost:4402/health`
- Check browser console for detailed error messages
- Verify `VITE_API_URL` in `.env` file
### Issue: "Network error"
**Solutions:**
- Ensure backend is accessible at the configured URL
- Check CORS settings in backend
- Verify network connectivity
### Issue: Slow responses
**Solutions:**
- Ollama model might be loading (first request)
- Check backend logs for errors
- Verify Ollama service is running
## Next Steps
Potential improvements:
1. Add streaming responses for real-time text generation
2. Add conversation context/memory
3. Add support for document uploads
4. Add voice input/output
5. Add response rating/feedback