mirror of
https://gitee.com/ccnetcore/Yi
synced 2026-03-11 20:19:27 +08:00
42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
using System.ComponentModel;
|
|
using System.Text.Json.Serialization;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.SemanticKernel;
|
|
|
|
namespace Yi.Framework.Stock.Domain.Managers.SemanticKernel.Plugins;
|
|
|
|
public class NewsPlugins
|
|
{
|
|
private readonly IServiceProvider _serviceProvider;
|
|
|
|
public NewsPlugins(IServiceProvider serviceProvider)
|
|
{
|
|
_serviceProvider = serviceProvider;
|
|
}
|
|
|
|
[KernelFunction("save_news"), Description("生成并保存一个新闻")]
|
|
public async Task SaveAsync(NewsModel news)
|
|
{
|
|
var newsManager = _serviceProvider.GetRequiredService<NewsManager>();
|
|
await newsManager.SaveNewsAsync(news);
|
|
}
|
|
}
|
|
|
|
public class NewsModel
|
|
{
|
|
[JsonPropertyName("title")]
|
|
[DisplayName("新闻标题")]
|
|
public string Title { get; set; }
|
|
|
|
[JsonPropertyName("content")]
|
|
[DisplayName("新闻内容")]
|
|
public string Content { get; set; }
|
|
|
|
[JsonPropertyName("summary")]
|
|
[DisplayName("新闻简介")]
|
|
public string Summary { get; set; }
|
|
|
|
[JsonPropertyName("source")]
|
|
[DisplayName("新闻来源")]
|
|
public string Source { get; set; }
|
|
} |