Spaces:
Running
Running
petrsovadina
commited on
Commit
•
29b5df0
1
Parent(s):
9224c4e
Update openai_fake_data_generator.py
Browse files- openai_fake_data_generator.py +31 -29
openai_fake_data_generator.py
CHANGED
@@ -12,7 +12,6 @@ OpenAIParams = namedtuple(
|
|
12 |
["openai_key", "model", "api_base", "deployment_id", "api_version", "api_type"],
|
13 |
)
|
14 |
|
15 |
-
|
16 |
def call_completion_model(
|
17 |
prompt: str,
|
18 |
openai_params: OpenAIParams,
|
@@ -34,42 +33,45 @@ def call_completion_model(
|
|
34 |
else:
|
35 |
client = OpenAI(api_key=openai_params.openai_key)
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
|
|
|
|
45 |
|
46 |
def create_prompt(anonymized_text: str) -> str:
|
47 |
"""
|
48 |
-
Create the prompt with instructions to GPT-3.
|
49 |
|
50 |
-
:param anonymized_text: Text with placeholders instead of PII values, e.g. My name is <
|
51 |
"""
|
52 |
|
53 |
prompt = f"""
|
54 |
-
|
55 |
-
|
56 |
|
57 |
-
|
58 |
|
59 |
-
a.
|
60 |
-
b.
|
61 |
-
c.
|
62 |
-
d.
|
63 |
-
e.
|
64 |
-
f.
|
|
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
|
73 |
-
|
74 |
-
|
75 |
-
return prompt
|
|
|
12 |
["openai_key", "model", "api_base", "deployment_id", "api_version", "api_type"],
|
13 |
)
|
14 |
|
|
|
15 |
def call_completion_model(
|
16 |
prompt: str,
|
17 |
openai_params: OpenAIParams,
|
|
|
33 |
else:
|
34 |
client = OpenAI(api_key=openai_params.openai_key)
|
35 |
|
36 |
+
try:
|
37 |
+
response = client.completions.create(
|
38 |
+
model=openai_params.model,
|
39 |
+
prompt=prompt,
|
40 |
+
max_tokens=max_tokens,
|
41 |
+
)
|
42 |
+
return response.choices[0].text.strip()
|
43 |
+
except Exception as e:
|
44 |
+
logger.error(f"Chyba při volání OpenAI API: {str(e)}")
|
45 |
+
return "Došlo k chybě při generování syntetických dat."
|
46 |
|
47 |
def create_prompt(anonymized_text: str) -> str:
|
48 |
"""
|
49 |
+
Create the prompt with instructions to GPT-3 for generating Czech synthetic text.
|
50 |
|
51 |
+
:param anonymized_text: Text with placeholders instead of PII values, e.g. My name is <OSOBA>.
|
52 |
"""
|
53 |
|
54 |
prompt = f"""
|
55 |
+
Vaším úkolem je vytvořit syntetický text na základě de-identifikovaného textu s zástupnými symboly místo osobních údajů (PII).
|
56 |
+
Nahraďte zástupné symboly (např. <OSOBA>, {{DATUM}}, {{IP_ADRESA}}) falešnými hodnotami v českém kontextu.
|
57 |
|
58 |
+
Pokyny:
|
59 |
|
60 |
+
a. Používejte zcela náhodná čísla, každá číslice je náhodně vybrána mezi 0 a 9.
|
61 |
+
b. Používejte realistická česká jména, která představují různá pohlaví a etnické skupiny.
|
62 |
+
c. Pokud v textu nejsou žádné zástupné symboly, vraťte text beze změny.
|
63 |
+
d. Zachovejte formátování co nejblíže původnímu textu.
|
64 |
+
e. Pokud se v textu vyskytují osobní údaje, nahraďte je falešnými hodnotami.
|
65 |
+
f. Odstraňte mezery před a za vygenerovaným textem.
|
66 |
+
g. Používejte české formáty pro data, adresy, telefonní čísla atd.
|
67 |
|
68 |
+
vstup: [[TEXT ZAČÍNÁ]] Jak mohu změnit limit na své kreditní kartě {{ČÍSLO_KARTY}}?[[TEXT KONČÍ]]
|
69 |
+
výstup: Jak mohu změnit limit na své kreditní kartě 2539 3519 2345 1555?
|
70 |
+
vstup: [[TEXT ZAČÍNÁ]]<OSOBA> byl hlavním vědeckým pracovníkem v <ORGANIZACE>.[[TEXT KONČÍ]]
|
71 |
+
výstup: Ing. Jana Nováková, CSc. byla hlavním vědeckým pracovníkem v Akademii věd ČR.
|
72 |
+
vstup: [[TEXT ZAČÍNÁ]]<OSOBA> žije na adrese <ADRESA>.[[TEXT KONČÍ]]
|
73 |
+
výstup: Petr Svoboda žije na adrese Dlouhá 254/14, 110 00 Praha 1.
|
74 |
|
75 |
+
vstup: [[TEXT ZAČÍNÁ]]{anonymized_text}[[TEXT KONČÍ]]
|
76 |
+
výstup:"""
|
77 |
+
return prompt
|