It means you stop asking one Generative Answers node to decide which files are relevant.
With six separate Custom Search steps, each search is restricted to one specific file. So you force Copilot Studio to retrieve information for every required SMART dimension separately.
kind: AdaptiveDialog
modelDescription: Evaluate my SMART goal
beginDialog:
kind: OnRecognizedIntent
id: main
intent: {}
actions:
- kind: Question
id: question_q5TLlo
interruptionPolicy:
allowInterruption: false
variable: init:Topic.Goal
prompt: What goal would you like me to evaluate using the SMART framework?
entity: StringPrebuiltEntity
- kind: SearchKnowledgeSources
id: searchKnowledgeSources_a9E3Yw
displayName: Custom search Specific
fileSearchDataSource:
searchFilesMode:
kind: SearchSpecificFiles
files:
- cr38e_sdas.file.Specific.txt_PX-
knowledgeSources:
kind: SearchSpecificKnowledgeSources
result: Topic.SpecificResults
userInput: Retrieve the definition, evaluation criteria, scoring rules and relevant guidance for evaluating the Specific dimension of a SMART goal.
- kind: SearchKnowledgeSources
id: searchKnowledgeSources_XXak2r
displayName: Custom search Measurable
fileSearchDataSource:
searchFilesMode:
kind: SearchSpecificFiles
files:
- cr38e_sdas.file.Measurable.txt_mAR
knowledgeSources:
kind: SearchSpecificKnowledgeSources
result: Topic.MeasurableResults
userInput: Retrieve the definition, evaluation criteria, scoring rules and relevant guidance for evaluating the Measurable dimension of a SMART goal.
- kind: SearchKnowledgeSources
id: searchKnowledgeSources_4UUWd5
displayName: Custom search Achievable
fileSearchDataSource:
searchFilesMode:
kind: SearchSpecificFiles
files:
- cr38e_sdas.file.Achievable.txt_uPX
knowledgeSources:
kind: SearchSpecificKnowledgeSources
result: Topic.AchievableResults
userInput: Retrieve the definition, evaluation criteria, scoring rules and relevant guidance for evaluating the Achievable dimension of a SMART goal.
- kind: SetVariable
id: setVariable_ovtTNp
displayName: Set variable value SpecificContext
variable: Topic.SpecificContext
value: |-
=Concat(
Topic.SpecificResults,
Content & Char(10) & Char(10)
)
- kind: SetVariable
id: setVariable_zcw5nj
displayName: Set variable value MeasurableContext
variable: Topic.MeasurableContext
value: |-
=Concat(
Topic.MeasurableResults,
Content & Char(10) & Char(10)
)
- kind: SetVariable
id: setVariable_31P5oz
displayName: Set variable value AchievableContext
variable: Topic.AchievableContext
value: |-
=Concat(
Topic.AchievableResults,
Content & Char(10) & Char(10)
)
- kind: InvokeAIBuilderModelAction
id: invokeAIBuilderModelAction_4JYxhX
input:
binding:
AchievableGuidance: =Topic.AchievableContext
Goal: =Topic.Goal
MeasurableGuidance: =Topic.MeasurableContext
SpecificGuidance: =Topic.SpecificContext
output:
binding:
predictionOutput: Topic.SMARTResult
aIModelId: 0458edc5-d697-45c0-b997-b7417a2f79af
- kind: SetVariable
id: setVariable_ftbJA7
displayName: Calculate SMART average
variable: Topic.AverageScore
value: |-
=Round(
(
Topic.SMARTResult.structuredOutput.specificScore +
Topic.SMARTResult.structuredOutput.measurableScore +
Topic.SMARTResult.structuredOutput.achievableScore
) / 3,
2
)
- kind: SendActivity
id: sendActivity_SMARTResult
activity: |-
SMART Evaluation
Specific: {Topic.SMARTResult.structuredOutput.specificScore}
{Topic.SMARTResult.structuredOutput.specificReason}
Measurable: {Topic.SMARTResult.structuredOutput.measurableScore}
{Topic.SMARTResult.structuredOutput.measurableReason}
Achievable: {Topic.SMARTResult.structuredOutput.achievableScore}
{Topic.SMARTResult.structuredOutput.achievableReason}
Average score: {Topic.AverageScore}
- kind: EndDialog
id: endDialog_SMARTEvaluation
clearTopicQueue: true
inputType: {}
outputType: {}