-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Expand file tree
/
Copy pathProgram.cs
More file actions
34 lines (27 loc) · 1.12 KB
/
Program.cs
File metadata and controls
34 lines (27 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using OpenTelemetry;
using OpenTelemetry.Trace;
using MAF_ImageGen_01;
using MAF_ImageGen_02;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
var tools = new[] { AIFunctionFactory.Create(ImageGenerator.GenerateImageFromPrompt) };
// get chat client
IChatClient chatClient = ChatClientProvider.GetChatClient();
// Create a TracerProvider that exports to the console
using var tracerProvider = Sdk.CreateTracerProviderBuilder()
.AddSource("agent-telemetry-source")
.AddConsoleExporter()
.Build();
var imageGenerator = chatClient.AsAIAgent(
name: "Image Generator",
instructions: "You are an agent that is specialized on image generation. If the user ask to create an image, the image should always be pixelated with big pixels.",
description: "An AI agent that generate images using Microsoft Foundry models.",
tools: [.. tools])
.AsBuilder()
.UseOpenTelemetry(sourceName: "agent-telemetry-source")
.Build();
// test agent
var message = "create an image of a racoon in Canada";
AgentResponse response = await imageGenerator.RunAsync(
message: message);
Console.WriteLine(response.Text);