feat: 完善提示词
This commit is contained in:
@@ -4,6 +4,7 @@ using Yi.Framework.Stock.Domain.Entities;
|
||||
using Yi.Framework.Stock.Domain.Managers.SemanticKernel;
|
||||
using Yi.Framework.Stock.Domain.Managers.SemanticKernel.Plugins;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
|
||||
namespace Yi.Framework.Stock.Domain.Managers;
|
||||
|
||||
@@ -64,23 +65,9 @@ public class NewsManager:DomainService
|
||||
newsContext.AppendLine("目前没有最近的新闻记录。");
|
||||
}
|
||||
|
||||
var question = $$"""
|
||||
基于以下最近的新闻背景,生成一条新的股市相关新闻。
|
||||
|
||||
{{newsContext}}
|
||||
|
||||
请生成一条有关联性的新闻,包含以下要素:
|
||||
1. 新闻标题:吸引人且与股市、金融或经济相关
|
||||
2. 新闻内容:详细且符合逻辑的报道,篇幅适中
|
||||
3. 新闻简介:简明扼要的总结
|
||||
4. 新闻来源:提供一个可信的媒体或机构名称
|
||||
|
||||
注意:
|
||||
- 新闻内容应当与前面的新闻有一定关联性
|
||||
- 内容应当暗示可能对股市产生某种影响(积极或消极)
|
||||
- 行业焦点可以包括娱乐、科技、能源、金融等多个领域
|
||||
- 只需生成一次即可
|
||||
""";
|
||||
var promptPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot", "stock", "newsPrompt.txt");
|
||||
var question = await File.ReadAllTextAsync(promptPath);
|
||||
question = question.Replace("{{newsContext}}", newsContext.ToString());
|
||||
|
||||
await _skClient.ChatCompletionAsync(question, ("NewsPlugins","save_news"));
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ using Yi.Framework.Stock.Domain.Managers.SemanticKernel;
|
||||
using Yi.Framework.Stock.Domain.Managers.SemanticKernel.Plugins;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
|
||||
namespace Yi.Framework.Stock.Domain.Managers
|
||||
{
|
||||
@@ -422,34 +423,17 @@ namespace Yi.Framework.Stock.Domain.Managers
|
||||
{
|
||||
if (stockPrices.TryGetValue(stock.Id, out var price))
|
||||
{
|
||||
stocksContext.AppendLine($"{stock.MarketName}:id:{stock.Id} 最后一次价格:{price:F2}");
|
||||
stocksContext.AppendLine($"{stock.MarketName}:id:{stock.Id},简介:{stock.Description} 最后一次价格:{price:F2}");
|
||||
}
|
||||
}
|
||||
|
||||
var question = $$"""
|
||||
根据最近的新闻和当前股票价格,预测多家股票未来24小时的价格走势
|
||||
// 从文件读取问题模板
|
||||
string promptTemplate = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot", "stock", "marketPrompt.txt"));
|
||||
|
||||
{{newsContext}}
|
||||
|
||||
{{stocksContext}}
|
||||
|
||||
请分析上述新闻对各个股票可能产生的影响,并预测每支股票未来24小时的价格变动:
|
||||
1. 考虑新闻中提到的行业、公司或经济趋势
|
||||
2. 分析这些因素对不同股票的积极或消极影响
|
||||
3. 根据分析生成合理的价格波动
|
||||
|
||||
对每支股票,请返回:
|
||||
- 股票id
|
||||
- 一个长度为24的价格数组,表示未来24小时(每小时整点)的预测价格
|
||||
|
||||
价格变动应当符合以下规则:
|
||||
- 相邻时间点的价格波动通常不超过前值的20%
|
||||
- 考虑市场开盘和收盘时间可能带来的较大波动
|
||||
- 不同股票之间的相关性(如同行业股票可能有类似走势)
|
||||
- 部分股票可能对某些新闻更敏感
|
||||
|
||||
请确保数据格式正确,以便系统能够自动处理。
|
||||
""";
|
||||
// 替换变量
|
||||
string question = promptTemplate
|
||||
.Replace("{{newsContext}}", newsContext.ToString())
|
||||
.Replace("{{stocksContext}}", stocksContext.ToString());
|
||||
|
||||
await _skClient.ChatCompletionAsync(question, ("StockPlugins", "save_stocks"));
|
||||
}
|
||||
|
||||
@@ -53,6 +53,9 @@
|
||||
<Content Update="wwwroot\plugins\news\skprompt.txt">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Update="wwwroot\stock\**">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
23
Yi.Abp.Net8/src/Yi.Abp.Web/wwwroot/stock/marketPrompt.txt
Normal file
23
Yi.Abp.Net8/src/Yi.Abp.Web/wwwroot/stock/marketPrompt.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
根据最近的新闻和当前股票价格,预测多家股票未来24小时的价格走势
|
||||
|
||||
{{newsContext}}
|
||||
|
||||
{{stocksContext}}
|
||||
|
||||
请分析上述新闻对各个股票可能产生的影响,并预测每支股票未来24小时的价格变动:
|
||||
1. 考虑新闻中提到的行业、公司或经济趋势
|
||||
2. 分析这些因素对不同股票的积极或消极影响
|
||||
3. 根据分析生成合理的价格波动
|
||||
4. 股票的简介是该股票行业、类型等信息准确的定位
|
||||
|
||||
对每支股票,请返回:
|
||||
- 股票id
|
||||
- 一个长度为24的价格数组,表示未来24小时(每小时整点)的预测价格
|
||||
|
||||
价格变动应当符合以下规则:
|
||||
- 相邻时间点的价格波动通常不超过前值的20%
|
||||
- 考虑市场开盘和收盘时间可能带来的较大波动
|
||||
- 不同股票之间的相关性(如同行业股票可能有类似走势)
|
||||
- 部分股票可能对某些新闻更敏感
|
||||
|
||||
请确保数据格式正确,以便系统能够自动处理。
|
||||
15
Yi.Abp.Net8/src/Yi.Abp.Web/wwwroot/stock/newsPrompt.txt
Normal file
15
Yi.Abp.Net8/src/Yi.Abp.Web/wwwroot/stock/newsPrompt.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
基于以下最近的新闻背景,生成一条新的股市相关新闻。
|
||||
|
||||
{{newsContext}}
|
||||
|
||||
请生成一条有关联性的新闻,包含以下要素:
|
||||
1. 新闻标题:吸引人且与股市、金融或经济相关
|
||||
2. 新闻内容:详细且符合逻辑的报道,篇幅适中
|
||||
3. 新闻简介:简明扼要的总结
|
||||
4. 新闻来源:提供一个可信的媒体或机构名称
|
||||
|
||||
注意:
|
||||
- 新闻内容应当与前面的新闻有一定关联性
|
||||
- 内容应当暗示可能对股市产生某种影响(积极或消极)
|
||||
- 行业焦点可以包括娱乐、科技、能源、金融等多个领域
|
||||
- 只需生成一次即可
|
||||
Reference in New Issue
Block a user