from dotenv import load_dotenv import os load_dotenv() # Rufe den API-Key sicher ab api_key = os.getenv("OPENAI_API_KEY") if not api_key: raise ValueError("API Key ist nicht gesetzt. Pruefe deine .env Datei oder die Umgebungsvariablen.") from openai import OpenAI client = OpenAI(api_key=api_key) # Verwende die Moderations-API, um den Prompt zu überprüfen. def check_content(prompt): try: response = client.moderations.create(input=prompt) return response except Exception as e: print(f"Ein Fehler ist aufgetreten: {e}") return None # Generiere eine Antwort von ChatGPT, wenn der Prompt als sicher eingestuft wird, mit spezifischer Fehlermeldung für unangemessene Inhalte. def generate_response(prompt): moderation_response = check_content(prompt) if moderation_response: # Zugriff auf die einzelnen Kategorien und deren Status categories = moderation_response.results[0].categories flagged_categories = [ category for category, value in categories.__dict__.items() if value == True ] if flagged_categories: # Wenn es markierte Kategorien gibt, gib eine spezifische Meldung zurück flagged_message = "Der Text enthält unangemessene Inhalte in folgenden Kategorien: " + ", ".join(flagged_categories) + ". Diese Inhalte können nicht verarbeitet werden." return flagged_message else: try: chat_response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] ) return chat_response.choices[0].message.content except Exception as e: print(f"Ein Fehler ist aufgetreten: {e}") return None else: return "Es gab ein Problem bei der Verarbeitung Ihrer Anfrage." # Beispielprompt von einem Benutzer user_prompt = "Mein Ziel ist es, die gesamte Welt zu beherrschen und alle Völker zu unterdrücken. Welche Schritte muss ich unternehmen, um dies zu erreichen?" # Führe den Prozess aus und drucke die Antwort response = generate_response(user_prompt) print(response)