mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
74879489a4
* Checkpoint * Update workflows/DeepResearch.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Comment * Fix comment * Update package version * Fix nuget haxx * Checkpoint * Code complete * Testing * Message content workaround * Add sequential flow * Checkpoint * Integration test project * Checkpoint * Checkpoint cleanup * Complete * Update package --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
51 lines
1.9 KiB
C#
51 lines
1.9 KiB
C#
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
using System.Collections.Generic;
|
|
using System.Collections.Immutable;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using Azure.AI.Agents.Persistent;
|
|
using Azure.Identity;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.SemanticKernel;
|
|
using Microsoft.SemanticKernel.Agents;
|
|
using Microsoft.SemanticKernel.Agents.AzureAI;
|
|
using Shared.IntegrationTests;
|
|
|
|
namespace Microsoft.Agents.Workflows.Declarative.IntegrationTests.Framework;
|
|
|
|
#pragma warning disable SKEXP0110 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.
|
|
|
|
internal static class AgentFactory
|
|
{
|
|
public static async Task<ImmutableDictionary<string, string?>> CreateAsync(string agentsDirectory, AzureAIConfiguration config, CancellationToken cancellationToken)
|
|
{
|
|
PersistentAgentsClient clientAgents = new(config.Endpoint, new AzureCliCredential());
|
|
|
|
IKernelBuilder kernelBuilder = Kernel.CreateBuilder();
|
|
kernelBuilder.Services.AddSingleton(clientAgents);
|
|
Kernel kernel = kernelBuilder.Build();
|
|
|
|
AzureAIAgentFactory factory = new();
|
|
|
|
Dictionary<string, string?> agentMap = [];
|
|
|
|
foreach (string file in Directory.GetFiles(agentsDirectory, "*.yaml"))
|
|
{
|
|
Debug.WriteLine($"TEST AGENT: Creating - {file}");
|
|
string agentText = File.ReadAllText(file);
|
|
|
|
Agent? agent = await factory.CreateAgentFromYamlAsync(agentText, new AgentCreationOptions() { Kernel = kernel }, configuration: null, cancellationToken);
|
|
|
|
Assert.NotNull(agent?.Name);
|
|
|
|
Debug.WriteLine($"TEST AGENT: {agent.Name} => {agent.Id}");
|
|
agentMap[agent.Name] = agent.Id;
|
|
}
|
|
|
|
return agentMap.ToImmutableDictionary();
|
|
}
|
|
}
|