Spaces:
Running
Running
Edit prompts
Browse files- src/analyzer.py +10 -8
- src/prompts.py +2 -2
src/analyzer.py
CHANGED
@@ -30,23 +30,25 @@ class NPAAnalyzer:
|
|
30 |
except Exception as e:
|
31 |
raise Exception(f"Помилка при читанні файлу методології: {str(e)}")
|
32 |
|
33 |
-
def analyze_npa(self, npa_text):
|
34 |
if not npa_text:
|
35 |
-
return "Будь ласка, введіть текст НПА для
|
36 |
|
37 |
try:
|
38 |
-
|
39 |
model="claude-3-5-sonnet-latest",
|
40 |
max_tokens=4000,
|
41 |
-
temperature=0,
|
42 |
messages=[
|
|
|
|
|
|
|
|
|
43 |
{
|
44 |
"role": "user",
|
45 |
"content": get_analysis_prompt(self.methodology, npa_text)
|
46 |
}
|
47 |
-
]
|
48 |
-
system=SYSTEM_PROMPT
|
49 |
)
|
50 |
-
return
|
51 |
except Exception as e:
|
52 |
-
return f"Помилка при аналізі: {str(e)}"
|
|
|
30 |
except Exception as e:
|
31 |
raise Exception(f"Помилка при читанні файлу методології: {str(e)}")
|
32 |
|
33 |
+
def analyze_npa(self, npa_text: str) -> str:
|
34 |
if not npa_text:
|
35 |
+
return "Будь ласка, введіть текст НПА для аналізу."
|
36 |
|
37 |
try:
|
38 |
+
response = self.anthropic.messages.create(
|
39 |
model="claude-3-5-sonnet-latest",
|
40 |
max_tokens=4000,
|
|
|
41 |
messages=[
|
42 |
+
{
|
43 |
+
"role": "assistant",
|
44 |
+
"content": "Ти - експерт з антикорупційної експертизи нормативно-правових актів."
|
45 |
+
},
|
46 |
{
|
47 |
"role": "user",
|
48 |
"content": get_analysis_prompt(self.methodology, npa_text)
|
49 |
}
|
50 |
+
]
|
|
|
51 |
)
|
52 |
+
return response.content[0].text # Витягуємо перший елемент тексту
|
53 |
except Exception as e:
|
54 |
+
return f"Помилка при аналізі: {str(e)}"
|
src/prompts.py
CHANGED
@@ -5,7 +5,7 @@ SYSTEM_PROMPT = """Ти - досвідчений експерт з антико
|
|
5 |
|
6 |
|
7 |
def get_analysis_prompt(methodology: str, npa_text: str) -> str:
|
8 |
-
return f"""
|
9 |
|
10 |
## Базова методологія:
|
11 |
|
@@ -152,4 +152,4 @@ def get_analysis_prompt(methodology: str, npa_text: str) -> str:
|
|
152 |
2. Використовувати всі надані чек-листи
|
153 |
3. Дотримуватися термінології, визначеної в методологічних документах
|
154 |
4. Забезпечувати повноту перевірки всіх аспектів, передбачених методологією
|
155 |
-
5. При формулюванні висновків спиратися на структуру та формулювання з методології"""
|
|
|
5 |
|
6 |
|
7 |
def get_analysis_prompt(methodology: str, npa_text: str) -> str:
|
8 |
+
return f"""Твоє завдання - аналізувати проєкти НПА на предмет наявності корупціогенних факторів відповідно до офіційної методології.
|
9 |
|
10 |
## Базова методологія:
|
11 |
|
|
|
152 |
2. Використовувати всі надані чек-листи
|
153 |
3. Дотримуватися термінології, визначеної в методологічних документах
|
154 |
4. Забезпечувати повноту перевірки всіх аспектів, передбачених методологією
|
155 |
+
5. При формулюванні висновків спиратися на структуру та формулювання з методології"""
|