Spaces:
Runtime error
Runtime error
mod prompts
Browse files- main.py +14 -17
- prompts.py +92 -40
main.py
CHANGED
@@ -207,10 +207,10 @@ def generate_legal_position(court_decision_text, user_question):
|
|
207 |
}
|
208 |
|
209 |
system_prompt = """
|
210 |
-
|
211 |
"""
|
212 |
|
213 |
-
prompt = f"""
|
214 |
|
215 |
1. Спочатку вам буде надано текст судового рішення:
|
216 |
|
@@ -218,36 +218,33 @@ def generate_legal_position(court_decision_text, user_question):
|
|
218 |
{court_decision_text}
|
219 |
</court_decision>
|
220 |
|
221 |
-
2. Уважно
|
222 |
- Юридичну суть рішення
|
223 |
- Основне правове обґрунтування
|
224 |
- Головні юридичні міркування
|
225 |
|
226 |
-
3. На основі
|
227 |
-
-
|
228 |
-
-
|
229 |
-
-
|
230 |
-
-
|
231 |
-
-
|
232 |
- Використовуйте лише українську мову
|
233 |
|
234 |
-
4.
|
235 |
|
236 |
5. Додатково визнач тип судочинства, до якої відноситься дане рішення.
|
237 |
Використовуй лише один із цих типів: 'Адміністративне судочинство', 'Кримінальне судочинство', 'Цивільне судочинство', 'Господарське судочинство'
|
238 |
|
239 |
-
6.
|
240 |
|
241 |
-
<examples>
|
242 |
{{
|
243 |
-
"title": "Заголовок
|
244 |
-
"text": "Текст
|
245 |
"proceeding": "Тип судочинства",
|
246 |
-
"category": "Категорія
|
247 |
}}
|
248 |
-
</examples>
|
249 |
|
250 |
-
Переконайтеся, що ваша відповідь відповідає цьому формату та вказівкам. Надайте лише один JSON-вихід без будь-яких додаткових коментарів.
|
251 |
"""
|
252 |
|
253 |
messages = [
|
|
|
207 |
}
|
208 |
|
209 |
system_prompt = """
|
210 |
+
Дій як кваліфікований юрист. :
|
211 |
"""
|
212 |
|
213 |
+
prompt = f"""Дотримуйся цих інструкцій.
|
214 |
|
215 |
1. Спочатку вам буде надано текст судового рішення:
|
216 |
|
|
|
218 |
{court_decision_text}
|
219 |
</court_decision>
|
220 |
|
221 |
+
2. Уважно прочитай та проаналізуй текст наданого судового рішення. Зверни увагу на:
|
222 |
- Юридичну суть рішення
|
223 |
- Основне правове обґрунтування
|
224 |
- Головні юридичні міркування
|
225 |
|
226 |
+
3. На основі аналізу сформулюй короткий зміст позиції суду, дотримуючись таких вказівок:
|
227 |
+
- Будь чіткими, точними та обґрунтованими
|
228 |
+
- Використовуй відповідну юридичну термінологію
|
229 |
+
- Зберігай стислість, але повністю передай суть судового рішення
|
230 |
+
- Уникай додаткових пояснень чи коментарів
|
231 |
+
- Спробуй узагальнювати та уникати специфічної інформації (наприклад, імен або назв) під час подачі результатів
|
232 |
- Використовуйте лише українську мову
|
233 |
|
234 |
+
4. Створи короткий заголовок, який відображає основну суть судового рішення та зазнач його категорію.
|
235 |
|
236 |
5. Додатково визнач тип судочинства, до якої відноситься дане рішення.
|
237 |
Використовуй лише один із цих типів: 'Адміністративне судочинство', 'Кримінальне судочинство', 'Цивільне судочинство', 'Господарське судочинство'
|
238 |
|
239 |
+
6. Відформатуй відповідь у форматі JSON:
|
240 |
|
|
|
241 |
{{
|
242 |
+
"title": "Заголовок судового рішення",
|
243 |
+
"text": "Текст короткого змісту позиції суду",
|
244 |
"proceeding": "Тип судочинства",
|
245 |
+
"category": "Категорія судового рішення"
|
246 |
}}
|
|
|
247 |
|
|
|
248 |
"""
|
249 |
|
250 |
messages = [
|
prompts.py
CHANGED
@@ -1,56 +1,108 @@
|
|
1 |
from llama_index.core.prompts import PromptTemplate
|
2 |
|
3 |
CITATION_QA_TEMPLATE = PromptTemplate(
|
4 |
-
"
|
5 |
-
"
|
6 |
-
"
|
7 |
-
"
|
8 |
-
"
|
9 |
-
"
|
10 |
-
"If none of the legal precedents or positions are helpful, you should indicate that. "
|
11 |
-
"Use only the Ukrainian language to answer. "
|
12 |
-
"For example:\n"
|
13 |
"Source 1:\n"
|
14 |
-
"
|
15 |
"Source 2:\n"
|
16 |
-
"
|
17 |
-
"
|
18 |
-
"
|
19 |
-
"
|
20 |
"\n------\n"
|
21 |
"{context_str}"
|
22 |
"\n------\n"
|
23 |
-
"
|
24 |
-
"
|
25 |
-
"Answer: "
|
26 |
)
|
27 |
|
|
|
|
|
28 |
CITATION_REFINE_TEMPLATE = PromptTemplate(
|
29 |
-
"
|
30 |
-
"
|
31 |
-
"
|
32 |
-
"
|
33 |
-
"
|
34 |
-
"
|
35 |
-
"If none of the legal precedents or positions are helpful, you should repeat the existing answer. "
|
36 |
-
"Use only the Ukrainian language to answer."
|
37 |
-
"For example:\n"
|
38 |
"Source 1:\n"
|
39 |
-
"
|
40 |
"Source 2:\n"
|
41 |
-
"
|
42 |
-
"
|
43 |
-
"
|
44 |
-
"
|
45 |
-
"
|
46 |
-
"
|
47 |
-
"
|
48 |
-
"
|
49 |
-
"\
|
50 |
"\n------\n"
|
51 |
"{context_msg}"
|
52 |
"\n------\n"
|
53 |
-
"
|
54 |
-
"
|
55 |
-
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
from llama_index.core.prompts import PromptTemplate
|
2 |
|
3 |
CITATION_QA_TEMPLATE = PromptTemplate(
|
4 |
+
"Будь ласка, надайте відповідь, базуючись виключно на наданих правових позиціях Верховного Суду. "
|
5 |
+
"При посиланні на інформацію з джерела цитуйте відповідне джерело в кінці тексту, використовуючи його номер у квадратних дужках: [lp_id]. "
|
6 |
+
"Кожна відповідь повинна містити щонайменше одне посилання на джерело. "
|
7 |
+
"Цитуйте джерело лише тоді, коли ви явно на нього посилаєтеся. "
|
8 |
+
"Якщо жодне з джерел не є корисним, зазначте це. "
|
9 |
+
"Приклад:\n"
|
|
|
|
|
|
|
10 |
"Source 1:\n"
|
11 |
+
"Суд постановив, що договірні зобов’язання мають виконуватись, навіть якщо умови є нечіткими.\n"
|
12 |
"Source 2:\n"
|
13 |
+
"У випадку непередбачених обставин, договори можуть бути анульовані за певних умов.\n"
|
14 |
+
"Запит: Чи може договір бути анульований через непередбачені обставини?\n"
|
15 |
+
"Відповідь: Договір може бути анульований за певних умов у разі настання непередбачених обставин [2].\n"
|
16 |
+
"Тепер ваша черга. Нижче наведено кілька пронумерованих правових позицій:"
|
17 |
"\n------\n"
|
18 |
"{context_str}"
|
19 |
"\n------\n"
|
20 |
+
"Запит: {query_str}\n"
|
21 |
+
"Відповідь: "
|
|
|
22 |
)
|
23 |
|
24 |
+
|
25 |
+
|
26 |
CITATION_REFINE_TEMPLATE = PromptTemplate(
|
27 |
+
"Будь ласка, надайте відповідь, базуючись виключно на наданих правових позиціях Верховного Суду. "
|
28 |
+
"При посиланні на інформацію з джерела, цитуйте відповідне джерело, використовуючи його номер у квадратних дужках: [lp_id]. "
|
29 |
+
"Кожна відповідь повинна містити щонайменше одне посилання на джерело. "
|
30 |
+
"Цитуйте джерело лише тоді, коли ви явно на нього посилаєтеся. "
|
31 |
+
"Якщо жодне з джерел не є корисним, зазначте це. "
|
32 |
+
"Приклад:\n"
|
|
|
|
|
|
|
33 |
"Source 1:\n"
|
34 |
+
"Суд постановив, що договірні зобов’язання мають виконуватись, навіть якщо умови є нечіткими.\n"
|
35 |
"Source 2:\n"
|
36 |
+
"У випадку непередбачених обставин, договори можуть бути анульовані за певних умов.\n"
|
37 |
+
"Запит: Чи може договір бути анульований через непередбачені обставини?\n"
|
38 |
+
"Існуюча відповідь: Договір може бути анульований за певних умов у разі настання непередбачених обставин [2].\n"
|
39 |
+
"Тепер ваша черга. "
|
40 |
+
"Ми надали існуючу відповідь: {existing_answer}"
|
41 |
+
"Нижче наведено кілька пронумерованих правових позицій. "
|
42 |
+
"Використовуйте їх для уточнення існуючої відповіді. "
|
43 |
+
"Якщо надані правові джерела не є корисними, повторіть існуючу відповідь."
|
44 |
+
"\nПочинайте уточнення!"
|
45 |
"\n------\n"
|
46 |
"{context_msg}"
|
47 |
"\n------\n"
|
48 |
+
"Запит: {query_str}\n"
|
49 |
+
"Відповідь: "
|
50 |
+
)
|
51 |
+
|
52 |
+
|
53 |
+
|
54 |
+
# CITATION_QA_TEMPLATE = PromptTemplate(
|
55 |
+
# "You are a qualified lawyer. "
|
56 |
+
# "Please provide a legal analysis based solely on the provided legal precedents and positions. "
|
57 |
+
# "When referencing a legal precedent or position, "
|
58 |
+
# "cite the appropriate source(s) using their corresponding numbers. "
|
59 |
+
# "Every answer should include at least one legal source citation relevant to the query. "
|
60 |
+
# "Only cite a source when you are explicitly referencing it. "
|
61 |
+
# "If none of the legal precedents or positions are helpful, you should indicate that. "
|
62 |
+
# "Use only the Ukrainian language to answer. "
|
63 |
+
# "For example:\n"
|
64 |
+
# "Source 1:\n"
|
65 |
+
# "The court ruled that contractual obligations must be fulfilled even if the terms are vague.\n"
|
66 |
+
# "Source 2:\n"
|
67 |
+
# "In case of unforeseen circumstances, contracts may be voided under certain conditions.\n"
|
68 |
+
# "Query: Can a contract be voided due to unforeseen circumstances?\n"
|
69 |
+
# "Answer: A contract may be voided under certain conditions if unforeseen circumstances arise [2]. "
|
70 |
+
# "Now it's your turn. Below are several numbered legal sources and precedents (legal positions):"
|
71 |
+
# "\n------\n"
|
72 |
+
# "{context_str}"
|
73 |
+
# "\n------\n"
|
74 |
+
# "New legal issue: {query_str}\n"
|
75 |
+
# "User question: {question}\n"
|
76 |
+
# "Answer: "
|
77 |
+
# )
|
78 |
+
|
79 |
+
|
80 |
+
# CITATION_REFINE_TEMPLATE = PromptTemplate(
|
81 |
+
# "You are a qualified lawyer. "
|
82 |
+
# "Please refine the legal analysis based solely on the provided legal precedents and positions. "
|
83 |
+
# "When referencing a legal precedent or position, "
|
84 |
+
# "cite the appropriate source(s) using their corresponding numbers. "
|
85 |
+
# "Every refined answer should include at least one relevant legal source citation. "
|
86 |
+
# "Only cite a source when you are explicitly referencing it. "
|
87 |
+
# "If none of the legal precedents or positions are helpful, you should repeat the existing answer. "
|
88 |
+
# "Use only the Ukrainian language to answer."
|
89 |
+
# "For example:\n"
|
90 |
+
# "Source 1:\n"
|
91 |
+
# "The court ruled that contractual obligations must be fulfilled even if the terms are vague.\n"
|
92 |
+
# "Source 2:\n"
|
93 |
+
# "In case of unforeseen circumstances, contracts may be voided under certain conditions.\n"
|
94 |
+
# "Query: Can a contract be voided due to unforeseen circumstances?\n"
|
95 |
+
# "Existing answer: A contract may be voided under certain conditions if unforeseen circumstances arise [2].\n"
|
96 |
+
# "Now it's your turn. "
|
97 |
+
# "We have provided an existing legal analysis: {existing_answer}"
|
98 |
+
# "Below are several numbered legal sources and precedents. "
|
99 |
+
# "Use them to refine the existing legal answer. "
|
100 |
+
# "If the provided legal sources are not helpful, you will repeat the existing answer."
|
101 |
+
# "\nBegin refining!"
|
102 |
+
# "\n------\n"
|
103 |
+
# "{context_msg}"
|
104 |
+
# "\n------\n"
|
105 |
+
# "New legal issue: {query_str}\n"
|
106 |
+
# "User question: {question}\n"
|
107 |
+
# "Answer: "
|
108 |
+
# )
|