[ /** * Open-webui provider, which uses ollama as backend */ 'open-webui' => [ // Class handling the request 'handler' => App\Services\AI\Providers\Ollama::class, // Base URL of the ollama API endpoint 'baseUrl' => env('OPENWEBUI_URL'), // Specific headers, here we enable authorization 'headers' => [ 'Authorization' => 'Bearer ' . env('OPENWEBUI_KEY'), ], // Default options to apply to all outgoing requests. These options // are taken from provider's API documentation, in this case ollama. // They are all set when instanciating the provider and can be // overriden afterwise 'options' => [ 'stream' => false, 'keepalive' => 0, ], // Services definitions 'services' => [ // Configuration for the image description service AIHandler::SERVICE_DESCRIBE_IMAGE => [ // API endpoint 'endpoint' => '/generate', // Prompt used to ask the provider for an image description 'prompt' => 'Describe this image in two sentences', // We can ask to several models. We can also override // options for a particular model 'models' => [ 'llava', 'llava:13b', 'llava-llama3', 'bakllava', ], ], // Configuration for the text summarization service AIHandler::SERVICE_SUMMARIZE_CONTENT => [ // API endpoint 'endpoint' => '/generate', // We can ask to several models. We can also override // options for a particular model 'models' => [ 'gemma', 'llama3', ], ], ], ], ], ];