Public/Invoke-PSUAiPrompt.ps1
function Invoke-PSUAiPrompt { [CmdletBinding()] param( [Parameter(Mandatory)] [string]$Prompt, [Parameter()] [ValidateNotNullOrEmpty()] [string]$DefaultAiEngine = $env:DEFAULT_AI_ENGINE, [Parameter()] [switch]$ReturnJsonResponse ) switch ($DefaultAiEngine.ToLower()) { "azureopenai" { Write-Verbose "Using Azure OpenAI as the default AI engine" if ($ReturnJsonResponse) { return Invoke-PSUPromptOnAzureOpenAi -Prompt $Prompt -ReturnJsonResponse } else { return Invoke-PSUPromptOnAzureOpenAi -Prompt $Prompt } } "geminiai" { Write-Verbose "Using Gemini as the default AI engine" if ($ReturnJsonResponse) { return Invoke-PSUPromptOnGeminiAi -Prompt $Prompt -ReturnJsonResponse } else { return Invoke-PSUPromptOnGeminiAi -Prompt $Prompt } } "perplexityai" { Write-Verbose "Using Perplexity as the default AI engine" if ($ReturnJsonResponse) { return Invoke-PSUPromptOnPerplexityAi -Prompt $Prompt -ReturnJsonResponse } else { return Invoke-PSUPromptOnPerplexityAi -Prompt $Prompt } } default { throw "Unsupported AI provider: $DefaultAiEngine. Please set `$env:DEFAULT_AI_ENGINE to one of: OpenAi, GeminiAi, PerplexityAi." } } } |