Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/antosser/ki-diskussion

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.
https://github.com/antosser/ki-diskussion

ai context debatte google-cloud gpt4 ki machine-learning natural-language-processing openai pro-contra python speech-synthesis tavily text-to-speech tts

Last synced: about 23 hours ago
JSON representation

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.

Awesome Lists containing this project

README

        

# KI-Diskussion-Generator

Dieses 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.

## Dateien

- `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.
- `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.
- `.env`: Diese Datei speichert sensible Umgebungsvariablen wie den OpenAI API-Schlüssel und Google Cloud Service Account-Anmeldeinformationen.

## Anforderungen

- Python 3.x
- Python-Pakete: `openai`, `gtts`, `google-cloud-texttospeech`, `pydub`, `dotenv`
- Google Cloud Text-to-Speech API-Anmeldeinformationen (Service Account-Datei)
- OpenAI API-Key

### Installiere die benötigten Pakete

Installiere die benötigten Abhängigkeiten, indem du den folgenden Befehl ausführst:

```bash
pip install -r requirements.txt
```

### Setup der `.env`-Datei

Erstelle eine `.env`-Datei im Projektstammverzeichnis mit folgendem Inhalt:

```
OPENAI_API_KEY=dein_openai_api_schluessel_hier // Mit Balance
GOOGLE_APPLICATION_CREDENTIALS=pfad_zu_deiner_google_service_account_json // Mit Cloud Text-To-Speech API aktiviert
TAVILY_API_KEY=tvly_api_key_hier // tavily.com
```

Stelle 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.

## Verwendung

### 1. Generiere das Gespräch (`text.py`)

Führe das Skript `text.py` aus, um ein Gespräch zwischen zwei Positionen zu einem bestimmten Thema zu generieren.

```bash
python text.py
```

#### Eingaben

- `Thema`: Gib das Thema des Gesprächs ein (z. B. "Künstliche Intelligenz").
- `Iterationen`: Gib die Anzahl der Iterationen ein, um das Gespräch zu generieren. Das Gespräch wechselt abwechselnd zwischen den Positionen "Pro" und "Contra".

Das Gespräch wird als `.txt`-Datei im Verzeichnis `generated_text` gespeichert.

### 2. Konvertiere das Gespräch in Sprache (`voice.py`)

Nachdem das Gespräch generiert und gespeichert wurde, kannst du es mit `voice.py` in Sprache umwandeln.

```bash
python voice.py
```

Die 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.

### Beispielablauf

1. Führe `text.py` aus und gib die erforderlichen Eingaben für das Thema und die Iterationen ein.
2. Überprüfe das Verzeichnis `generated_text` auf die ausgegebene `.txt`-Datei mit dem Gespräch.
3. Führe `voice.py` mit dem Pfad zur Gesprächs-Textdatei aus, um die entsprechende Sprachdatei zu generieren.
4. Überprüfe das Verzeichnis `generated_audio` auf die einzelnen und kombinierten Audiodateien.

## Fehlerbehandlung

Beide 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.

## Lizenz

Dieses Projekt ist unter der GPLv3-Lizenz lizenziert. Siehe die [LICENSE](LICENSE)-Datei für Details.

---

Du kannst dieses Projekt nach Belieben anpassen und erweitern. Wenn du auf Probleme stößt oder Fragen hast, eröffne ein Issue auf GitHub!