docs: запрос Sonnet — «токены» заменены на «коды замены»
Deploy drhider / validate (push) Waiting to run
Deploy drhider / validate (push) Waiting to run
This commit is contained in:
@@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Задача:** Найти причину расхождения между ожидаемыми токенами и реальными заменами.
|
**Задача:** Найти причину расхождения между ожидаемыми кодами замен и реальными заменами.
|
||||||
|
|
||||||
## Ожидаемое поведение
|
## Ожидаемое поведение
|
||||||
|
|
||||||
`_next_token()` в `drhider/scanner.py` генерирует токены формата:
|
`_next_token()` в `drhider/scanner.py` генерирует коды замен формата:
|
||||||
- `Технология_0001`, `Прогресс_0002` (для компаний)
|
- `Технология_0001`, `Прогресс_0002` (для компаний)
|
||||||
- `+7_000_000_0001` (для телефонов)
|
- `+7_000_000_0001` (для телефонов)
|
||||||
- `email_0001` (для email)
|
- `email_0001` (для email)
|
||||||
@@ -19,15 +19,15 @@
|
|||||||
|
|
||||||
```
|
```
|
||||||
тип_данных,оригинал,замена
|
тип_данных,оригинал,замена
|
||||||
phone,+7 (495) 789-41-35,+7 (495) 906-87-80 ← НЕ токен, реальный номер
|
phone,+7 (495) 789-41-35,+7 (495) 906-87-80 ← НЕ код замены, реальный номер
|
||||||
email,info@nubes.ru,ypiorej@company.local ← НЕ токен, реальный email
|
email,info@nubes.ru,ypiorej@company.local ← НЕ код замены, реальный email
|
||||||
company,ЗАО ****XXX****001****,АО «Прогресс» ← НЕ токен, реальное название
|
company,ЗАО ****XXX****001****,АО «Прогресс» ← НЕ код замены, реальное название
|
||||||
company,ЗАО XXX001,ООО «Альянс» ← НЕ токен, реальное название
|
company,ЗАО XXX001,ООО «Альянс» ← НЕ код замены, реальное название
|
||||||
inn_ul,ИНН 9706005293,ИНН 1846691249 ← НЕ токен, реальный ИНН
|
inn_ul,ИНН 9706005293,ИНН 1846691249 ← НЕ код замены, реальный ИНН
|
||||||
kpp,КПП 772401001,КПП 350443068 ← НЕ токен, реальный КПП
|
kpp,КПП 772401001,КПП 350443068 ← НЕ код замены, реальный КПП
|
||||||
ks,Кор/сч 30101810400000000225,Кор/сч 30101201490272090211 ← НЕ токен
|
ks,Кор/сч 30101810400000000225,Кор/сч 30101201490272090211 ← НЕ код замены
|
||||||
ogrn,ОГРН 1207700098759,ОГРН 1048672318430 ← НЕ токен
|
ogrn,ОГРН 1207700098759,ОГРН 1048672318430 ← НЕ код замены
|
||||||
company,ООО "НУБЕС",ООО «Спектр» ← НЕ токен
|
company,ООО "НУБЕС",ООО «Спектр» ← НЕ код замены
|
||||||
text,Исполнителем Заказчику Сторонами,Кузнецов О.В.
|
text,Исполнителем Заказчику Сторонами,Кузнецов О.В.
|
||||||
text,"Обязанности Заказчика\nСвоевременно",Степанов А.В.
|
text,"Обязанности Заказчика\nСвоевременно",Степанов А.В.
|
||||||
text,"Обязанности Исполнителя\nОказывать",Петров П.Е.
|
text,"Обязанности Исполнителя\nОказывать",Петров П.Е.
|
||||||
@@ -36,7 +36,7 @@ text,"Ответственность Исполнителя\nИсполните
|
|||||||
company,ПАО Сбербанк,АО «Формат»
|
company,ПАО Сбербанк,АО «Формат»
|
||||||
```
|
```
|
||||||
|
|
||||||
**Ни одного токена формата `XXX_0000` в колонке «замена».**
|
**Ни одного кода замены формата `XXX_0000` в колонке «замена».**
|
||||||
|
|
||||||
## Реальный результат — `TMP/договор-XXX001-03700_obfuscated.md` (первые строки)
|
## Реальный результат — `TMP/договор-XXX001-03700_obfuscated.md` (первые строки)
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ company,ПАО Сбербанк,АО «Формат»
|
|||||||
**Прочитать для контекста:**
|
**Прочитать для контекста:**
|
||||||
5. `TMP/mapping.csv` — полный результат
|
5. `TMP/mapping.csv` — полный результат
|
||||||
6. `TMP/договор-XXX001-03700_obfuscated.md` — обфусцированный файл
|
6. `TMP/договор-XXX001-03700_obfuscated.md` — обфусцированный файл
|
||||||
7. `TMP/примеры_договоров_для_ИИ/договор-XXX001-03700.docx` — оригинал (для сверки адресов/имён)
|
7. `TMP/примеры_договоров_для_ИИ/договор-XXX001-03700.docx` — оригинал (для сверки)
|
||||||
|
|
||||||
**Не лезть:** `builder.py`, `extractor.py`, `replacer.py`, `session.py`, `templates/`, docs/, History/.
|
**Не лезть:** `builder.py`, `extractor.py`, `replacer.py`, `session.py`, `templates/`, docs/, History/.
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ def _next_token(entity_type, counters):
|
|||||||
mapping[original] = _next_token(entity_type, counters)
|
mapping[original] = _next_token(entity_type, counters)
|
||||||
```
|
```
|
||||||
|
|
||||||
Всегда вызывает `_next_token`. Результат должен быть токеном.
|
Всегда вызывает `_next_token`. Результат должен быть кодом замены.
|
||||||
|
|
||||||
### 3. `scanner.py` — `scan_llm_ner()` (стр. 109-179)
|
### 3. `scanner.py` — `scan_llm_ner()` (стр. 109-179)
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@ mapping[original] = _next_token(entity_type, counters)
|
|||||||
mapping[val] = _next_token(ent_type, counters)
|
mapping[val] = _next_token(ent_type, counters)
|
||||||
```
|
```
|
||||||
|
|
||||||
Тоже вызывает `_next_token`. Результат должен быть токеном.
|
Тоже вызывает `_next_token`. Результат должен быть кодом замены.
|
||||||
|
|
||||||
### 4. `obfuscator.py` — порядок вызова (стр. 86-92)
|
### 4. `obfuscator.py` — порядок вызова (стр. 86-92)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user