1<?php 2/** 3 * Default settings for the dokullm plugin 4 * 5 * This file defines the default configuration values for the LLM integration plugin. 6 * These values can be overridden by the user in the plugin configuration. 7 */ 8 9/** 10 * The API endpoint URL for the LLM service 11 * 12 * This should be the full URL to the chat completions endpoint of your LLM provider. 13 * The default is set to OpenAI's GPT API endpoint. 14 * 15 * @var string 16 */ 17$conf['api_url'] = 'https://api.openai.com/v1/chat/completions'; 18 19/** 20 * The API authentication key 21 * 22 * This is the secret key used to authenticate with the LLM service. 23 * For security, this should be left empty in the default config and set by the user. 24 * 25 * @var string 26 */ 27$conf['api_key'] = ''; 28 29/** 30 * The model identifier to use for text processing 31 * 32 * Specifies which LLM model to use for processing requests. 33 * The default is gpt-3.5-turbo, but can be changed to other models like gpt-4. 34 * 35 * @var string 36 */ 37$conf['model'] = 'gpt-3.5-turbo'; 38 39/** 40 * The request timeout in seconds 41 * 42 * Maximum time to wait for a response from the LLM API before timing out. 43 * Set to 30 seconds by default, which should be sufficient for most requests. 44 * 45 * @var int 46 */ 47$conf['timeout'] = 30; 48 49/** 50 * The language for prompts 51 * 52 * Specifies which language to use for the prompts. 53 * 'default' uses English prompts, 'ro' uses Romanian prompts. 54 * 55 * @var string 56 */ 57$conf['language'] = 'default'; 58 59/** 60 * The temperature setting for the LLM 61 * 62 * Controls the randomness of the LLM output. Lower values (0.0-0.5) make the output 63 * more deterministic and focused, while higher values (0.5-1.0) make it more random 64 * and creative. Default is 0.3 for consistent, high-quality responses. 65 * 66 * @var float 67 */ 68$conf['temperature'] = 0.3; 69 70/** 71 * The top-p (nucleus sampling) setting for the LLM 72 * 73 * Controls the cumulative probability of token selection. Lower values (0.1-0.5) make 74 * the output more focused, while higher values (0.5-1.0) allow for more diverse outputs. 75 * Default is 0.8 for a good balance between creativity and coherence. 76 * 77 * @var float 78 */ 79$conf['top_p'] = 0.8; 80 81/** 82 * The top-k setting for the LLM 83 * 84 * Limits the number of highest probability tokens considered for each step. 85 * Lower values (1-10) make the output more focused, while higher values (10-50) 86 * allow for more diverse outputs. Default is 20 for balanced diversity. 87 * 88 * @var int 89 */ 90$conf['top_k'] = 20; 91 92/** 93 * The min-p setting for the LLM 94 * 95 * Sets a minimum probability threshold for token selection. Tokens with probabilities 96 * below this threshold are filtered out. Default is 0.0 (no filtering). 97 * 98 * @var float 99 */ 100$conf['min_p'] = 0.0; 101 102/** 103 * Show copy button in the toolbar 104 * 105 * Controls whether the copy page button is displayed in the LLM toolbar. 106 * When true, the copy button will be visible; when false, it will be hidden. 107 * 108 * @var bool 109 */ 110$conf['show_copy_button'] = true; 111 112/** 113 * Replace ID in template content 114 * 115 * Controls whether the template page ID should be replaced with the new page ID 116 * when copying a page with a template. When true, the template ID will be replaced; 117 * when false, it will be left as is. 118 * 119 * @var bool 120 */ 121$conf['replace_id'] = true; 122 123/** 124 * Enable thinking in LLM responses 125 * 126 * Controls whether the LLM should engage in deeper thinking processes before responding. 127 * When true, the LLM will use thinking capabilities and may take longer to respond; 128 * when false, it will provide direct responses without extended thinking. 129 * 130 * @var bool 131 */ 132$conf['think'] = false; 133 134/** 135 * Enable tool usage in LLM responses 136 * 137 * Controls whether the LLM can use tools to enhance its responses. 138 * When true, the LLM can call tools like get_document, get_template, and get_examples; 139 * when false, these tools will not be available to the LLM. 140 * 141 * @var bool 142 */ 143$conf['use_tools'] = false; 144 145