DocUA commited on
Commit
9738d7d
·
1 Parent(s): 5f8ecf7

Оновлено README.md для версії 3.0: змінено заголовок, додано новий опис системи, ключові особливості, технічні вимоги, інструкції з налаштування API ключів та запуску системи. Включено деталі про процес аналізу та вибір провайдера.

Browse files
Files changed (1) hide show
  1. README.md +154 -15
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- title: "NPA_AI_Analysis_Assistant v.2"
3
  emoji: "🛡️"
4
  colorFrom: "blue"
5
  colorTo: "green"
@@ -8,21 +8,160 @@ sdk_version: "5.8.0"
8
  app_file: app.py
9
  pinned: false
10
  ---
11
- # NPA Analysis Assistant
12
 
13
- Асистент для аналізу нормативно-правових актів з використанням AI.
14
 
15
- ## Особливості
16
- - Аналіз текстів НПА
17
- - Режим розширеного мислення
18
- - Налаштування параметрів аналізу
19
 
20
- ## Використання
21
- 1. Введіть текст НПА
22
- 2. Налаштуйте параметри аналізу
23
- 3. Отримайте результат
24
 
25
- ## Технології
26
- - Python
27
- - Gradio
28
- - Anthropic Claude
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: "NPA_AI_Analysis_Assistant v.3.0"
3
  emoji: "🛡️"
4
  colorFrom: "blue"
5
  colorTo: "green"
 
8
  app_file: app.py
9
  pinned: false
10
  ---
 
11
 
12
+ # NPA Analysis Assistant v.3.0
13
 
14
+ ## Призначення
 
 
 
15
 
16
+ Система аналізу нормативно-правових актів (НПА) - це професійний інструмент, призначений для автоматизації процесу антикорупційної експертизи проектів нормативно-правових актів. Використовуючи потужні моделі штучного інтелекту, система допомагає виявляти потенційні корупціогенні фактори відповідно до офіційної методології НАЗК.
 
 
 
17
 
