Implement step 17 modules: threads/messages, notifications with automation (submission.created, idea.created, grant_call.opened), innovation test feedback, admin panel (submissions, verify, metrics, grant call status), Middleman adaptation and partnerships. Split multi-type files into one type per file and replace object-valued dictionaries with string-valued maps in data contracts (migrations 0006/0007).
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
namespace TarninaHub.Application.Matchmaking;
|
|
|
|
|
|
public static class MatchPromptBuilder
|
|
{
|
|
private const string SystemPrompt =
|
|
"Jesteś asystentem Małopolskiego Hubu Innowacji Społecznych. " +
|
|
"Wyjaśnij po polsku, prostym językiem (maks. 2 zdania), dlaczego proponowana " +
|
|
"innowacja pasuje do zgłoszonej potrzeby. Nie wymyślaj faktów.";
|
|
|
|
public static LlmPrompt BuildExplanation(
|
|
string problemTitle,
|
|
string problemDescription,
|
|
string challengeId,
|
|
string innovationTitle,
|
|
string innovationSummary,
|
|
string stage,
|
|
double score)
|
|
{
|
|
var user =
|
|
$"Potrzeba: {problemTitle}\n" +
|
|
$"Opis: {problemDescription}\n" +
|
|
$"Obszar: {challengeId}\n" +
|
|
$"Proponowana innowacja: {innovationTitle}\n" +
|
|
$"Streszczenie: {innovationSummary}\n" +
|
|
$"Etap: {stage}\n" +
|
|
$"Ocena dopasowania: {score:0.00}\n" +
|
|
"Uzasadnij krótko dopasowanie.";
|
|
|
|
return new LlmPrompt(SystemPrompt, user);
|
|
}
|
|
}
|