sciagent code + Gitea Actions CI/CD
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user