Нужна версия Python 3.11 или 3.12.
pip install -r requirements.txtФайл masker.py содержит:
mask_pii(text)- совместимую функцию, возвращающую только замаскированный текст;mask_pii_with_mapping(text)- возвращаетmasked_textи mapping для обратной подстановки;unmask_pii(masked_text, mapping)- восстанавливает исходный текст;save_mapping(...)/load_mapping(...)- сохранение и загрузка mapping в JSON.
Для повторяющихся сущностей используются уникальные плейсхолдеры, например: [EMAIL_1], [EMAIL_2], [NAME_1].
Реализован минимальный интерфейс в темной теме с белыми скругленными контурами:
- backend:
app/main.py(FastAPI); - клиент LLM:
agent/agent.py(Mistral); - frontend:
app/static/index.html,app/static/styles.css,app/static/app.js.
Фронтенд использует потоковый endpoint POST /chat/stream, поэтому ответ LLM появляется постепенно по мере генерации.
- Скопируйте
.env.exampleв.env. - Укажите
MISTRAL_API_KEY.
uvicorn app.main:app --reloadПосле запуска откройте http://127.0.0.1:8000.