{"id":25098212,"url":"https://github.com/antosser/ki-diskussion","last_synced_at":"2026-05-05T05:31:42.100Z","repository":{"id":267701075,"uuid":"902074301","full_name":"Antosser/ki-diskussion","owner":"Antosser","description":"Dieses Projekt ermöglicht die Erstellung einer konversativen Debatte (Pro vs. Contra) zu einem bestimmten Thema mithilfe von OpenAI's GPT-4, die anschließend in Sprache umgewandelt und als Audiodatei gespeichert wird.","archived":false,"fork":false,"pushed_at":"2025-02-04T19:08:36.000Z","size":41,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T04:10:07.515Z","etag":null,"topics":["ai","context","debatte","google-cloud","gpt4","ki","machine-learning","natural-language-processing","openai","pro-contra","python","speech-synthesis","tavily","text-to-speech","tts"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Antosser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-11T21:21:38.000Z","updated_at":"2025-02-04T19:10:00.000Z","dependencies_parsed_at":"2024-12-11T23:33:35.548Z","dependency_job_id":null,"html_url":"https://github.com/Antosser/ki-diskussion","commit_stats":null,"previous_names":["antosser/ki-diskussion"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Antosser/ki-diskussion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Antosser%2Fki-diskussion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Antosser%2Fki-diskussion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Antosser%2Fki-diskussion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Antosser%2Fki-diskussion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Antosser","download_url":"https://codeload.github.com/Antosser/ki-diskussion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Antosser%2Fki-diskussion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32636947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","context","debatte","google-cloud","gpt4","ki","machine-learning","natural-language-processing","openai","pro-contra","python","speech-synthesis","tavily","text-to-speech","tts"],"created_at":"2025-02-07T18:30:41.286Z","updated_at":"2026-05-05T05:31:42.072Z","avatar_url":"https://github.com/Antosser.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KI-Diskussion-Generator\n\nDieses Projekt ermöglicht es, ein Gespräch zwischen zwei Positionen (Pro und Contra) zu einem gegebenen Thema mit der GPT-4 API von OpenAI zu generieren und dieses Gespräch anschließend mit der Google Cloud Text-to-Speech API in Sprache umzuwandeln. Mithilfe von TAVILY kann die KI mehr Kontext zu den angenebenem Thema im Internet finden. Das Projekt besteht aus zwei Hauptskripten: `text.py` und `voice.py`, sowie einer `.env`-Datei, die API-Schlüssel sicher speichert.\n\n## Dateien\n\n- `text.py`: Dieses Skript erzeugt ein Gespräch zwischen zwei Positionen (Pro und Contra) mithilfe der GPT-4 API von OpenAI. Das Gespräch wird als Textdatei im Verzeichnis `generated_text` gespeichert.\n- `voice.py`: Dieses Skript liest das erzeugte Gespräch, wandelt es mit der Google Cloud Text-to-Speech API in Sprache um und kombiniert die Audiodateien mit einer 2-Sekunden-Pause zwischen jedem Segment.\n- `.env`: Diese Datei speichert sensible Umgebungsvariablen wie den OpenAI API-Schlüssel und Google Cloud Service Account-Anmeldeinformationen.\n\n## Anforderungen\n\n- Python 3.x\n- Python-Pakete: `openai`, `gtts`, `google-cloud-texttospeech`, `pydub`, `dotenv`\n- Google Cloud Text-to-Speech API-Anmeldeinformationen (Service Account-Datei)\n- OpenAI API-Key\n\n### Installiere die benötigten Pakete\n\nInstalliere die benötigten Abhängigkeiten, indem du den folgenden Befehl ausführst:\n\n```bash\npip install -r requirements.txt\n```\n\n### Setup der `.env`-Datei\n\nErstelle eine `.env`-Datei im Projektstammverzeichnis mit folgendem Inhalt:\n\n```\nOPENAI_API_KEY=dein_openai_api_schluessel_hier // Mit Balance\nGOOGLE_APPLICATION_CREDENTIALS=pfad_zu_deiner_google_service_account_json // Mit Cloud Text-To-Speech API aktiviert \nTAVILY_API_KEY=tvly_api_key_hier // tavily.com\n```\n\nStelle sicher, dass du die Platzhalter mit deinem tatsächlichen OpenAI API-Schlüssel und dem Pfad zu deiner Google Cloud Service Account JSON-Datei ersetzt.\n\n## Verwendung\n\n### 1. Generiere das Gespräch (`text.py`)\n\nFühre das Skript `text.py` aus, um ein Gespräch zwischen zwei Positionen zu einem bestimmten Thema zu generieren.\n\n```bash\npython text.py\n```\n\n#### Eingaben\n\n- `Thema`: Gib das Thema des Gesprächs ein (z. B. \"Künstliche Intelligenz\").\n- `Iterationen`: Gib die Anzahl der Iterationen ein, um das Gespräch zu generieren. Das Gespräch wechselt abwechselnd zwischen den Positionen \"Pro\" und \"Contra\".\n\nDas Gespräch wird als `.txt`-Datei im Verzeichnis `generated_text` gespeichert.\n\n### 2. Konvertiere das Gespräch in Sprache (`voice.py`)\n\nNachdem das Gespräch generiert und gespeichert wurde, kannst du es mit `voice.py` in Sprache umwandeln.\n\n```bash\npython voice.py \u003cpfad_zur_generierten_textdatei\u003e\n```\n\nDie generierte Sprache wird als einzelne MP3-Dateien für jeden Dialog im Verzeichnis `generated_audio` gespeichert, gefolgt von einer kombinierten Audiodatei (`combined_output.mp3`), bei der zwischen den Segmenten eine 2-Sekunden-Pause eingefügt wird.\n\n### Beispielablauf\n\n1. Führe `text.py` aus und gib die erforderlichen Eingaben für das Thema und die Iterationen ein.\n2. Überprüfe das Verzeichnis `generated_text` auf die ausgegebene `.txt`-Datei mit dem Gespräch.\n3. Führe `voice.py` mit dem Pfad zur Gesprächs-Textdatei aus, um die entsprechende Sprachdatei zu generieren.\n4. Überprüfe das Verzeichnis `generated_audio` auf die einzelnen und kombinierten Audiodateien.\n\n## Fehlerbehandlung\n\nBeide Skripte beinhalten eine Fehlerbehandlung für häufige Probleme wie fehlende API-Schlüssel, nicht gefundene Dateien oder Berechtigungsprobleme. Achte darauf, etwaige Fehlermeldungen, die im Terminal ausgegeben werden, zur Fehlerbehebung zu überprüfen.\n\n## Lizenz\n\nDieses Projekt ist unter der GPLv3-Lizenz lizenziert. Siehe die [LICENSE](LICENSE)-Datei für Details.\n\n---\n\nDu kannst dieses Projekt nach Belieben anpassen und erweitern. Wenn du auf Probleme stößt oder Fragen hast, eröffne ein Issue auf GitHub!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantosser%2Fki-diskussion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantosser%2Fki-diskussion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantosser%2Fki-diskussion/lists"}