18
+ ## Ключові особливості
19
+
20
+ - **Мультипровайдерна підтримка**: використання моделей від OpenRouter і Anthropic
21
+ - **Розширений вибір моделей**: підтримка різних моделей великої мовної моделі (LLM)
22
+ - **Режим роздумів**: покрокове мислення для моделей Anthropic Claude
23
+ - **Адаптивний інтерфейс**: автоматична зміна доступних опцій залежно від обраного провайдера
24
+ - **Україномовний аналіз**: повна підтримка української мови на всіх етапах
25
+ - **Професійний експертний висновок**: структурований текст з рекомендаціями
26
+
27
+ ## Технічні вимоги
28
+
29
+ ### Залежності
30
+ - Python 3.8+
31
+ - Anthropic SDK (v0.47.1+)
32
+ - OpenAI SDK (v1.0.0+)
33
+ - Gradio (v4.44.1+)
34
+ - python-dotenv (v1.0.0+)
35
+ - requests
36
+
37
+ ### Встановлення
38
+
39
+ ```bash
40
+ # Клонування репозиторію
41
+ git clone https://github.com/your-organization/NPA_Analysis_Assistant.git
42
+ cd NPA_Analysis_Assistant
43
+
44
+ # Створення віртуального середовища
45
+ python -m venv npa_env
46
+ source npa_env/bin/activate # На Windows: npa_env\Scripts\activate
47
+
48
+ # Встановлення залежностей
49
+ pip install -r requirements.txt
50
+ ```
51
+
52
+ ## Налаштування API ключів
53
+
54
+ Для роботи системи необхідно мати API ключі для провайдерів, які ви плануєте використовувати:
55
+
56
+ ### OpenRouter (рекомендовано)
57
+ 1. Зареєструйтесь на [OpenRouter](https://openrouter.ai/)
58
+ 2. Отримайте API ключ у вашому профілі
59
+ 3. Експортуйте змінну середовища:
60
+ ```bash
61
+ export OPENROUTER_API_KEY=ваш-api-ключ
62
+ ```
63
+
64
+ ### Anthropic (опціонально)
65
+ 1. Зареєструйтесь на [Anthropic](https://www.anthropic.com/)
66
+ 2. Отримайте API ключ для Claude
67
+ 3. Експортуйте змінну середовища:
68
+ ```bash
69
+ export ANTHROPIC_API_KEY=ваш-api-ключ
70
+ ```
71
+
72
+ ## Запуск системи
73
+
74
+ ```bash
75
+ # Запуск локальної версії
76
+ python app.py
77
+
78
+ # Запуск з публічним доступом через Gradio
79
+ python main.py
80
+ ```
81
+
82
+ ## Інструкція з використання
83
+
84
+ ### 1. Основний інтерфейс
85
+
86
+ - **Поле введення тексту НПА**: Вставте текст нормативно-правового акту для аналізу.
87
+ - **Вибір провайдера**: Оберіть провайдера LLM (OpenRouter або Anthropic).
88
+ - **Вибір моделі**: Оберіть конкретну модель для аналізу в межах обраного провайдера.
89
+ - **Режим роздумів**: Увімкніть для більш глибокого аналізу (доступно тільки для моделей Anthropic).
90
+ - **Бюджет токенів для роздумів**: Налаштуйте обсяг роздумів (від 1024 до 8000 токенів).
91
+
92
+ ### 2. Процес аналізу
93
+
94
+ 1. **Підготовка**: Вставте повний текст проекту НПА в текстове поле.
95
+ 2. **Налаштування**: Оберіть ��ровайдера та модель для аналізу.
96
+ 3. **Додаткові параметри**: За бажанням увімкніть режим роздумів (якщо підтримується).
97
+ 4. **Запуск**: Натисніть кнопку "Аналіз".
98
+ 5. **Результат**: Перегляньте висновок на вкладці "Висновок".
99
+ 6. **Роздуми моделі**: Якщо було увімкнено режим роздумів, перегляньте процес міркування на вкладці "Роздуми моделі".
100
+
101
+ ### 3. Вибір провайдера та моделі
102
+
103
+ #### OpenRouter (за замовчуванням)
104
+ - **openrouter/quasar-alpha**: Потужна модель з широким контекстним вікном.
105
+ - Інші моделі: google/gemini-2.0-flash-thinking-exp:free, deepseek/deepseek-r1-zero:free, тощо.
106
+
107
+ #### Anthropic
108
+ - **claude-3-7-sonnet-latest**: Рекомендована потужна модель для детального аналізу і можливим режимом роздумів.
109
+ - **claude-3-5-haiku-latest**: Більш проста, швидша та дешевша модель.
110
+
111
+ ### 4. Режим роздумів
112
+
113
+ Режим роздумів дозволяє моделі проводити покрокове міркування перед наданням висновку. Цей режим:
114
+ - Доступний тільки для провайдера Anthropic
115
+ - Значно покращує якість аналізу
116
+ - Займає більше часу та ресурсів
117
+ - Автоматично відображає хід роздумів на відповідній вкладці
118
+
119
+ ### 5. Інтерпретація результатів
120
+
121
+ Результат аналізу включає:
122
+ - **Загальну характеристику** документа
123
+ - **Виявлені корупціогенні фактори**
124
+ - **Рекомендації** щодо усунення виявлених факторів
125
+ - **Посилання** на відповідні пункти методології
126
+
127
+ ## Усунення проблем
128
+
129
+ | Проблема | Можливе рішення |
130
+ |----------|------------------|
131
+ | Помилка "API ключ не знайдено" | Перевірте, чи правильно експортовано змінні середовища |
132
+ | Таймаут при аналізі | Зменшіть розмір тексту або бюджет токенів для роздумів |
133
+ | Пуста або неповна відповідь | Спробуйте іншу модель або провайдера |
134
+ | Помилка "NoneType object" | Перевірте підключення до інтернету та правильність API ключа |
135
+ | Низька якість аналізу | Увімкніть режим роздумів та збільште бюджет токенів |
136
+
137
+ ## Обмеження
138
+
139
+ - Аналіз дуже великих документів може бути обмежений контекстним вікном моделі
140
+ - Безкоштовні моделі можуть мати нижчу якість аналізу
141
+ - Режим роздумів доступний лише для моделей Anthropic
142
+
143
+
144
+ ## Підтримка та контакти
145
+
146
+ За питаннями та пропозиціями звертайтеся: [email protected]
147
+
148
+ ---
149
+
150
+ ## Технічна інформація для розробників
151
+
152
+ ### Архітектура системи
153
+
154
+ Система побудована на модульній архітектурі:
155
+ - **app.py** / **main.py**: Точки входу для запуску системи
156
+ - **src/analyzer.py**: Основний модуль для аналізу НПА
157
+ - **src/llm_providers.py**: Абстракція різних LLM провайдерів
158
+ - **src/interface.py**: Gradio інтерфейс користувача
159
+ - **src/prompts.py**: Шаблони промптів для аналізу
160
+
161
+ ### Розширення підтримуваних провайдерів
162
+
163
+ Для додавання нового провайдера потрібно:
164
+ 1. Створити новий клас, що наслідує `LLMProvider` в `llm_providers.py`
165
+ 2. Реалізувати всі абстрактні методи
166
+ 3. Додати новий провайдер у функцію `get_provider()`
167
+ 4. Оновити `get_available_providers()`