microsoft/teams.net
Publicmirrored from https://github.com/microsoft/teams.netAvailable
Samples/Samples.Lights/Program.cs
43lines · modeblame
72dee098Rido6 months ago | 1 | using System.Text.Json; |
| 2 | | |
| 3 | using Microsoft.Teams.AI.Models.OpenAI; | |
73e7847aAlex Acebo1 years ago | 4 | using Microsoft.Teams.AI.Models.OpenAI.Extensions; |
72dee098Rido6 months ago | 5 | using Microsoft.Teams.Apps.Activities; |
73e7847aAlex Acebo1 years ago | 6 | using Microsoft.Teams.Apps.Extensions; |
| 7 | using Microsoft.Teams.Plugins.AspNetCore.DevTools.Extensions; | |
| 8 | using Microsoft.Teams.Plugins.AspNetCore.Extensions; | |
| 9 | | |
| 10 | using Samples.Lights; | |
| 11 | | |
| 12 | var builder = WebApplication.CreateBuilder(args); | |
| 13 | builder.AddTeams().AddTeamsDevTools().AddOpenAI<LightsPrompt>(); | |
| 14 | | |
| 15 | var app = builder.Build(); | |
| 16 | | |
72dee098Rido6 months ago | 17 | // Get the prompt factory from services |
| 18 | var promptFactory = app.Services.GetRequiredService<Func<OpenAIChatPrompt>>(); | |
| 19 | | |
| 20 | var teams = app.UseTeams(); | |
| 21 | | |
2a3ae203Rido5 months ago | 22 | teams.OnMessage("/history", async (context, cancellationToken) => |
72dee098Rido6 months ago | 23 | { |
| 24 | var state = State.From(context); | |
| 25 | await context.Send(JsonSerializer.Serialize(state.Messages, new JsonSerializerOptions() | |
| 26 | { | |
| 27 | WriteIndented = true | |
2a3ae203Rido5 months ago | 28 | }), cancellationToken); |
72dee098Rido6 months ago | 29 | }); |
| 30 | | |
2a3ae203Rido5 months ago | 31 | teams.OnMessage(async (context, cancellationToken) => |
72dee098Rido6 months ago | 32 | { |
| 33 | var state = State.From(context); | |
| 34 | var prompt = promptFactory(); | |
| 35 | await prompt.Send(context.Activity.Text, new() { Messages = state.Messages }, (chunk) => Task.Run(() => | |
| 36 | { | |
| 37 | context.Stream.Emit(chunk); | |
2a3ae203Rido5 months ago | 38 | }), cancellationToken); |
72dee098Rido6 months ago | 39 | |
| 40 | state.Save(context); | |
| 41 | }); | |
| 42 | | |
ff5b5e35Corina5 months ago | 43 | app.Run(); |