Haben Sie schon einmal ein wichtiges Online-Meeting mit zugewiesenen Aufgaben und besprochenen Ideen verlassen, wissen aber nicht mehr genau, wer was gesagt hat? Es fühlt sich fast so an, als bräuchten Sie einen engagierten Notizenschreiber, der den Überblick behält und Berichte erstellt. Eine bessere Lösung besteht darin, dies mit einem Skript zu automatisieren, und genau das werden wir tun.
In diesem Tutorial zeige ich Ihnen, wie Sie eine Anwendung erstellen, die mithilfe der BotHub-API (Whisper-1 Claude 3.5 Sonnet) automatisch Besprechungen analysiert und Berichte generiert. Diese Anwendung transkribiert Audioaufzeichnungen, identifiziert wichtige Informationen – wer hat was gesagt und welche Aufgaben wurden besprochen – und erstellt einen Bericht, einschließlich einer PDF-Version.
Bevor wir beginnen, stellen wir sicher, dass wir alle notwendigen Komponenten installiert haben, einschließlich Python und den erforderlichen Bibliotheken für die Arbeit mit der API und den Audiodateien. Wir installieren Folgendes:
Installieren Sie diese Pakete mit pip:
pip install openai python-dotenv fpdf
Wir verwenden die Protokollierung auch, um die Ausführung des Programms zu verfolgen und etwaige Fehler oder wichtige Meldungen aufzuzeichnen. Wir richten die grundlegende Protokollierung auf der INFO-Ebene ein:
import logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__)
Um mit der BotHub-API zu interagieren, müssen Sie sich zunächst auf der BotHub-Plattform registrieren und einen API-Schlüssel erhalten. Dieser Schlüssel wird zur Authentifizierung der von uns gesendeten Anfragen verwendet.
Erstellen Sie zur sicheren Schlüsselspeicherung eine .env-Datei im Stammverzeichnis Ihres Projekts und fügen Sie Ihren generierten API-Schlüssel hinzu:
BOTHUB_API_KEY=your_api_key
Als nächstes verwenden Sie die Funktion „load_dotenv()“ der Bibliothek „dotenv“, um die Daten aus der .env-Datei zu laden und sie für unseren Code zugänglich zu machen:
from dotenv import load_dotenv load_dotenv()
Um mit der BotHub-API zu arbeiten, erstellen Sie eine OpenAI-Instanz und stellen Sie den api_key und die base_url für den BotHub-Dienst bereit. Der API-Schlüssel wird mit os.getenv('BOTHUB_API_KEY'):
aus der Umgebung geladen
import os from openai import OpenAI client = OpenAI( api_key=os.getenv('BOTHUB_API_KEY'), base_url='https://bothub.chat/api/v2/openai/v1' )
In diesem Schritt wird eine Funktion erstellt, die eine Audiodatei in Text umwandelt. Wir nutzen die BotHub-API und Whisper-1 für die Spracherkennung. Die Audiodatei wird im binären Lesemodus (rb) geöffnet, und dann verwenden wir die Methode client.audio.transcriptions.create, um die Audiodatei zur Verarbeitung an den Server zu senden. Die Antwort enthält die Texttranskription. Wenn die Transkription erfolgreich ist, wird die Meldung „Transkription abgeschlossen“ protokolliert und der Text wird zur weiteren Verarbeitung zurückgegeben. Im Fehlerfall wird die Fehlermeldung protokolliert.
pip install openai python-dotenv fpdf
Nach der Transkription haben wir den Text unseres Treffens. Unser Ziel ist es nun, wichtige Erkenntnisse zu gewinnen, wie z. B. besprochene Aufgaben, getroffene Entscheidungen und identifizierte Probleme. Mithilfe von client.chat.completions.create erstellen wir eine Anfrage, um diese Schlüsselpunkte zu extrahieren. Dabei geben wir das Modell, den Besprechungstext und die Anfrage in einem Nachrichtenformat an, in dem wir das Modell anweisen, die Hauptaufgaben und Probleme zu identifizieren. Die Funktion gibt bei erfolgreicher Ausführung eine Zeichenfolge zurück, die die wichtigsten Erkenntnisse enthält.
import logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__)
Wir können auch die Stimmung des Besprechungstextes analysieren. Ähnlich wie bei extract_key_points verwenden wir client.chat.completions.create, um eine Stimmungsanalyse des bereitgestellten Textes anzufordern. Die Funktion gibt das Ergebnis der Stimmungsanalyse oder eine Fehlermeldung zurück.
from dotenv import load_dotenv load_dotenv()
Sobald die wichtigsten Erkenntnisse und die Stimmungsanalyse abgeschlossen sind, müssen wir sie in einem Bericht zusammenfassen. Dieser Bericht sollte logisch, kohärent und prägnant sein. Wir verwenden client.chat.completions.create, um eine Anfrage mit den wichtigsten Punkten und einer Stimmungsanalyse bereitzustellen, sodass die API den endgültigen Berichtstext generieren kann. Die Funktion gibt nach erfolgreichem Abschluss den Berichtstext zurück.
import os from openai import OpenAI client = OpenAI( api_key=os.getenv('BOTHUB_API_KEY'), base_url='https://bothub.chat/api/v2/openai/v1' )
Um die Speicherung und Weitergabe zu erleichtern, speichern wir den Bericht als PDF. Für die PDF-Erstellung nutzen wir die FPDF-Bibliothek. Wir fügen eine Seite hinzu und aktivieren den automatischen Textumbruch mit multi_cell. Nachdem wir die Seite erstellt und mit dem Berichtstext gefüllt haben, speichern wir den Bericht mit „output(file_path)“.
def transcribe_audio(audio_file_path): try: with open(audio_file_path, "rb") as audio_file: transcript = client.audio.transcriptions.create( model="whisper-1", file=audio_file ) logger.info("Transcription complete.") return transcript.text except Exception as e: logger.error(f"Error during audio transcription: {e}") return None
Diese Funktion orchestriert alle vorherigen Schritte. Es beginnt mit der Transkription des Audiomaterials. Wenn die Transkription fehlschlägt, wird eine Fehlermeldung angezeigt und die Funktion wird beendet. Als nächstes ruft es die Funktion auf, um wichtige Erkenntnisse zu extrahieren. Tritt ein Fehler auf, wird eine entsprechende Meldung zurückgegeben. Die Stimmungsanalyse wird auf ähnliche Weise durchgeführt und bei Erfolg wird der Berichtstext generiert. Wenn alle Schritte erfolgreich abgeschlossen wurden, wird save_report_as_pdf aufgerufen, um den Bericht im PDF-Format zu speichern. Abschließend gibt die Funktion den generierten Berichtstext zurück.
def extract_key_points(meeting_text): try: response = client.chat.completions.create( model="claude-3.5-sonnet", messages=[ { "role": "user", "content": f"Analyze the following meeting transcript and extract key insights, such as tasks, decisions, and discussed problems:\n\n{meeting_text}" } ] ) logger.info("Key insight extraction complete.") return response.choices[0].message.content except Exception as e: logger.error(f"Error extracting key insights: {e}") return None
Zusammenfassend lässt sich sagen, dass wir eine kleine Anwendung entwickelt haben, die Ihre Produktivität steigern und Ihnen helfen kann, Ihre Zeit effektiver zu verwalten. Wir haben eine Reihe von Kernfunktionen implementiert, darunter Audiotranskription, Extraktion wichtiger Erkenntnisse, Berichterstellung und Speicherung des Berichts im PDF-Format. Dieses Tool hilft Ihnen, den Überblick über wichtige Ideen und Aufgaben zu behalten und spart so Zeit und Mühe.
Ich hoffe, das hat geholfen! Wenn ja, ist jede Unterstützung willkommen, danke fürs Lesen! ?
Das obige ist der detaillierte Inhalt vonErstellen Sie eine einfache Python-App, um die Produktivität mithilfe von KI und der BotHub-API zu steigern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!