DocUA commited on
Commit
b319aad
·
1 Parent(s): 8f599cd

Delete Tokens

Browse files
.gitignore ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Ігноруємо конфігураційні файли PyCharm
2
+ .idea/
3
+
4
+ # Ігноруємо віртуальне середовище
5
+ .venv/
6
+
7
+ # Ігноруємо кеші Python
8
+ __pycache__/
9
+ *.pyc
10
+
11
+ # Ігноруємо конфіденційні файли
12
+ .env
13
+
14
+ # Ігноруємо папку Save_index
15
+ Save_index/
16
+ /lp/
Save_Index_Local/bm25_retriever_es/corpus.jsonl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:39abe7eb56e71b1e1d7da9f0328d2b5a1746296ce859f73998ef266acd064fe4
3
- size 84059232
 
 
 
 
config.py ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from dotenv import load_dotenv
3
+
4
+ # Завантажуємо налаштування з .env файлу
5
+ load_dotenv()
6
+
7
+ OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
8
+
9
+ if not OPENAI_API_KEY:
10
+ raise ValueError("API ключ OpenAI не знайдено. Додайте його в .env файл.")
prompts.py ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ # )
requirements.txt ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ llama-index
2
+ llama-index-readers-file
3
+ llama-index-vector-stores-faiss
4
+ llama-index-retrievers-bm25
5
+ openai
6
+ faiss-cpu
7
+ llama-index-embeddings-openai
8
+ llama-index-llms-openai
9
+ gradio
10
+ beautifulsoup4
11
+ nest-asyncio
12
+ boto3
13
+ python-dotenv