159036814SCostin Stroie<?php 259036814SCostin Stroie/** 359036814SCostin Stroie * Options for the dokullm plugin 459036814SCostin Stroie * 559036814SCostin Stroie * This file defines the configuration metadata for the LLM integration plugin. 659036814SCostin Stroie * It specifies the type and validation rules for each configuration option. 759036814SCostin Stroie */ 859036814SCostin Stroie 959036814SCostin Stroie/** 1059036814SCostin Stroie * Metadata for the API URL configuration option 1159036814SCostin Stroie * 1259036814SCostin Stroie * Defines the API endpoint URL as a string input field in the configuration interface. 1359036814SCostin Stroie * 1459036814SCostin Stroie * @var array 1559036814SCostin Stroie */ 1659036814SCostin Stroie$meta['api_url'] = array('string'); 1759036814SCostin Stroie 1859036814SCostin Stroie/** 1959036814SCostin Stroie * Metadata for the API key configuration option 2059036814SCostin Stroie * 2159036814SCostin Stroie * Defines the API key as a password field in the configuration interface. 2259036814SCostin Stroie * This ensures the value is masked when entered and stored securely. 2359036814SCostin Stroie * 2459036814SCostin Stroie * @var array 2559036814SCostin Stroie */ 2659036814SCostin Stroie$meta['api_key'] = array('password'); 2759036814SCostin Stroie 2859036814SCostin Stroie/** 2959036814SCostin Stroie * Metadata for the model configuration option 3059036814SCostin Stroie * 3159036814SCostin Stroie * Defines the model identifier as a string input field in the configuration interface. 3259036814SCostin Stroie * 3359036814SCostin Stroie * @var array 3459036814SCostin Stroie */ 3559036814SCostin Stroie$meta['model'] = array('string'); 3659036814SCostin Stroie 3759036814SCostin Stroie/** 3859036814SCostin Stroie * Metadata for the timeout configuration option 3959036814SCostin Stroie * 4059036814SCostin Stroie * Defines the timeout value as a numeric input field with a minimum value of 5 seconds. 4159036814SCostin Stroie * This prevents users from setting an unreasonably low timeout value. 4259036814SCostin Stroie * 4359036814SCostin Stroie * @var array 4459036814SCostin Stroie */ 4559036814SCostin Stroie$meta['timeout'] = array('numeric', '_min' => 5); 4659036814SCostin Stroie 4759036814SCostin Stroie/** 4859036814SCostin Stroie * Metadata for the language configuration option 4959036814SCostin Stroie * 5059036814SCostin Stroie * Defines the language as a multichoice field with 'default' and 'ro' options. 5159036814SCostin Stroie * 5259036814SCostin Stroie * @var array 5359036814SCostin Stroie */ 5459036814SCostin Stroie$meta['language'] = array('multichoice', '_choices' => array('default', 'ro')); 5559036814SCostin Stroie 5659036814SCostin Stroie/** 5759036814SCostin Stroie * Metadata for the temperature configuration option 5859036814SCostin Stroie * 5959036814SCostin Stroie * Defines the temperature as a numeric field with a range from 0.0 to 1.0, 6059036814SCostin Stroie * with a default of 0.3. This controls the randomness of the LLM responses. 6159036814SCostin Stroie * 6259036814SCostin Stroie * @var array 6359036814SCostin Stroie */ 6459036814SCostin Stroie$meta['temperature'] = array('numeric', '_min' => 0.0, '_max' => 1.0, '_pattern' => '/^\d+(\.\d+)?$/'); 6559036814SCostin Stroie 6659036814SCostin Stroie/** 6759036814SCostin Stroie * Metadata for the top-p configuration option 6859036814SCostin Stroie * 6959036814SCostin Stroie * Defines the top-p (nucleus sampling) as a numeric field with a range from 0.0 to 1.0, 7059036814SCostin Stroie * with a default of 0.8. This controls the cumulative probability of token selection. 7159036814SCostin Stroie * 7259036814SCostin Stroie * @var array 7359036814SCostin Stroie */ 7459036814SCostin Stroie$meta['top_p'] = array('numeric', '_min' => 0.0, '_max' => 1.0, '_pattern' => '/^\d+(\.\d+)?$/'); 7559036814SCostin Stroie 7659036814SCostin Stroie/** 7759036814SCostin Stroie * Metadata for the top-k configuration option 7859036814SCostin Stroie * 7959036814SCostin Stroie * Defines the top-k as a numeric field with a minimum value of 1, 8059036814SCostin Stroie * with a default of 20. This controls the number of highest probability tokens considered. 8159036814SCostin Stroie * 8259036814SCostin Stroie * @var array 8359036814SCostin Stroie */ 8459036814SCostin Stroie$meta['top_k'] = array('numeric', '_min' => 1); 8559036814SCostin Stroie 8659036814SCostin Stroie/** 8759036814SCostin Stroie * Metadata for the min-p configuration option 8859036814SCostin Stroie * 8959036814SCostin Stroie * Defines the min-p as a numeric field with a range from 0.0 to 1.0, 9059036814SCostin Stroie * with a default of 0.0. This controls the minimum probability threshold for token selection. 9159036814SCostin Stroie * 9259036814SCostin Stroie * @var array 9359036814SCostin Stroie */ 9459036814SCostin Stroie$meta['min_p'] = array('numeric', '_min' => 0.0, '_max' => 1.0, '_pattern' => '/^\d+(\.\d+)?$/'); 9559036814SCostin Stroie 9659036814SCostin Stroie/** 9759036814SCostin Stroie * Metadata for the show_copy_button configuration option 9859036814SCostin Stroie * 9959036814SCostin Stroie * Defines whether the copy button should be shown as a boolean field. 10059036814SCostin Stroie * 10159036814SCostin Stroie * @var array 10259036814SCostin Stroie */ 10359036814SCostin Stroie$meta['show_copy_button'] = array('onoff'); 10459036814SCostin Stroie 10559036814SCostin Stroie/** 10659036814SCostin Stroie * Metadata for the replace_id configuration option 10759036814SCostin Stroie * 10859036814SCostin Stroie * Defines whether the template ID should be replaced with the new page ID 10959036814SCostin Stroie * when copying a page with a template. 11059036814SCostin Stroie * 11159036814SCostin Stroie * @var array 11259036814SCostin Stroie */ 11359036814SCostin Stroie$meta['replace_id'] = array('onoff'); 11459036814SCostin Stroie 11559036814SCostin Stroie/** 11659036814SCostin Stroie * Metadata for the think configuration option 11759036814SCostin Stroie * 11859036814SCostin Stroie * Defines whether the LLM should engage in deeper thinking processes before responding. 11959036814SCostin Stroie * When enabled, the LLM will use thinking capabilities; when disabled, it will provide direct responses. 12059036814SCostin Stroie * 12159036814SCostin Stroie * @var array 12259036814SCostin Stroie */ 12359036814SCostin Stroie$meta['think'] = array('onoff'); 12459036814SCostin Stroie 12559036814SCostin Stroie/** 12659036814SCostin Stroie * Metadata for the use_tools configuration option 12759036814SCostin Stroie * 12859036814SCostin Stroie * Defines whether the LLM can use tools to enhance its responses. 12959036814SCostin Stroie * When enabled, the LLM can call tools like get_document, get_template, and get_examples; 13059036814SCostin Stroie * when disabled, these tools will not be available to the LLM. 13159036814SCostin Stroie * 13259036814SCostin Stroie * @var array 13359036814SCostin Stroie */ 13459036814SCostin Stroie$meta['use_tools'] = array('onoff'); 135*0fdec17dSCostin Stroie (aider) 136*0fdec17dSCostin Stroie (aider)/** 137*0fdec17dSCostin Stroie (aider) * Metadata for the ChromaDB host configuration option 138*0fdec17dSCostin Stroie (aider) * 139*0fdec17dSCostin Stroie (aider) * Defines the ChromaDB host as a string input field in the configuration interface. 140*0fdec17dSCostin Stroie (aider) * 141*0fdec17dSCostin Stroie (aider) * @var array 142*0fdec17dSCostin Stroie (aider) */ 143*0fdec17dSCostin Stroie (aider)$meta['chroma_host'] = array('string'); 144*0fdec17dSCostin Stroie (aider) 145*0fdec17dSCostin Stroie (aider)/** 146*0fdec17dSCostin Stroie (aider) * Metadata for the ChromaDB port configuration option 147*0fdec17dSCostin Stroie (aider) * 148*0fdec17dSCostin Stroie (aider) * Defines the ChromaDB port as a numeric input field. 149*0fdec17dSCostin Stroie (aider) * 150*0fdec17dSCostin Stroie (aider) * @var array 151*0fdec17dSCostin Stroie (aider) */ 152*0fdec17dSCostin Stroie (aider)$meta['chroma_port'] = array('numeric'); 153*0fdec17dSCostin Stroie (aider) 154*0fdec17dSCostin Stroie (aider)/** 155*0fdec17dSCostin Stroie (aider) * Metadata for the ChromaDB tenant configuration option 156*0fdec17dSCostin Stroie (aider) * 157*0fdec17dSCostin Stroie (aider) * Defines the ChromaDB tenant as a string input field in the configuration interface. 158*0fdec17dSCostin Stroie (aider) * 159*0fdec17dSCostin Stroie (aider) * @var array 160*0fdec17dSCostin Stroie (aider) */ 161*0fdec17dSCostin Stroie (aider)$meta['chroma_tenant'] = array('string'); 162*0fdec17dSCostin Stroie (aider) 163*0fdec17dSCostin Stroie (aider)/** 164*0fdec17dSCostin Stroie (aider) * Metadata for the ChromaDB database configuration option 165*0fdec17dSCostin Stroie (aider) * 166*0fdec17dSCostin Stroie (aider) * Defines the ChromaDB database as a string input field in the configuration interface. 167*0fdec17dSCostin Stroie (aider) * 168*0fdec17dSCostin Stroie (aider) * @var array 169*0fdec17dSCostin Stroie (aider) */ 170*0fdec17dSCostin Stroie (aider)$meta['chroma_database'] = array('string'); 171*0fdec17dSCostin Stroie (aider) 172*0fdec17dSCostin Stroie (aider)/** 173*0fdec17dSCostin Stroie (aider) * Metadata for the ChromaDB collection configuration option 174*0fdec17dSCostin Stroie (aider) * 175*0fdec17dSCostin Stroie (aider) * Defines the ChromaDB collection as a string input field in the configuration interface. 176*0fdec17dSCostin Stroie (aider) * 177*0fdec17dSCostin Stroie (aider) * @var array 178*0fdec17dSCostin Stroie (aider) */ 179*0fdec17dSCostin Stroie (aider)$meta['chroma_collection'] = array('string'); 180*0fdec17dSCostin Stroie (aider) 181*0fdec17dSCostin Stroie (aider)/** 182*0fdec17dSCostin Stroie (aider) * Metadata for the default institution configuration option 183*0fdec17dSCostin Stroie (aider) * 184*0fdec17dSCostin Stroie (aider) * Defines the default institution as a string input field in the configuration interface. 185*0fdec17dSCostin Stroie (aider) * 186*0fdec17dSCostin Stroie (aider) * @var array 187*0fdec17dSCostin Stroie (aider) */ 188*0fdec17dSCostin Stroie (aider)$meta['default_institution'] = array('string'); 189*0fdec17dSCostin Stroie (aider) 190*0fdec17dSCostin Stroie (aider)/** 191*0fdec17dSCostin Stroie (aider) * Metadata for the Ollama host configuration option 192*0fdec17dSCostin Stroie (aider) * 193*0fdec17dSCostin Stroie (aider) * Defines the Ollama host as a string input field in the configuration interface. 194*0fdec17dSCostin Stroie (aider) * 195*0fdec17dSCostin Stroie (aider) * @var array 196*0fdec17dSCostin Stroie (aider) */ 197*0fdec17dSCostin Stroie (aider)$meta['ollama_host'] = array('string'); 198*0fdec17dSCostin Stroie (aider) 199*0fdec17dSCostin Stroie (aider)/** 200*0fdec17dSCostin Stroie (aider) * Metadata for the Ollama port configuration option 201*0fdec17dSCostin Stroie (aider) * 202*0fdec17dSCostin Stroie (aider) * Defines the Ollama port as a numeric input field. 203*0fdec17dSCostin Stroie (aider) * 204*0fdec17dSCostin Stroie (aider) * @var array 205*0fdec17dSCostin Stroie (aider) */ 206*0fdec17dSCostin Stroie (aider)$meta['ollama_port'] = array('numeric'); 207*0fdec17dSCostin Stroie (aider) 208*0fdec17dSCostin Stroie (aider)/** 209*0fdec17dSCostin Stroie (aider) * Metadata for the Ollama embeddings model configuration option 210*0fdec17dSCostin Stroie (aider) * 211*0fdec17dSCostin Stroie (aider) * Defines the Ollama embeddings model as a string input field in the configuration interface. 212*0fdec17dSCostin Stroie (aider) * 213*0fdec17dSCostin Stroie (aider) * @var array 214*0fdec17dSCostin Stroie (aider) */ 215*0fdec17dSCostin Stroie (aider)$meta['ollama_embeddings_model'] = array('string'); 216