xref: /plugin/dokullm/README.md (revision 590368144294a28ecf0e0e39feb976bf79fefb1e)
1*59036814SCostin Stroie# DokuLLM - LLM Integration Plugin for DokuWiki
2*59036814SCostin Stroie
3*59036814SCostin StroieA comprehensive DokuWiki plugin that integrates Large Language Model capabilities with semantic search through ChromaDB. This plugin enables advanced text processing directly within the DokuWiki editing environment while maintaining content in a vector database for intelligent content discovery.
4*59036814SCostin Stroie
5*59036814SCostin Stroie## Key Features
6*59036814SCostin Stroie
7*59036814SCostin Stroie### AI-Powered Text Processing
8*59036814SCostin Stroie- **Content Creation**: Generate reports and documents with AI assistance
9*59036814SCostin Stroie- **Text Comparison**: Highlight differences between document versions
10*59036814SCostin Stroie- **Custom Prompts**: Process text with user-defined instructions
11*59036814SCostin Stroie- **Template Integration**: Use predefined templates for consistent formatting
12*59036814SCostin Stroie
13*59036814SCostin Stroie### Semantic Search & Document Management
14*59036814SCostin Stroie- **Vector Storage**: Store document embeddings in ChromaDB for semantic search
15*59036814SCostin Stroie- **Intelligent Chunking**: Smart document splitting with metadata preservation
16*59036814SCostin Stroie- **Update Optimization**: Timestamp-based checking to avoid reprocessing unchanged files
17*59036814SCostin Stroie- **Direct Retrieval**: Access documents by ID with rich metadata extraction
18*59036814SCostin Stroie
19*59036814SCostin Stroie### DokuWiki Integration
20*59036814SCostin Stroie- **Editor Toolbar**: Seamless integration with DokuWiki's editing interface
21*59036814SCostin Stroie- **Page Templates**: Smart template handling with automatic metadata insertion
22*59036814SCostin Stroie- **Copy Functionality**: Enhanced page duplication with template awareness
23*59036814SCostin Stroie- **Context Management**: Provide examples and templates as processing context
24*59036814SCostin Stroie
25*59036814SCostin Stroie## Architecture
26*59036814SCostin Stroie
27*59036814SCostin StroieThe plugin consists of several key components:
28*59036814SCostin Stroie- **Frontend**: JavaScript toolbar integrated into DokuWiki's editor
29*59036814SCostin Stroie- **Backend**: PHP plugin handling AJAX requests and LLM communication
30*59036814SCostin Stroie- **Database**: ChromaDB client for vector storage and semantic search
31*59036814SCostin Stroie- **CLI Tools**: Command-line interface for batch document processing
32*59036814SCostin Stroie
33*59036814SCostin Stroie## Requirements
34*59036814SCostin Stroie- DokuWiki installation
35*59036814SCostin Stroie- PHP 7.4 or higher
36*59036814SCostin Stroie- ChromaDB server
37*59036814SCostin Stroie- Ollama for local embedding generation (optional)
38*59036814SCostin Stroie- Access to LLM API (OpenAI-compatible)
39*59036814SCostin Stroie
40*59036814SCostin Stroie## Installation
41*59036814SCostin Stroie1. Clone or download the plugin to your DokuWiki plugins directory
42*59036814SCostin Stroie2. Configure the plugin settings in DokuWiki's configuration manager
43*59036814SCostin Stroie3. Set up ChromaDB and Ollama services
44*59036814SCostin Stroie4. Configure connection settings in `config.php`
45*59036814SCostin Stroie
46*59036814SCostin Stroie## Configuration
47*59036814SCostin StroieThe plugin is configurable through multiple levels:
48*59036814SCostin Stroie- DokuWiki plugin settings interface
49*59036814SCostin Stroie- `config.php` for service endpoints
50*59036814SCostin Stroie- `conf/default.php` for default values
51*59036814SCostin Stroie- Language files for localization
52*59036814SCostin Stroie
53*59036814SCostin Stroie## License
54*59036814SCostin StroieGPL 2.0
55*59036814SCostin Stroie
56*59036814SCostin Stroie## Author
57*59036814SCostin StroieCostin Stroie <costinstroie@eridu.eu.org>
58