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