-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmodels.py
More file actions
64 lines (57 loc) · 1.89 KB
/
models.py
File metadata and controls
64 lines (57 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# models.py
"""
Data Models for Privacy Shield API
-------------
Author: Senthilnathan Karuppaiah & Claude.ai
Created: 29-Dec-2024
Last Modified: 30-Dec-2024
================================
This module defines all the Pydantic models used for request/response validation
in the Privacy Shield API. These models ensure proper data structure and validation
for all API operations.
"""
from pydantic import BaseModel, Field
from typing import List, Optional
class EntityInfo(BaseModel):
"""Model for detected PII entity information"""
type: str
score: float
start: int
end: int
text: str
class TextRequest(BaseModel):
"""Request model for text processing endpoints"""
text: str
faker_seed: Optional[int] = None
default_prompt_template: Optional[str] = None
default_temperature: Optional[float] = None
class RedactionRequest(BaseModel):
"""Request model for LLM processing endpoints"""
text: str
prompt_template: Optional[str] = None
temperature: Optional[float] = None
openai_api_key: Optional[str] = None
default_prompt_template: Optional[str] = None
default_temperature: Optional[float] = None
class PrivacyResponse(BaseModel):
"""Response model for all text processing endpoints"""
processed_text: str
entities: List[EntityInfo]
message: str = "Anonymized with fake data: text processed successfully."
class RedactionRequest(BaseModel):
text: str
prompt_template: Optional[str] = None
temperature: Optional[float] = None
openai_api_key: Optional[str] = None
model: Optional[str] = "gpt-3.5-turbo"
class EnhancedPrivacyResponse(BaseModel):
original_text: str
anonymized_text: str
faked_text: str
faked_processed_text: str
processed_text: str
model_used: str
temperature_used: float
prompt_used: str
entities: List[EntityInfo]
message: str = "Enhanced text processed successfully"