xref: /plugin/dokullm/conf/default.php (revision 0fdec17d4bba85e60fffb55d2c25a2af89940046)
159036814SCostin Stroie<?php
259036814SCostin Stroie/**
359036814SCostin Stroie * Default settings for the dokullm plugin
459036814SCostin Stroie *
559036814SCostin Stroie * This file defines the default configuration values for the LLM integration plugin.
659036814SCostin Stroie * These values can be overridden by the user in the plugin configuration.
759036814SCostin Stroie */
859036814SCostin Stroie
959036814SCostin Stroie/**
1059036814SCostin Stroie * The API endpoint URL for the LLM service
1159036814SCostin Stroie *
1259036814SCostin Stroie * This should be the full URL to the chat completions endpoint of your LLM provider.
1359036814SCostin Stroie * The default is set to OpenAI's GPT API endpoint.
1459036814SCostin Stroie *
1559036814SCostin Stroie * @var string
1659036814SCostin Stroie */
1759036814SCostin Stroie$conf['api_url'] = 'https://api.openai.com/v1/chat/completions';
1859036814SCostin Stroie
1959036814SCostin Stroie/**
2059036814SCostin Stroie * The API authentication key
2159036814SCostin Stroie *
2259036814SCostin Stroie * This is the secret key used to authenticate with the LLM service.
2359036814SCostin Stroie * For security, this should be left empty in the default config and set by the user.
2459036814SCostin Stroie *
2559036814SCostin Stroie * @var string
2659036814SCostin Stroie */
2759036814SCostin Stroie$conf['api_key'] = '';
2859036814SCostin Stroie
2959036814SCostin Stroie/**
3059036814SCostin Stroie * The model identifier to use for text processing
3159036814SCostin Stroie *
3259036814SCostin Stroie * Specifies which LLM model to use for processing requests.
3359036814SCostin Stroie * The default is gpt-3.5-turbo, but can be changed to other models like gpt-4.
3459036814SCostin Stroie *
3559036814SCostin Stroie * @var string
3659036814SCostin Stroie */
3759036814SCostin Stroie$conf['model'] = 'gpt-3.5-turbo';
3859036814SCostin Stroie
3959036814SCostin Stroie/**
4059036814SCostin Stroie * The request timeout in seconds
4159036814SCostin Stroie *
4259036814SCostin Stroie * Maximum time to wait for a response from the LLM API before timing out.
4359036814SCostin Stroie * Set to 30 seconds by default, which should be sufficient for most requests.
4459036814SCostin Stroie *
4559036814SCostin Stroie * @var int
4659036814SCostin Stroie */
4759036814SCostin Stroie$conf['timeout'] = 30;
4859036814SCostin Stroie
4959036814SCostin Stroie/**
5059036814SCostin Stroie * The language for prompts
5159036814SCostin Stroie *
5259036814SCostin Stroie * Specifies which language to use for the prompts.
5359036814SCostin Stroie * 'default' uses English prompts, 'ro' uses Romanian prompts.
5459036814SCostin Stroie *
5559036814SCostin Stroie * @var string
5659036814SCostin Stroie */
5759036814SCostin Stroie$conf['language'] = 'default';
5859036814SCostin Stroie
5959036814SCostin Stroie/**
6059036814SCostin Stroie * The temperature setting for the LLM
6159036814SCostin Stroie *
6259036814SCostin Stroie * Controls the randomness of the LLM output. Lower values (0.0-0.5) make the output
6359036814SCostin Stroie * more deterministic and focused, while higher values (0.5-1.0) make it more random
6459036814SCostin Stroie * and creative. Default is 0.3 for consistent, high-quality responses.
6559036814SCostin Stroie *
6659036814SCostin Stroie * @var float
6759036814SCostin Stroie */
6859036814SCostin Stroie$conf['temperature'] = 0.3;
6959036814SCostin Stroie
7059036814SCostin Stroie/**
7159036814SCostin Stroie * The top-p (nucleus sampling) setting for the LLM
7259036814SCostin Stroie *
7359036814SCostin Stroie * Controls the cumulative probability of token selection. Lower values (0.1-0.5) make
7459036814SCostin Stroie * the output more focused, while higher values (0.5-1.0) allow for more diverse outputs.
7559036814SCostin Stroie * Default is 0.8 for a good balance between creativity and coherence.
7659036814SCostin Stroie *
7759036814SCostin Stroie * @var float
7859036814SCostin Stroie */
7959036814SCostin Stroie$conf['top_p'] = 0.8;
8059036814SCostin Stroie
8159036814SCostin Stroie/**
8259036814SCostin Stroie * The top-k setting for the LLM
8359036814SCostin Stroie *
8459036814SCostin Stroie * Limits the number of highest probability tokens considered for each step.
8559036814SCostin Stroie * Lower values (1-10) make the output more focused, while higher values (10-50)
8659036814SCostin Stroie * allow for more diverse outputs. Default is 20 for balanced diversity.
8759036814SCostin Stroie *
8859036814SCostin Stroie * @var int
8959036814SCostin Stroie */
9059036814SCostin Stroie$conf['top_k'] = 20;
9159036814SCostin Stroie
9259036814SCostin Stroie/**
9359036814SCostin Stroie * The min-p setting for the LLM
9459036814SCostin Stroie *
9559036814SCostin Stroie * Sets a minimum probability threshold for token selection. Tokens with probabilities
9659036814SCostin Stroie * below this threshold are filtered out. Default is 0.0 (no filtering).
9759036814SCostin Stroie *
9859036814SCostin Stroie * @var float
9959036814SCostin Stroie */
10059036814SCostin Stroie$conf['min_p'] = 0.0;
10159036814SCostin Stroie
10259036814SCostin Stroie/**
10359036814SCostin Stroie * Show copy button in the toolbar
10459036814SCostin Stroie *
10559036814SCostin Stroie * Controls whether the copy page button is displayed in the LLM toolbar.
10659036814SCostin Stroie * When true, the copy button will be visible; when false, it will be hidden.
10759036814SCostin Stroie *
10859036814SCostin Stroie * @var bool
10959036814SCostin Stroie */
11059036814SCostin Stroie$conf['show_copy_button'] = true;
11159036814SCostin Stroie
11259036814SCostin Stroie/**
11359036814SCostin Stroie * Replace ID in template content
11459036814SCostin Stroie *
11559036814SCostin Stroie * Controls whether the template page ID should be replaced with the new page ID
11659036814SCostin Stroie * when copying a page with a template. When true, the template ID will be replaced;
11759036814SCostin Stroie * when false, it will be left as is.
11859036814SCostin Stroie *
11959036814SCostin Stroie * @var bool
12059036814SCostin Stroie */
12159036814SCostin Stroie$conf['replace_id'] = true;
12259036814SCostin Stroie
12359036814SCostin Stroie/**
12459036814SCostin Stroie * Enable thinking in LLM responses
12559036814SCostin Stroie *
12659036814SCostin Stroie * Controls whether the LLM should engage in deeper thinking processes before responding.
12759036814SCostin Stroie * When true, the LLM will use thinking capabilities and may take longer to respond;
12859036814SCostin Stroie * when false, it will provide direct responses without extended thinking.
12959036814SCostin Stroie *
13059036814SCostin Stroie * @var bool
13159036814SCostin Stroie */
13259036814SCostin Stroie$conf['think'] = false;
13359036814SCostin Stroie
13459036814SCostin Stroie/**
13559036814SCostin Stroie * Enable tool usage in LLM responses
13659036814SCostin Stroie *
13759036814SCostin Stroie * Controls whether the LLM can use tools to enhance its responses.
13859036814SCostin Stroie * When true, the LLM can call tools like get_document, get_template, and get_examples;
13959036814SCostin Stroie * when false, these tools will not be available to the LLM.
14059036814SCostin Stroie *
14159036814SCostin Stroie * @var bool
14259036814SCostin Stroie */
14359036814SCostin Stroie$conf['use_tools'] = false;
14459036814SCostin Stroie
145*0fdec17dSCostin Stroie (aider)/**
146*0fdec17dSCostin Stroie (aider) * ChromaDB Host
147*0fdec17dSCostin Stroie (aider) *
148*0fdec17dSCostin Stroie (aider) * The hostname or IP address of your ChromaDB server.
149*0fdec17dSCostin Stroie (aider) * This is used for document storage and retrieval.
150*0fdec17dSCostin Stroie (aider) *
151*0fdec17dSCostin Stroie (aider) * @var string
152*0fdec17dSCostin Stroie (aider) */
153*0fdec17dSCostin Stroie (aider)$conf['chroma_host'] = '10.200.8.16';
154*0fdec17dSCostin Stroie (aider)
155*0fdec17dSCostin Stroie (aider)/**
156*0fdec17dSCostin Stroie (aider) * ChromaDB Port
157*0fdec17dSCostin Stroie (aider) *
158*0fdec17dSCostin Stroie (aider) * The port number on which ChromaDB is running.
159*0fdec17dSCostin Stroie (aider) * Default ChromaDB port is 8000, but can be customized.
160*0fdec17dSCostin Stroie (aider) *
161*0fdec17dSCostin Stroie (aider) * @var int
162*0fdec17dSCostin Stroie (aider) */
163*0fdec17dSCostin Stroie (aider)$conf['chroma_port'] = 8087;
164*0fdec17dSCostin Stroie (aider)
165*0fdec17dSCostin Stroie (aider)/**
166*0fdec17dSCostin Stroie (aider) * ChromaDB Tenant
167*0fdec17dSCostin Stroie (aider) *
168*0fdec17dSCostin Stroie (aider) * The tenant name for ChromaDB organization.
169*0fdec17dSCostin Stroie (aider) * Used to isolate data between different organizations or projects.
170*0fdec17dSCostin Stroie (aider) *
171*0fdec17dSCostin Stroie (aider) * @var string
172*0fdec17dSCostin Stroie (aider) */
173*0fdec17dSCostin Stroie (aider)$conf['chroma_tenant'] = 'dokullm';
174*0fdec17dSCostin Stroie (aider)
175*0fdec17dSCostin Stroie (aider)/**
176*0fdec17dSCostin Stroie (aider) * ChromaDB Database
177*0fdec17dSCostin Stroie (aider) *
178*0fdec17dSCostin Stroie (aider) * The database name within the ChromaDB tenant.
179*0fdec17dSCostin Stroie (aider) * Used to organize collections within a tenant.
180*0fdec17dSCostin Stroie (aider) *
181*0fdec17dSCostin Stroie (aider) * @var string
182*0fdec17dSCostin Stroie (aider) */
183*0fdec17dSCostin Stroie (aider)$conf['chroma_database'] = 'dokullm';
184*0fdec17dSCostin Stroie (aider)
185*0fdec17dSCostin Stroie (aider)/**
186*0fdec17dSCostin Stroie (aider) * ChromaDB Collection
187*0fdec17dSCostin Stroie (aider) *
188*0fdec17dSCostin Stroie (aider) * The default collection name for document storage.
189*0fdec17dSCostin Stroie (aider) * Collections are used to group related documents.
190*0fdec17dSCostin Stroie (aider) *
191*0fdec17dSCostin Stroie (aider) * @var string
192*0fdec17dSCostin Stroie (aider) */
193*0fdec17dSCostin Stroie (aider)$conf['chroma_collection'] = 'reports';
194*0fdec17dSCostin Stroie (aider)
195*0fdec17dSCostin Stroie (aider)/**
196*0fdec17dSCostin Stroie (aider) * Default Institution
197*0fdec17dSCostin Stroie (aider) *
198*0fdec17dSCostin Stroie (aider) * The default institution identifier for templates.
199*0fdec17dSCostin Stroie (aider) * Used to determine which templates to use by default.
200*0fdec17dSCostin Stroie (aider) *
201*0fdec17dSCostin Stroie (aider) * @var string
202*0fdec17dSCostin Stroie (aider) */
203*0fdec17dSCostin Stroie (aider)$conf['default_institution'] = 'scuc';
204*0fdec17dSCostin Stroie (aider)
205*0fdec17dSCostin Stroie (aider)/**
206*0fdec17dSCostin Stroie (aider) * Ollama Host
207*0fdec17dSCostin Stroie (aider) *
208*0fdec17dSCostin Stroie (aider) * The hostname or IP address of your Ollama server.
209*0fdec17dSCostin Stroie (aider) * Used for generating embeddings for document search.
210*0fdec17dSCostin Stroie (aider) *
211*0fdec17dSCostin Stroie (aider) * @var string
212*0fdec17dSCostin Stroie (aider) */
213*0fdec17dSCostin Stroie (aider)$conf['ollama_host'] = '10.200.8.16';
214*0fdec17dSCostin Stroie (aider)
215*0fdec17dSCostin Stroie (aider)/**
216*0fdec17dSCostin Stroie (aider) * Ollama Port
217*0fdec17dSCostin Stroie (aider) *
218*0fdec17dSCostin Stroie (aider) * The port number on which Ollama is running.
219*0fdec17dSCostin Stroie (aider) * Default Ollama port is 11434.
220*0fdec17dSCostin Stroie (aider) *
221*0fdec17dSCostin Stroie (aider) * @var int
222*0fdec17dSCostin Stroie (aider) */
223*0fdec17dSCostin Stroie (aider)$conf['ollama_port'] = 11434;
224*0fdec17dSCostin Stroie (aider)
225*0fdec17dSCostin Stroie (aider)/**
226*0fdec17dSCostin Stroie (aider) * Ollama Embeddings Model
227*0fdec17dSCostin Stroie (aider) *
228*0fdec17dSCostin Stroie (aider) * The model name used for generating text embeddings.
229*0fdec17dSCostin Stroie (aider) * Embeddings are used for semantic search in ChromaDB.
230*0fdec17dSCostin Stroie (aider) *
231*0fdec17dSCostin Stroie (aider) * @var string
232*0fdec17dSCostin Stroie (aider) */
233*0fdec17dSCostin Stroie (aider)$conf['ollama_embeddings_model'] = 'nomic-embed-text';
234*0fdec17dSCostin Stroie (aider)
235