mirror of
https://github.com/Dvorinka/Trackeep.git
synced 2026-06-03 20:12:58 +00:00
158 lines
4.4 KiB
Markdown
158 lines
4.4 KiB
Markdown
# AI Assistant Integration
|
|
|
|
Trackeep now includes an AI assistant powered by Mistral AI that can help you organize and interact with your personal data.
|
|
|
|
## Features
|
|
|
|
- **Context-Aware Conversations**: The AI has access to your bookmarks, tasks, files, and notes to provide personalized assistance
|
|
- **Chat Sessions**: Create and manage multiple chat sessions for different topics
|
|
- **Configurable Context**: Choose which data types the AI can access in each conversation
|
|
- **Smart Responses**: Get help with finding information, organizing content, and planning tasks
|
|
|
|
## Setup
|
|
|
|
1. **Get a Mistral API Key**:
|
|
- Sign up at [Mistral AI](https://mistral.ai/)
|
|
- Get your API key from the dashboard
|
|
- Add it to your `.env` file: `MISTRAL_API_KEY=your_key_here`
|
|
|
|
2. **Model Configuration**:
|
|
- Default model: `mistral-small-latest` (cost-effective and capable)
|
|
- Can be changed via `MISTRAL_MODEL` environment variable
|
|
|
|
## Usage
|
|
|
|
### Accessing the AI Assistant
|
|
|
|
1. Navigate to `/app/chat` in your Trackeep instance
|
|
2. Click "New Chat" to start a conversation
|
|
3. The AI will greet you and offer to help with your data
|
|
|
|
### Context Settings
|
|
|
|
Configure what data the AI can access:
|
|
- **Bookmarks**: Include saved links and articles
|
|
- **Tasks**: Include todo items and progress tracking
|
|
- **Files**: Include uploaded documents and media
|
|
- **Notes**: Include personal notes and documents
|
|
|
|
### Example Interactions
|
|
|
|
**Finding Content**:
|
|
```
|
|
User: Show me all bookmarks about machine learning
|
|
AI: I found 3 bookmarks related to machine learning:
|
|
1. "Introduction to Neural Networks" - https://example.com/neural-nets
|
|
2. "ML Best Practices" - https://example.com/ml-guide
|
|
3. "Deep Learning Course" - https://example.com/dl-course
|
|
```
|
|
|
|
**Task Management**:
|
|
```
|
|
User: What tasks do I have due this week?
|
|
AI: You have 2 tasks due this week:
|
|
1. "Complete project proposal" (High priority) - Due in 2 days
|
|
2. "Review documentation" (Medium priority) - Due in 5 days
|
|
```
|
|
|
|
**Organization Help**:
|
|
```
|
|
User: Help me organize my learning resources
|
|
AI: I can see you have 15 bookmarks, 8 files, and 5 notes related to learning. Would you like me to suggest a tagging system or help you create a study plan?
|
|
```
|
|
|
|
## API Endpoints
|
|
|
|
### Chat Operations
|
|
|
|
- `POST /api/v1/chat/send` - Send a message
|
|
- `GET /api/v1/chat/sessions` - List chat sessions
|
|
- `GET /api/v1/chat/sessions/:id/messages` - Get session messages
|
|
- `DELETE /api/v1/chat/sessions/:id` - Delete session
|
|
|
|
### Request/Response Format
|
|
|
|
**Send Message Request**:
|
|
```json
|
|
{
|
|
"message": "Your message here",
|
|
"session_id": "optional-session-id",
|
|
"context": {
|
|
"bookmarks": true,
|
|
"tasks": true,
|
|
"files": false,
|
|
"notes": true
|
|
}
|
|
}
|
|
```
|
|
|
|
**Chat Response**:
|
|
```json
|
|
{
|
|
"id": "chat-response-id",
|
|
"message": "AI response here",
|
|
"role": "assistant",
|
|
"session_id": "session-id",
|
|
"timestamp": "2024-01-27T16:30:00Z",
|
|
"model": "mistral-small-latest",
|
|
"token_usage": {
|
|
"prompt_tokens": 150,
|
|
"completion_tokens": 75,
|
|
"total_tokens": 225
|
|
},
|
|
"context_used": ["bookmark:1", "task:3", "note:2"]
|
|
}
|
|
```
|
|
|
|
## Data Privacy
|
|
|
|
- All AI requests are processed securely through Mistral's API
|
|
- User data is only shared with the AI when explicitly enabled via context settings
|
|
- Chat history is stored locally in your Trackeep database
|
|
- No data is shared with third parties beyond the AI service
|
|
|
|
## Cost Management
|
|
|
|
The AI assistant uses `mistral-small-latest` which is optimized for cost:
|
|
- Approximately $0.60 per 1M input tokens
|
|
- Approximately $1.80 per 1M output tokens
|
|
- Typical conversations use 200-500 tokens total
|
|
|
|
To monitor costs:
|
|
- Check token usage in chat responses
|
|
- Review session history regularly
|
|
- Adjust context settings to limit data scope
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
**"Mistral API key not configured"**:
|
|
- Add `MISTRAL_API_KEY` to your `.env` file
|
|
- Restart the backend server
|
|
|
|
**"Failed to call AI" errors**:
|
|
- Check your API key is valid
|
|
- Verify internet connectivity
|
|
- Check Mistral service status
|
|
|
|
**Large response times**:
|
|
- Reduce context scope (disable some data types)
|
|
- Consider breaking complex questions into smaller parts
|
|
|
|
### Debug Mode
|
|
|
|
Set `GIN_MODE=debug` to see detailed API logs including:
|
|
- Token usage counts
|
|
- Context data being sent
|
|
- API response times
|
|
|
|
## Future Enhancements
|
|
|
|
Planned improvements to the AI assistant:
|
|
- Voice input/output support
|
|
- Advanced context filtering (date ranges, tags)
|
|
- Integration with external services
|
|
- Custom prompt templates
|
|
- Multi-language support
|