Inhaltsverzeichnis
Überblick
Merkmale
Repository-Struktur
Module
Erste Schritte
Installation
Ausführen von Report.ai
Schnellstart
Roadmap
Mitwirken
Lizenz
Danksagungen
Bei Report.ai ist unsere Mission klar: Sie mit einem robusten KI-gesteuerten Reporting-Erlebnis zu versorgen. Wir sind über die Grenzen der herkömmlichen textlängenbasierten Segmentierung hinausgegangen und haben uns für einen intelligenteren Ansatz entschieden – die semantische Segmentierung. Diese innovative Methode gewährleistet eine beispiellose Präzision bei der Identifizierung übergreifender Themen und nuancierter Details in Ihren Inhalten. Darüber hinaus gehen wir noch einen Schritt weiter, indem wir für jedes Segment ein Transkript und Audio anbieten und Ihnen so einen zuverlässigen Bezugspunkt für ein umfassendes Verständnis Ihrer Inhalte bieten.
Anstatt sich auf die Textlänge zu verlassen, segmentiert Report.ai Ihre Berichte nach ihrer Bedeutung. Dies führt zu einer genaueren Aufschlüsselung des Inhalts und verbessert Ihr Verständnis des Materials.
Unsere Berichte gehen über die reine Textdarstellung hinaus. Jeder semantische Block wird zusammen mit einem interaktiven Transkript präsentiert, sodass Sie nahtlos durch die Original-Audiosegmente navigieren und darauf verweisen können.
Wir legen die Macht der Individualisierung in Ihre Hände. Passen Sie Ihre Analyse ganz einfach mithilfe unserer anpassbaren Vorlagen an, sodass Sie die für Sie wichtigen Erkenntnisse gewinnen können.
Egal, ob Sie mit YouTube-Links, Audiodateien im WAV-Format oder Texttranskripten im TXT-Format arbeiten, wir sind für Sie da. Report.ai verarbeitet nahtlos eine Vielzahl von Multimedia-Eingaben und sorgt so für ein umfassendes und komfortables Erlebnis.
Für diejenigen, die eine professionelle Datenbank aufbauen möchten, bietet unser Repository eine nahtlose Integration mit Pinecone und Chroma. Diese fortschrittlichen Tools bieten hervorragende Datenverwaltungs- und -abruffunktionen und steigern den Wert Ihrer Berichtsbemühungen.
└── readme/ ├── .env ├── VAD.py ├── divid.py ├──Beispiel/ │ ├── WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA │ └──batch.txt ├── main.py ├── Anforderungen.txt ├── s2t_whisper.py ├── storage_vector.py ├── summary.py ├── Vorlage/ │ ├── general.txt │ └── individuel.txt └── utils.py
Datei | Zusammenfassung |
---|---|
Anforderungen.txt | Bereitstellung einer Liste wesentlicher Abhängigkeiten, die für das ordnungsgemäße Funktionieren des Codes von entscheidender Bedeutung sind. |
.env | Die .env Datei dient als Repository für Konfigurationseinstellungen für verschiedene APIs, einschließlich derjenigen von OpenAI, Azure OpenAI und Pinecone. In dieser Datei finden Sie wichtige Informationen wie API-Schlüssel, Modellnamen und Speicherkonfigurationen. |
utils.py | In der Datei utils.py finden Sie eine umfassende Reihe von Hilfsfunktionen. Diese Funktionen sind vielseitig und umfassen verschiedene wesentliche Aufgaben, darunter: fuzzy_match: Zur Durchführung von Fuzzy-String-Matching. validate_filetype: Sicherstellen der Dateitypvalidierung. Detect_Language: Erkennen der Sprache einer Textdatei. get_items: Extrahieren von Elementen aus Vorlagendateien. add_hyperlink: Hinzufügen von Hyperlinks in Word-Dokumenten. divid_audio: Audiodateien in Segmente schneiden. get_file_list: Listen von Dateipfaden abrufen. |
summary.py | Das Skript summarize.py dient der Generierung von Zusammenfassungen basierend auf den Vorlagen in template/general.txt und template/individual.txt. Diese Zusammenfassungen können bei Bedarf übersetzt und anschließend in das Microsoft Word-Dokumentformat (.docx) umgewandelt werden. Während dieses Prozesses wird das Dokument mit Hyperlinks und zusätzlichen kontextbezogenen Details angereichert. |
s2t_whisper.py | s2t_whisper.py bietet Funktionen zum Herunterladen von YouTube-Videos, zum Extrahieren des Audios, zum Entfernen von Stille, zum Konvertieren von Sprache in Text mit Zeitstempel und zum Hinzufügen von Satzzeichen für chinesische Inhalte. Das resultierende Transkript wird sowohl im JSON- als auch im TXT-Format gespeichert. |
VAD.py | VAD.py wird verwendet, um menschliche Stimmen aus einer Audiodatei zu extrahieren. Es teilt das Audio in Abschnitte von 10 Minuten auf, exportiert jeden Abschnitt als separate Datei und extrahiert die menschliche Stimme mithilfe der Spleeter-Bibliothek. Die extrahierten Vocals werden dann zu einer einzigen Audiodatei zusammengefasst. |
divid.py | Die divide.py dient dazu, einen Artikel basierend auf seinem Transkript in Unterthemen zu unterteilen. Die Klasse verfügt über mehrere private Methoden: _string_cleaner bereinigt die Eingabezeichenfolge, _get_timestamp_list extrahiert Zeitstempel aus einer JSON-Datei, _add_timestamp fügt Zeitstempel zu Unterthemen hinzu, _add_transcript fügt das Transkript in Unterthemen hinzu und _divide_by_subtopics verwendet Sprachmodelle, um den Artikel in Abschnitte zu unterteilen. |
main.py | main.py ist ein vielseitiges Skript zur Dateianalyse und Zusammenfassungserstellung. Es bietet umfassende Flexibilität, indem es verschiedene Befehlszeilenargumente akzeptiert, darunter: File Path : Zur Angabe der Datei für die Analyse. Chunk Size : Ermöglicht Ihnen, die Größe von Textsegmenten zu definieren. Temperature of Language Model : Zur Feinabstimmung des Verhaltens des Sprachmodells. Batch Mode : Hier können Sie angeben, ob das Skript im Batch-Modus ausgeführt werden soll. Report Generation : Bereitstellung der Option zum Erstellen eines Berichts. Vector Database Selection : Ermöglicht Ihnen die Auswahl zwischen Pinecone- und Chroma-Vektordatenbanken. ASR (Automatic Speech Recognition) Model : Zur Auswahl des geeigneten ASR-Modells, das verwendet werden soll. |
storage_vector.py | Das Skript storage_vector.py bietet zwei wesentliche Funktionen: pinecone_storage und chroma_storage, die beide die Speicherung von Ergebnissen in einer Vektordatenbank erleichtern sollen. |
Datei | Zusammenfassung |
---|---|
individuell.txt | Der Inhalt der individuel.txt enthält Elemente, die innerhalb jedes Unterthemas analysiert werden. |
general.txt | Der Inhalt der general.txt enthält Elemente, die im gesamten Transkript analysiert werden. |
Datei | Zusammenfassung |
---|---|
Batch.txt | Die Datei batch.txt wird verwendet, um die Verarbeitung mehrerer Dateien zu erleichtern. Dies wird erreicht, indem die Dateipfade durch Kommas getrennt aufgelistet werden, um anzugeben, welche mehreren Dateien nacheinander verarbeitet werden sollen. |
WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt | WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt enthält eine Abschrift der Finanzergebnisse von NVIDIA für das zweite Quartal 2023 und einen Webcast mit Fragen und Antworten. |
Kurze Flagge | Lange Flagge | Beschreibung | Typ | Status |
---|---|---|---|---|
- o | --output_dir | Festlegen des Ausgabeverzeichnisses für den Bericht. Der Standardwert ist ./docx | Zeichenfolge | Option |
- C | --chunk | Festlegen der Blockgröße für die Analyse. empfohlen (GPT-3.5: 10000 in Englisch, 2000 in Englisch, GPT-4: 18000 in Englisch, 3600 in Englisch), Standard ist 2000 | Zeichenfolge | Option |
- T | --Temperatur | Passen Sie die Temperatur von LLM im Bereich von 0 bis 2 an. Höhere Temperaturen bedeuten mehr Kreativität. Die Standardeinstellung ist 0,1 | schweben | Option |
- z.B | --Extrakt | Menschliche Stimme aus Audio extrahieren oder nicht (Mac mit Apple Silicon wird nicht unterstützt), Standard ist False | Boolescher Wert | Option |
- B | --Charge | Verwenden Sie „True“, wenn die Eingabetextdatei mehrere Dateipfade enthält. Der Standardwert ist „False“. | Boolescher Wert | Option |
- V | --vectorDB | Wählen Sie die Vektordatenbank (Pinecoene oder Chroma). Der Standardwert ist „Keine“. | Zeichenfolge | Option |
- M | --Modell | Wählen Sie das Flüstermodell („tiny“, „base“, „small“, „medium“, „large-v2“). Die Standardeinstellung ist „Medium“. | Zeichenfolge | Option |
Abhängigkeiten
Bitte stellen Sie sicher, dass die folgenden Abhängigkeiten auf Ihrem System installiert sind:
- Aanaconda or Miniconda
- python >=3.7, <=3.9 (Apple silicon python >= 3.8, <=3.9)
- pytorch
Klonen Sie das Report.ai-Repository:
Git-Klon https://github.com/Shou-Hsu/Report.ai.git
Wechseln Sie in das Projektverzeichnis:
cd Report.ai
Installieren Sie die Conda:
Installieren Sie Minicode über https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html
Erstellen Sie eine virtuelle Umgebung:
conda create -n Report.ai python=3.9
Virtuelle Umgebung aktivieren:
Conda aktiviert Report.ai
Installieren Sie den Pytorch:
Installieren Sie Pytorch über https://pytorch.org/get-started/locally/
Installieren Sie die Datei ffmpeg und libsnd:
conda install -c conda-forge ffmpeg libsndfile
Installieren Sie die Abhängigkeiten:
pip install -r Anforderungen.txt
(Nur Mac) Aktualisieren Sie die Abhängigkeiten:
pip install -U numba
python main.py <file_path> -c 10000
Festlegen der OpenAI- oder Azure OpenAI-Anmeldeinformationen in der .env-Datei. Darüber hinaus legen Sie die Anmeldeinformationen von Pinecone oder Chroma fest, wenn Sie Daten in VectorDB speichern möchten.
# Wählen Sie einen der GPT-Modellanbieter Azure oder OpenAI# Azure openAI credentialAZURE_OPENAI_API_KEY= AZURE_OPENAI_API_BASE= AZURE_OPENAI_API_VERSION= AZURE_OPENAI_API_TYPE= AZURE_DEPLOYMENT_NAME= EMBEDDING_DEPLOYMENT_NAME= #nur wenn Sie Azure OpenAI verwenden# # OpenAI-AnmeldeinformationenOPENAI_API_KEY= MODEL_NAME=# # Pinecone-Anmeldeinformationen (Option)PINECONE_API_KEY= PINECONE_ENV=# ChromaDB (Option)PERSIST_DIR= COLLCTION_NAME=
Ändern Sie tempelete/general.txt und tempelete/individuel.txt (Analyseelemente, die durch „,“ getrennt sind).
#Wenn Sie beispielsweise einen „Gewinnaufruf“ analysieren möchten: Sie können in tempelete/ general.txt Legen Sie gleichzeitig „Abstract, Investment Insight, Keywords“ in tempelete/individuel.txt fest.#Falls Sie eine kurze Zusammenfassung des „Routine-Meetings“ erstellen möchten: Sie können in tempelete/ „Thema, Zusammenfassung, Feature-Arbeit“ festlegen. general.txt Legen Sie gleichzeitig „Abstract, Action Item, Keywords“ in tempelete/individuel.txt fest
Führen Sie Report.ai in der Commend-Zeile aus
python main.py example/WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt -c 10000
Publish project as a Python library via PyPI for easy installation.
Make project available as a Docker image on Docker Hub.
Diskussionen
Beteiligen Sie sich hier an der Diskussion.
Neue Ausgabe
Melden Sie hier einen Fehler oder fordern Sie eine Funktion an.
Mitwirkende Richtlinien
MIT.
Langchain, OpenAI, Pinecone, Chroma, Spleeter
Zurückkehren