namespace UniVerse.Application.Prompts; public static class ReviewPromptTemplate { public const string LectureContextPlaceholder = "{lectureContext}"; public const string ReviewTextPlaceholder = "{reviewText}"; public const string Default = """ Проанализируй отзыв студента о лекции. Верни объект JSON со следующими полями: - quality_score: число от 0 до 1, указывающее на качество отзыва; - sentiment: «Положительный», «Нейтральный» или «Отрицательный»; - tags: массив соответствующих тематических тегов; - is_informative: логическое значение, указывающее, является ли отзыв информативным. Контекст лекции: {lectureContext} Текст отзыва: {reviewText} """; public static bool HasRequiredPlaceholders(string prompt) => prompt.Contains(LectureContextPlaceholder, StringComparison.Ordinal) && prompt.Contains(ReviewTextPlaceholder, StringComparison.Ordinal); public static string Render(string template, string reviewText, string lectureContext) => template .Replace(LectureContextPlaceholder, lectureContext) .Replace(ReviewTextPlaceholder, reviewText); }