Files
BeWoPlaner/Server/Components/AICore/Prompt/SystemPrompts/AiConversationSystemPromptBuilder.cs
Rene Evertz 89154c0223 Generischer AiSystemPromptBuilder
-> Mehr über SystmePrompt File steuerbar
2026-06-24 10:47:29 +02:00

88 lines
2.5 KiB
C#

using AICore.Context.Summary;
using AICore.Context.SummaryParser;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.Exceptions;
using BS.Shared.Translation;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.Json;
namespace AICore.Prompt.SystemPrompts
{
//internal class AiConversationSystemPromptBuilder : BaseSystemPromptBuilder
//{
// public AiConversationSystemPromptBuilder(string prompt_path) : base(prompt_path) {
// }
// public string CreateSystemPrompt(AiActionType actionType, AiViewContextDC view_context, BaseContextSummary context, AiDataContextType aiDataContextType)
// {
// var currentDateTime = DateTime.Now;
// var moduleName = Translations[actionType];
// var filter = view_context.Filter is string filter_str
// ? $"Es ist folgender Filter gesetzt: {filter_str}"
// : "Es ist kein Filter gesetzt.";
// var context =
// var sb = new StringBuilder();
// sb.AppendLine(getCustomSystemPrompt());
// sb.AppendLine();
// sb.AppendLine();
// sb.AppendLine("---");
// sb.AppendLine();
// sb.AppendLine("### **Allgemein**");
// sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}");
// sb.AppendLine();
// sb.AppendLine("### **Ansicht**");
// sb.AppendLine($"- Ich befinde mich aktuell in der \"{Translations[actionType]}\" meiner Anwendung.");
// sb.AppendLine();
// sb.AppendLine("### **Daten**");
// if (context?.Context is null)
// {
// sb.AppendLine("Dir wurden keine Daten bereitgestellt.");
// }
// else
// {
// sb.AppendLine("Du erhälst folgende Daten:");
// var parser = GetParser(aiDataContextType);
// var parsed = parser.Parse(actionType, context);
// sb.AppendLine(parsed);
// }
// return sb.ToString();
// }
// private BaseContextSummaryParser GetParser(AiDataContextType aiDataContextType)
// {
// switch (aiDataContextType)
// {
// case AiDataContextType.json:
// return new JsonContextSummaryParser();
// case AiDataContextType.csv:
// return new CsvContextSummaryParser();
// case AiDataContextType.tsv:
// return new CsvContextSummaryParser("\t");
// case AiDataContextType.csv2:
// return new CsvContextSummaryParser(";", true);
// case AiDataContextType.tsv2:
// return new CsvContextSummaryParser("\t", true);
// default:
// break;
// }
// throw BeWoNotImplementedException.CreateFromEnum(aiDataContextType);
// }
//}
}