Private/ArgumentCompletion.ps1
function ModelArgumentCompleter { param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) $models = "gpt-4o", "gpt-4o-2024-05-13", "gpt-4-turbo", "gpt-4-turbo-2024-04-09", "gpt-4-0125-preview", "gpt-4-turbo-preview", "gpt-4-1106-preview", "gpt-4-vision-preview", "gpt-4", "gpt-4-0314", "gpt-4-0613", "gpt-4-32k", "gpt-4-32k-0314", "gpt-4-32k-0613", "gpt-3.5-turbo", "gpt-3.5-turbo-16k", "gpt-3.5-turbo-0613", "gpt-3.5-turbo-1106", "gpt-3.5-turbo-0125", "gpt-3.5-turbo-16k-0613" foreach ($model in $models) { New-Object -TypeName System.Management.Automation.CompletionResult -ArgumentList "'$model'", $model , 'ParameterValue' , $model } } if (Get-Command -ErrorAction SilentlyContinue -name Register-ArgumentCompleter) { $functionNames = 'New-OAIAssistant', 'Invoke-OAIChat', 'Invoke-OAIChatCompletion', 'Update-OAIAssistant', 'New-OAIRun', 'Invoke-Chat', 'Invoke-OAIChatCompletion' foreach ($functionName in $functionNames) { Register-ArgumentCompleter -CommandName $functionName -ParameterName Model -ScriptBlock $Function:ModelArgumentCompleter } } |