mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-28 23:07:11 +00:00
@@ -1,5 +1,12 @@
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import Optional
|
||||
from typing import Callable, Optional
|
||||
|
||||
from langchain_experimental.data_anonymizer.deanonymizer_mapping import MappingDataType
|
||||
from langchain_experimental.data_anonymizer.deanonymizer_matching_strategies import (
|
||||
exact_matching_strategy,
|
||||
)
|
||||
|
||||
DEFAULT_DEANONYMIZER_MATCHING_STRATEGY = exact_matching_strategy
|
||||
|
||||
|
||||
class AnonymizerBase(ABC):
|
||||
@@ -23,10 +30,20 @@ class ReversibleAnonymizerBase(AnonymizerBase):
|
||||
Base abstract class for reversible anonymizers.
|
||||
"""
|
||||
|
||||
def deanonymize(self, text: str) -> str:
|
||||
def deanonymize(
|
||||
self,
|
||||
text_to_deanonymize: str,
|
||||
deanonymizer_matching_strategy: Callable[
|
||||
[str, MappingDataType], str
|
||||
] = DEFAULT_DEANONYMIZER_MATCHING_STRATEGY,
|
||||
) -> str:
|
||||
"""Deanonymize text"""
|
||||
return self._deanonymize(text)
|
||||
return self._deanonymize(text_to_deanonymize, deanonymizer_matching_strategy)
|
||||
|
||||
@abstractmethod
|
||||
def _deanonymize(self, text: str) -> str:
|
||||
def _deanonymize(
|
||||
self,
|
||||
text_to_deanonymize: str,
|
||||
deanonymizer_matching_strategy: Callable[[str, MappingDataType], str],
|
||||
) -> str:
|
||||
"""Abstract method to deanonymize text"""
|
||||
|
Reference in New Issue
Block a user