8d379168b2
* Add skill to replace hardcoded foundry project endpoint and model * Include more samples and fix migration samples part 1 * Fix migration samples * Replace Foundry hosted agent validation skill * Fix hosted agent file sample * Fix agent result format * Reorganize jobs * Update discovery heuristic for apps * Split agents into even more jobs * Add toolbox endpoint * Add more pre configured resources * Fix using deployed agent sample * Add sample status * Add playbook * Exclude hidden folder in sample discovery * Install autogen dependencies * Grant azure search RBAC role * Increase timeout for magentic * Build search resouce id deterministically * Remove grant in the workflow * Move azure cli login closer to when the sample actually runs * Refactor playbook * Fix using deployed agent sample * Actually save the playbooks * Fix action syntax error * Fix magentic sample * Address copilot comments * Fix link inspection * Address comments * Correct README * Fix playbook path * Remove trailing space
51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
# Copyright (c) Microsoft. All rights reserved.
|
|
|
|
"""
|
|
Sample Validation Workflow using Microsoft Agent Framework.
|
|
|
|
Workflow composition for sample validation.
|
|
"""
|
|
|
|
from agent_framework import Workflow, WorkflowBuilder
|
|
|
|
from sample_validation.create_dynamic_workflow_executor import (
|
|
CreateConcurrentValidationWorkflowExecutor,
|
|
)
|
|
from sample_validation.discovery import DiscoverSamplesExecutor, ValidationConfig
|
|
from sample_validation.replay_executor import ReplayCachedPlaybooksExecutor
|
|
from sample_validation.report import GenerateReportExecutor
|
|
from sample_validation.run_dynamic_validation_workflow_executor import (
|
|
RunDynamicValidationWorkflowExecutor,
|
|
)
|
|
|
|
|
|
def create_validation_workflow(
|
|
config: ValidationConfig,
|
|
) -> Workflow:
|
|
"""
|
|
Create the sample validation workflow.
|
|
|
|
Args:
|
|
config: Validation configuration
|
|
|
|
Returns:
|
|
Configured Workflow instance
|
|
"""
|
|
discover = DiscoverSamplesExecutor(config)
|
|
replay = ReplayCachedPlaybooksExecutor(config)
|
|
create_dynamic_workflow = CreateConcurrentValidationWorkflowExecutor(config)
|
|
run_dynamic_workflow = RunDynamicValidationWorkflowExecutor()
|
|
generate = GenerateReportExecutor()
|
|
|
|
return (
|
|
WorkflowBuilder(start_executor=discover)
|
|
.add_edge(discover, replay)
|
|
.add_edge(replay, create_dynamic_workflow)
|
|
.add_edge(create_dynamic_workflow, run_dynamic_workflow)
|
|
.add_edge(run_dynamic_workflow, generate)
|
|
.build()
|
|
)
|
|
|
|
|
|
__all__ = ["ValidationConfig", "create_validation_workflow"]
|