src/Private/Report/AI/Get-MCSMetroAIRecommendationDescription.ps1
|
function Get-MCSMetroAIRecommendationDescription { Param( $RecommendationTitle, $RecommendationDescription, $ExtraRequest, $MetroAgent, $Conversation, $Debug ) if ($Debug.IsPresent) { $DebugPreference = "Continue" } else { $DebugPreference = "SilentlyContinue" } Write-Debug ((get-date -Format 'yyyy-MM-dd HH_mm_ss')+' - '+"Getting Recommendation Description for Critical Recommendation: $RecommendationTitle") $Prompt = "In less than 50 words, provide a polished and executive-friendly description for the following recommendation: '$RecommendationTitle'. The description should be very polite, should not look it was written by AI and should not contain anything besides the polished description. Here is the original recommendation description that you can use as reference: $RecommendationDescription. $ExtraRequest" try { $turn = Invoke-MetroAIConversation -AgentId $MetroAgent.id -ConversationId $Conversation.id -UserInput $Prompt -Debug:$false Write-Debug ((get-date -Format 'yyyy-MM-dd HH_mm_ss')+' - '+"AI Response ID: $($turn.ResponseId)") Start-Sleep -Milliseconds 500 } catch { Write-Warning "Error invoking AI conversation for recommendation description. Error: $_" $turn = @{ AssistantText = $RecommendationDescription } } return $turn.AssistantText } |