初始提交
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
using MAF1.Agents.FileCity;
|
||||
using Microsoft.Agents.AI.Workflows;
|
||||
using Microsoft.Extensions.AI;
|
||||
|
||||
namespace MAF1.Workflows;
|
||||
|
||||
/// <summary>
|
||||
/// 只有「有城市」那条边会进到这里,所以这里不再判断。
|
||||
/// </summary>
|
||||
internal sealed class ToWeatherPromptExecutor() : Executor<CityExtraction>("ToWeatherPrompt")
|
||||
{
|
||||
protected override ProtocolBuilder ConfigureProtocol(ProtocolBuilder builder)
|
||||
{
|
||||
return base.ConfigureProtocol(builder)
|
||||
.SendsMessage<ChatMessage>()
|
||||
.SendsMessage<TurnToken>();
|
||||
}
|
||||
|
||||
public override async ValueTask HandleAsync(
|
||||
CityExtraction extraction,
|
||||
IWorkflowContext context,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
string prompt = $"请查询这些城市的天气:{string.Join("、", extraction.Cities)}";
|
||||
await context.SendMessageAsync(new ChatMessage(ChatRole.User, prompt), cancellationToken: cancellationToken);
|
||||
await context.SendMessageAsync(new TurnToken(emitEvents: true), cancellationToken: cancellationToken);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user