Files
chatballs/apps/backend
Andrey 29b58e6a8f ✨ feat(ai): псевдонимизация в ходе агента и в запросе эмбеддингов
Всё, что уходит провайдеру, проходит слой псевдонимизации вместо
безвозвратного redact: prepare_chat маскирует сообщения картой хода,
prepare_embedding — вопрос клиента для вектора (plan_query_embedding и
KnowledgeRetriever). Известные значения хода — имя, e-mail и телефон
контакта диалога (SPEC-0022 R-1, R-2).

Карта одна на вектор вопроса и на запрос к модели, едет через Turn и
TurnPlan в памяти. record_turn возвращает ответ с подставленными
значениями: он сохраняется в диалог и отправляется клиенту. Неизвестные
и искажённые токены удаляются, в журнал пишется только их число (R-5).
В LlmInvocation, логи и события карта не попадает (R-6).

invoke_chat (предпросмотр и ход одним шагом) работает по тем же правилам.
Функция redact удалена, шаблоны pii.py остались. Реестр предохранителей
провайдеров вынесен из invocation.py в provider/breakers.py.
2026-10-04 12:09:24 +03:00
..
2026-06-17 18:14:16 +03:00