alexorlov commited on
Commit
6368256
·
verified ·
1 Parent(s): b5e4f35

Upload app/agent/prompts.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app/agent/prompts.py +82 -57
app/agent/prompts.py CHANGED
@@ -1,57 +1,82 @@
1
- SYSTEM_PROMPT = """Ты - AI ассистент, который помогает заполнить чеклист созвона с клиентом.
2
- Твоя задача - задавать вопросы и анализировать ответы, чтобы собрать всю необходимую информацию о проекте клиента.
3
-
4
- Основные темы для выяснения:
5
- 1. Общая информация о проекте (название, описание, контакты)
6
- 2. Цели и задачи (что хотят достичь, ключевые метрики)
7
- 3. Сроки и бюджет (дедлайны, финансовые ограничения)
8
- 4. Технические требования (интеграции, платформы, технологии)
9
- 5. Дополнительная информация иски, особенности, пожелания)
10
-
11
- Правила:
12
- - Задавай открытые вопросы
13
- - Адаптируй следующие вопросы на основе полученных ответов
14
- - Будь вежливым и профессиональным
15
- - Все общение ведется на русском языке
16
- """
17
-
18
- INITIAL_QUESTIONS_PROMPT = """Сгенерируй 3 начальных вопроса для клиента.
19
-
20
- Вопросы должны быть направлены на выяснение:
21
- 1. Общей информации о проекте
22
- 2. Целей и ожидаемых результатов
23
- 3. Текущей ситуации и контекста
24
-
25
- Формат ответа - JSON:
26
- {
27
- "questions": [
28
- {"id": "q1", "text": "..."},
29
- {"id": "q2", "text": "..."},
30
- {"id": "q3", "text": "..."}
31
- ]
32
- }
33
- """
34
-
35
- ANALYZE_ROUND_PROMPT = """Проанализируй ответы клиента и:
36
- 1. Создай краткое саммари раунда (2-3 предложения)
37
- 2. Определи, какая информация уже получена
38
- 3. Определи, что еще нужно уточнить
39
- 4. Сгенерируй 3 уточняющих вопроса для следующего раунда
40
-
41
- Фокусируйся на недостающей информации и углубляй понимание проекта.
42
- """
43
-
44
- GENERATE_CHECKLIST_PROMPT = """На основе всех полученных ответов создай структурированный чеклист.
45
-
46
- Используй категории:
47
- - Общая информация
48
- - Цели и задачи
49
- - Сроки и бюджет
50
- - Технические требования
51
- - Дополнительные заметки
52
-
53
- Для каждого пункта укажи статус:
54
- - confirmed - информация подтверждена
55
- - needs_clarification - требует уточнения
56
- - not_discussed - не обсуждалось
57
- """
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ SYSTEM_PROMPT = """Ты AI-ассистент для заполнения чеклиста созвона с клиентом.
2
+ Твоя задача задавать вопросы, анализировать ответы и формировать структурированный чеклист.
3
+ Всегда отвечай на русском языке.
4
+ Формат ответа — строго JSON, без лишнего текста."""
5
+
6
+ INITIAL_QUESTIONS_PROMPT = """Сгенерируй 3 начальных вопроса для чеклиста созвона с клиентом.
7
+ Вопросы должны быть открытыми и покрывать основные темы:
8
+ 1. Информация о проекте и клиенте
9
+ 2. Цели и задачи проекта
10
+ 3. Сроки и бюджет
11
+
12
+ Верни JSON массив из 3 объектов:
13
+ [{"id": "q1", "text": "текст вопроса"}, ...]"""
14
+
15
+
16
+ def analyze_round_prompt(round_number: int, questions_and_answers: str, previous_summaries: str) -> str:
17
+ return f"""Проанализируй ответы раунда {round_number}.
18
+
19
+ Вопросы и ответы:
20
+ {questions_and_answers}
21
+
22
+ {"Предыдущие резюме раундов:" + chr(10) + previous_summaries if previous_summaries else ""}
23
+
24
+ Создай краткое резюме раунда, выделив:
25
+ - Что было выяснено
26
+ - Что требует уточнения
27
+ - Какие темы ещё не затронуты
28
+
29
+ Верни JSON объект:
30
+ {{"summary": "текст резюме"}}"""
31
+
32
+
33
+ def next_questions_prompt(round_number: int, all_summaries: str) -> str:
34
+ return f"""На основе анализа предыдущих раундов, сгенерируй 3 уточняющих вопроса для раунда {round_number}.
35
+
36
+ Резюме предыдущих раундов:
37
+ {all_summaries}
38
+
39
+ Вопросы должны:
40
+ - Уточнять неясные моменты из предыдущих ответов
41
+ - Раскрывать незатронутые темы
42
+ - Быть конкретными и направленными
43
+
44
+ Верни JSON массив из 3 объектов:
45
+ [{{"id": "q{(round_number-1)*3+1}", "text": "текст вопроса"}}, ...]"""
46
+
47
+
48
+ def generate_checklist_prompt(all_summaries: str, all_qa: str) -> str:
49
+ return f"""На основе всех раундов интервью, создай структурированный чеклист созвона.
50
+
51
+ Резюме всех раундов:
52
+ {all_summaries}
53
+
54
+ Все вопросы и ответы:
55
+ {all_qa}
56
+
57
+ Создай чеклист с категориями. Для каждого пункта укажи статус:
58
+ - "confirmed" — информация получена и подтверждена
59
+ - "needs_clarification" — требует уточнения
60
+ - "not_discussed" — не обсуждалось
61
+
62
+ Верни JSON массив:
63
+ [{{"category": "Информация о проекте", "item": "Название проекта: ...", "status": "confirmed", "notes": "..."}}]"""
64
+
65
+
66
+ def generate_markdown_prompt(checklist_json: str, session_id: str) -> str:
67
+ return f"""Преобразуй чеклист в красивый Markdown документ.
68
+
69
+ Чеклист (JSON):
70
+ {checklist_json}
71
+
72
+ ID сессии: {session_id}
73
+
74
+ Формат:
75
+ - Заголовок: "# Чеклист созвона с клиентом"
76
+ - Дата (сегодня)
77
+ - Группировка по категориям (## заголовки)
78
+ - [x] для confirmed, [ ] для needs_clarification и not_discussed
79
+ - Секция "Дополнительные заметки" с notes
80
+ - Подпись: "*Сгенерировано автоматически с помощью AI Checklist Agent*"
81
+
82
+ Верни только Markdown текст, без JSON обёртки."""