-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsynthetic_data.py
More file actions
56 lines (47 loc) · 2.67 KB
/
synthetic_data.py
File metadata and controls
56 lines (47 loc) · 2.67 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
import openai
import os
# Using os library to access the OpenAI API key from the environment variables
# If you want to use the OpenAI API key, you need to set it as an environment variable
# in your operating system. The key should be named OPENAI_API_KEY.
openai_api_key = os.getenv("OPENAI_API_KEY")
def find_inclusive_form(text: str) -> str:
"""
Function to create gender-inclusive sentences from gender-sensitive sentences.
:param text: The gendered sentence to enhance.
:return: The long form sentence.
"""
client = openai.OpenAI(
api_key=openai_api_key,
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{
"role": "system",
"content": (
"Du bist ein Assistent, der dabei hilft, gendergerechte Sätze in ausführlichere, inklusive Formulierungen zu "
"übersetzen. Die Umwandlung soll explizit alle Geschlechteridentitäten ansprechen und den Satz in einer länger "
"gefassten Form präsentieren. Hier sind einige Beispiele, wie du den Satz umformulieren könntest: "
)
},
{
"role": "user",
"content": (
"Beispiel 1: 'Die Student:innen sind sehr fleißig' -> 'Die Studenten, Studentinnen und Personen anderer "
"geschlechtlicher Identität, die an einer Hochschule studieren, sind sehr fleißig'."
"Beispiel 2: 'Influencer*innen haben ganz viele Abonnent*innen' -> 'Influencerinnen, Influencer und Personen mit anderen geschlechtlichen Identitäten, "
"die in den sozialen Medien aktiv sind, haben eine große Anzahl an Abonnentinnen, Abonnenten und weiteren Personen, die ihre Inhalte verfolgen, unabhängig "
"davon, wie diese sich in Bezug auf Geschlecht oder Geschlechtsidentität definieren.'"
"Beispiel 3: 'Das Missymagazin sucht einen Abonnierenden' -> 'Das Missymagazin sucht eine Person, die das Magazin abonniert, unabhängig von deren Geschlechtsidentität, "
"sei es eine Frau, ein Mann oder eine Person mit einer anderen geschlechtlichen Identität.'"
f"Bitte wandle folgenden gendergerechten Satz in eine detaillierte, inklusive Form um: {text}"
)
}
]
)
return response.choices[0].message.content
if __name__ == "__main__":
example_sentence = "Die Student:innen sind sehr fleißig."
print("Original: ", example_sentence)
enhanced_data = find_inclusive_form(example_sentence)
print("Gender-inclusive form: ", enhanced_data)