-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprompts.py
More file actions
73 lines (53 loc) · 3.16 KB
/
prompts.py
File metadata and controls
73 lines (53 loc) · 3.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
"""
Промпты для LLM провайдеров
Все промпты на русском языке
"""
from typing import Optional
# Промпт для создания саммари одного документа
SUMMARY_PROMPT_TEMPLATE = """Проанализируй следующий документ и создай краткое, но информативное саммари на русском языке.
Требования к саммари:
- Основные темы и идеи документа
- Ключевые факты и данные
- Важные выводы или заключения
Документ:
{text}"""
# Промпт для создания общего саммари из нескольких документов
COMBINED_SUMMARY_PROMPT_TEMPLATE = """Проанализируй следующие саммари документов и создай единое, структурированное общее саммари на русском языке.
Требования к общему саммари:
- Объедини ключевые темы из всех документов
- Выдели общие паттерны и связи между документами
- Структурируй информацию по темам
Саммари документов:
{combined_text}
Создай общее саммари:"""
# Промпт для анализа изображений
IMAGE_ANALYSIS_PROMPT = """Проанализируй это изображение и создай подробное описание на русском языке.
Требования к описанию:
- Детально опиши, что изображено на картинке
- Если есть текст на изображении, прочитай и включи его в описание
- Опиши основные объекты, людей, действия, если они есть
- Укажи стиль, цвета, композицию изображения
- Если это документ или скриншот, опиши его содержание
Создай подробное описание изображения:"""
def build_summary_prompt(text: str, context: Optional[str] = None) -> str:
"""
Строит промпт для саммаризации одного документа
Args:
text: Текст документа
context: Дополнительный контекст (опционально)
Returns:
Готовый промпт
"""
prompt = SUMMARY_PROMPT_TEMPLATE.format(text=text[:5000])
if context:
prompt += f"\n\nДополнительный контекст: {context}"
return prompt
def build_combined_summary_prompt(combined_text: str) -> str:
"""
Строит промпт для объединения нескольких саммари
Args:
combined_text: Объединенный текст саммари документов
Returns:
Готовый промпт
"""
return COMBINED_SUMMARY_PROMPT_TEMPLATE.format(combined_text=combined_text[:8000])