Heim > Backend-Entwicklung > Python-Tutorial > Erstellen Sie eine einfache Python-App, um die Produktivität mithilfe von KI und der BotHub-API zu steigern

Erstellen Sie eine einfache Python-App, um die Produktivität mithilfe von KI und der BotHub-API zu steigern

Barbara Streisand
Freigeben: 2024-11-15 12:40:03
Original
863 Leute haben es durchsucht

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.

Einrichten von Abhängigkeiten und Projektkonfiguration

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:

  • os und pathlib.Path: zum Arbeiten mit Umgebungsvariablen und Dateipfaden;
  • dotenv: zum Laden sensibler Daten aus einer .env-Datei;
  • fpdf: zum Generieren von PDF-Dateien;
  • openai: für die Interaktion mit der BotHub-API.

Installieren Sie diese Pakete mit pip:

pip install openai python-dotenv fpdf
Nach dem Login kopieren
Nach dem Login kopieren

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__)
Nach dem Login kopieren
Nach dem Login kopieren

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.

Building a simple Python app to boost productivity using AI and the BotHub API

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()
Nach dem Login kopieren
Nach dem Login kopieren

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'
)
Nach dem Login kopieren
Nach dem Login kopieren

Kernfunktion für die Audioverarbeitung

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 dem Login kopieren
Nach dem Login kopieren

Wichtige Erkenntnisse extrahieren

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__)
Nach dem Login kopieren
Nach dem Login kopieren

Stimmungsanalyse

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()
Nach dem Login kopieren
Nach dem Login kopieren

Berichtserstellung

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'
)
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren

Hauptfunktion

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
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage