xref: /plugin/dokullm/conf/default.php (revision 73719e9bfb4826bb9c9e9bb156665d2c5ec96333)
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/**
50*73719e9bSCostin Stroie (aider) * The profile for prompts
5159036814SCostin Stroie *
52*73719e9bSCostin Stroie (aider) * Specifies which profile to use for the prompts.
53*73719e9bSCostin Stroie (aider) * User prompts can be classified in multiple profiles. By default, 'default'.
5459036814SCostin Stroie *
5559036814SCostin Stroie * @var string
5659036814SCostin Stroie */
57*73719e9bSCostin 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)/**
1460fdec17dSCostin Stroie (aider) * ChromaDB Host
1470fdec17dSCostin Stroie (aider) *
1480fdec17dSCostin Stroie (aider) * The hostname or IP address of your ChromaDB server.
1490fdec17dSCostin Stroie (aider) * This is used for document storage and retrieval.
1500fdec17dSCostin Stroie (aider) *
1510fdec17dSCostin Stroie (aider) * @var string
1520fdec17dSCostin Stroie (aider) */
15315cead4bSCostin Stroie$conf['chroma_host'] = '127.0.0.1';
1540fdec17dSCostin Stroie (aider)
1550fdec17dSCostin Stroie (aider)/**
1560fdec17dSCostin Stroie (aider) * ChromaDB Port
1570fdec17dSCostin Stroie (aider) *
1580fdec17dSCostin Stroie (aider) * The port number on which ChromaDB is running.
1590fdec17dSCostin Stroie (aider) * Default ChromaDB port is 8000, but can be customized.
1600fdec17dSCostin Stroie (aider) *
1610fdec17dSCostin Stroie (aider) * @var int
1620fdec17dSCostin Stroie (aider) */
16315cead4bSCostin Stroie$conf['chroma_port'] = 8000;
1640fdec17dSCostin Stroie (aider)
1650fdec17dSCostin Stroie (aider)/**
1660fdec17dSCostin Stroie (aider) * ChromaDB Tenant
1670fdec17dSCostin Stroie (aider) *
1680fdec17dSCostin Stroie (aider) * The tenant name for ChromaDB organization.
1690fdec17dSCostin Stroie (aider) * Used to isolate data between different organizations or projects.
1700fdec17dSCostin Stroie (aider) *
1710fdec17dSCostin Stroie (aider) * @var string
1720fdec17dSCostin Stroie (aider) */
1730fdec17dSCostin Stroie (aider)$conf['chroma_tenant'] = 'dokullm';
1740fdec17dSCostin Stroie (aider)
1750fdec17dSCostin Stroie (aider)/**
1760fdec17dSCostin Stroie (aider) * ChromaDB Database
1770fdec17dSCostin Stroie (aider) *
1780fdec17dSCostin Stroie (aider) * The database name within the ChromaDB tenant.
1790fdec17dSCostin Stroie (aider) * Used to organize collections within a tenant.
1800fdec17dSCostin Stroie (aider) *
1810fdec17dSCostin Stroie (aider) * @var string
1820fdec17dSCostin Stroie (aider) */
1830fdec17dSCostin Stroie (aider)$conf['chroma_database'] = 'dokullm';
1840fdec17dSCostin Stroie (aider)
1850fdec17dSCostin Stroie (aider)/**
1860fdec17dSCostin Stroie (aider) * ChromaDB Collection
1870fdec17dSCostin Stroie (aider) *
1880fdec17dSCostin Stroie (aider) * The default collection name for document storage.
1890fdec17dSCostin Stroie (aider) * Collections are used to group related documents.
1900fdec17dSCostin Stroie (aider) *
1910fdec17dSCostin Stroie (aider) * @var string
1920fdec17dSCostin Stroie (aider) */
19315cead4bSCostin Stroie$conf['chroma_collection'] = 'documents';
1940fdec17dSCostin Stroie (aider)
1950fdec17dSCostin Stroie (aider)/**
1960fdec17dSCostin Stroie (aider) * Default Institution
1970fdec17dSCostin Stroie (aider) *
1980fdec17dSCostin Stroie (aider) * The default institution identifier for templates.
1990fdec17dSCostin Stroie (aider) * Used to determine which templates to use by default.
2000fdec17dSCostin Stroie (aider) *
2010fdec17dSCostin Stroie (aider) * @var string
2020fdec17dSCostin Stroie (aider) */
20315cead4bSCostin Stroie$conf['default_institution'] = 'default';
2040fdec17dSCostin Stroie (aider)
2050fdec17dSCostin Stroie (aider)/**
2060fdec17dSCostin Stroie (aider) * Ollama Host
2070fdec17dSCostin Stroie (aider) *
2080fdec17dSCostin Stroie (aider) * The hostname or IP address of your Ollama server.
2090fdec17dSCostin Stroie (aider) * Used for generating embeddings for document search.
2100fdec17dSCostin Stroie (aider) *
2110fdec17dSCostin Stroie (aider) * @var string
2120fdec17dSCostin Stroie (aider) */
21315cead4bSCostin Stroie$conf['ollama_host'] = '127.0.0.1';
2140fdec17dSCostin Stroie (aider)
2150fdec17dSCostin Stroie (aider)/**
2160fdec17dSCostin Stroie (aider) * Ollama Port
2170fdec17dSCostin Stroie (aider) *
2180fdec17dSCostin Stroie (aider) * The port number on which Ollama is running.
2190fdec17dSCostin Stroie (aider) * Default Ollama port is 11434.
2200fdec17dSCostin Stroie (aider) *
2210fdec17dSCostin Stroie (aider) * @var int
2220fdec17dSCostin Stroie (aider) */
2230fdec17dSCostin Stroie (aider)$conf['ollama_port'] = 11434;
2240fdec17dSCostin Stroie (aider)
2250fdec17dSCostin Stroie (aider)/**
2260fdec17dSCostin Stroie (aider) * Ollama Embeddings Model
2270fdec17dSCostin Stroie (aider) *
2280fdec17dSCostin Stroie (aider) * The model name used for generating text embeddings.
2290fdec17dSCostin Stroie (aider) * Embeddings are used for semantic search in ChromaDB.
2300fdec17dSCostin Stroie (aider) *
2310fdec17dSCostin Stroie (aider) * @var string
2320fdec17dSCostin Stroie (aider) */
2330fdec17dSCostin Stroie (aider)$conf['ollama_embeddings_model'] = 'nomic-embed-text';
2340fdec17dSCostin Stroie (aider)
235