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/** 5073719e9bSCostin Stroie (aider) * The profile for prompts 5159036814SCostin Stroie * 5273719e9bSCostin Stroie (aider) * Specifies which profile to use for the prompts. 5373719e9bSCostin Stroie (aider) * User prompts can be classified in multiple profiles. By default, 'default'. 5459036814SCostin Stroie * 5559036814SCostin Stroie * @var string 5659036814SCostin Stroie */ 5773719e9bSCostin Stroie (aider)$conf['profile'] = '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 1450fdec17dSCostin Stroie (aider)/** 146*a8c74011SCostin Stroie (aider) * Enable ChromaDB integration 147*a8c74011SCostin Stroie (aider) * 148*a8c74011SCostin Stroie (aider) * Controls whether ChromaDB integration is enabled for document storage and retrieval. 149*a8c74011SCostin Stroie (aider) * When true, ChromaDB features will be available; when false, they will be disabled. 150*a8c74011SCostin Stroie (aider) * 151*a8c74011SCostin Stroie (aider) * @var bool 152*a8c74011SCostin Stroie (aider) */ 153*a8c74011SCostin Stroie (aider)$conf['enable_chromadb'] = 0; 154*a8c74011SCostin Stroie (aider) 155*a8c74011SCostin Stroie (aider)/** 1560fdec17dSCostin Stroie (aider) * ChromaDB Host 1570fdec17dSCostin Stroie (aider) * 1580fdec17dSCostin Stroie (aider) * The hostname or IP address of your ChromaDB server. 1590fdec17dSCostin Stroie (aider) * This is used for document storage and retrieval. 1600fdec17dSCostin Stroie (aider) * 1610fdec17dSCostin Stroie (aider) * @var string 1620fdec17dSCostin Stroie (aider) */ 16315cead4bSCostin Stroie$conf['chroma_host'] = '127.0.0.1'; 1640fdec17dSCostin Stroie (aider) 1650fdec17dSCostin Stroie (aider)/** 1660fdec17dSCostin Stroie (aider) * ChromaDB Port 1670fdec17dSCostin Stroie (aider) * 1680fdec17dSCostin Stroie (aider) * The port number on which ChromaDB is running. 1690fdec17dSCostin Stroie (aider) * Default ChromaDB port is 8000, but can be customized. 1700fdec17dSCostin Stroie (aider) * 1710fdec17dSCostin Stroie (aider) * @var int 1720fdec17dSCostin Stroie (aider) */ 17315cead4bSCostin Stroie$conf['chroma_port'] = 8000; 1740fdec17dSCostin Stroie (aider) 1750fdec17dSCostin Stroie (aider)/** 1760fdec17dSCostin Stroie (aider) * ChromaDB Tenant 1770fdec17dSCostin Stroie (aider) * 1780fdec17dSCostin Stroie (aider) * The tenant name for ChromaDB organization. 1790fdec17dSCostin Stroie (aider) * Used to isolate data between different organizations or projects. 1800fdec17dSCostin Stroie (aider) * 1810fdec17dSCostin Stroie (aider) * @var string 1820fdec17dSCostin Stroie (aider) */ 1830fdec17dSCostin Stroie (aider)$conf['chroma_tenant'] = 'dokullm'; 1840fdec17dSCostin Stroie (aider) 1850fdec17dSCostin Stroie (aider)/** 1860fdec17dSCostin Stroie (aider) * ChromaDB Database 1870fdec17dSCostin Stroie (aider) * 1880fdec17dSCostin Stroie (aider) * The database name within the ChromaDB tenant. 1890fdec17dSCostin Stroie (aider) * Used to organize collections within a tenant. 1900fdec17dSCostin Stroie (aider) * 1910fdec17dSCostin Stroie (aider) * @var string 1920fdec17dSCostin Stroie (aider) */ 1930fdec17dSCostin Stroie (aider)$conf['chroma_database'] = 'dokullm'; 1940fdec17dSCostin Stroie (aider) 1950fdec17dSCostin Stroie (aider)/** 1960fdec17dSCostin Stroie (aider) * ChromaDB Collection 1970fdec17dSCostin Stroie (aider) * 1980fdec17dSCostin Stroie (aider) * The default collection name for document storage. 1990fdec17dSCostin Stroie (aider) * Collections are used to group related documents. 2000fdec17dSCostin Stroie (aider) * 2010fdec17dSCostin Stroie (aider) * @var string 2020fdec17dSCostin Stroie (aider) */ 20315cead4bSCostin Stroie$conf['chroma_collection'] = 'documents'; 2040fdec17dSCostin Stroie (aider) 2050fdec17dSCostin Stroie (aider)/** 2060fdec17dSCostin Stroie (aider) * Default Institution 2070fdec17dSCostin Stroie (aider) * 2080fdec17dSCostin Stroie (aider) * The default institution identifier for templates. 2090fdec17dSCostin Stroie (aider) * Used to determine which templates to use by default. 2100fdec17dSCostin Stroie (aider) * 2110fdec17dSCostin Stroie (aider) * @var string 2120fdec17dSCostin Stroie (aider) */ 21315cead4bSCostin Stroie$conf['default_institution'] = 'default'; 2140fdec17dSCostin Stroie (aider) 2150fdec17dSCostin Stroie (aider)/** 2160fdec17dSCostin Stroie (aider) * Ollama Host 2170fdec17dSCostin Stroie (aider) * 2180fdec17dSCostin Stroie (aider) * The hostname or IP address of your Ollama server. 2190fdec17dSCostin Stroie (aider) * Used for generating embeddings for document search. 2200fdec17dSCostin Stroie (aider) * 2210fdec17dSCostin Stroie (aider) * @var string 2220fdec17dSCostin Stroie (aider) */ 22315cead4bSCostin Stroie$conf['ollama_host'] = '127.0.0.1'; 2240fdec17dSCostin Stroie (aider) 2250fdec17dSCostin Stroie (aider)/** 2260fdec17dSCostin Stroie (aider) * Ollama Port 2270fdec17dSCostin Stroie (aider) * 2280fdec17dSCostin Stroie (aider) * The port number on which Ollama is running. 2290fdec17dSCostin Stroie (aider) * Default Ollama port is 11434. 2300fdec17dSCostin Stroie (aider) * 2310fdec17dSCostin Stroie (aider) * @var int 2320fdec17dSCostin Stroie (aider) */ 2330fdec17dSCostin Stroie (aider)$conf['ollama_port'] = 11434; 2340fdec17dSCostin Stroie (aider) 2350fdec17dSCostin Stroie (aider)/** 2360fdec17dSCostin Stroie (aider) * Ollama Embeddings Model 2370fdec17dSCostin Stroie (aider) * 2380fdec17dSCostin Stroie (aider) * The model name used for generating text embeddings. 2390fdec17dSCostin Stroie (aider) * Embeddings are used for semantic search in ChromaDB. 2400fdec17dSCostin Stroie (aider) * 2410fdec17dSCostin Stroie (aider) * @var string 2420fdec17dSCostin Stroie (aider) */ 2430fdec17dSCostin Stroie (aider)$conf['ollama_embeddings_model'] = 'nomic-embed-text'; 2440fdec17dSCostin Stroie (aider) 245