GreenMap's picture
add prompts
701e6eb
|
Raw
History Blame Contribute Delete
4.54 kB
---
license: apache-2.0
language:
- ru
base_model:
- Qwen/Qwen3.5-2B-Base
pipeline_tag: text-generation
tags:
- russian
- legal
- norms
- fire-safety
- information-extraction
- json
- llm
- compliance
---
# Модель для поиска ссылок на нормы в проектной документации
Модель предназначена для извлечения ссылок на нормативные документы и конкретные структурные элементы норм из русскоязычных текстов проектной и нормативной документации.
Формат промптов на которых была обучена модель хранятся в папке prompts в репозитории.
Основная задача модели — поиск ссылок вида:
- `п.7.1.8 СП 1.13130`
- `ч.1 ст.6 184-ФЗ`
- `таблица 7 СП 4.13130`
- `приложение А ГОСТ ...`
Модель ориентирована на работу с документами в области:
- пожарной безопасности;
- строительного проектирования;
- технического регулирования;
- нормативной экспертизы;
- проверки соответствия проектной документации.
---
# Что делает модель
Модель получает:
- код интересующего нормативного документа (`doc_code`);
- фрагмент текста (`text`);
и возвращает ссылки только на конкретные места внутри указанного нормативного документа.
## Пример
### Input
```json
{
"doc_code": "СП 1.13130",
"text": "...Коридоры отделены перегородками (что соответствует п.7.1.11 СП 1.13130)."
}
```
### Output
```json
[
{
"punkt": "п.7.1.11 СП 1.13130",
"full_paragraph": "Коридоры отделены перегородками (что соответствует п.7.1.11 СП 1.13130)."
}
]
```
---
# Что НЕ считается ссылкой
Простое перечисление нормативных документов без указания конкретного пункта НЕ считается ссылкой.
## Пример
```text
СП 1.13130.2020 Системы противопожарной защиты...
```
В таком случае результат должен быть пустым:
```json
[]
```
---
# Формат выходных данных
```json
[
{
"punkt": "<найденная ссылка>",
"full_paragraph": "<полный текст абзаца>"
}
]
```
---
# Пример использования
```python
from transformers import pipeline
pipe = pipeline(
"text-generation",
model="GreenMap/qwen3.5-2b-ru-norm-link-extractor",
tokenizer="GreenMap/qwen3.5-2b-ru-norm-link-extractor"
)
doc_code = "СП 1.13130"
text = """
9.3.23 Коридоры, холлы, вестибюли во всем здании отделены
перегородками с пределом огнестойкости не менее (R)EI(W) 30
(что соответствует п.7.1.11 СП 1.13130).
"""
prompt = f"""
Верни отрывок и ссылку на "{doc_code}" на основе текста. Если в тексте нет ссылок на конкретное место нормативного документа верни []. Верни в формате JSON: [{{"punkt": "<ссылка на норму>", "full_paragraph": "<релевантный фрагмент текста>"}}]
Текст: {text}
Ответ:
"""
result = pipe(
prompt,
max_new_tokens=1024,
do_sample=False
)
print(result[0]["generated_text"])
```
## Пример ожидаемого результата
```json
[
{
"punkt": "п.7.1.11 СП 1.13130",
"full_paragraph": "9.3.23 Коридоры, холлы, вестибюли во всем здании отделены перегородками с пределом огнестойкости не менее (R)EI(W) 30 (что соответствует п.7.1.11 СП 1.13130)."
}
]
```
---
# Датасет
Датасет был сформирован вручную.
---
# Язык
Русский.
---
# Лицензия
Apache 2.0