目次
概要
特徴
リポジトリの構造
モジュール
はじめる
インストール
ランニングレポート.ai
クイックスタート
ロードマップ
貢献する
ライセンス
謝辞
Report.ai の使命は明確です。それは、堅牢な AI 主導のレポート エクスペリエンスを提供することです。私たちは従来のテキストの長さに基づくセグメンテーションの限界を超え、よりスマートなアプローチであるセマンティック セグメンテーションを選択しました。この革新的な方法により、コンテンツ内の包括的なテーマと微妙な詳細の両方を識別する際に比類のない精度が保証されます。さらに、各セグメント内でトランスクリプトと音声を提供することで、コンテンツを包括的に理解するための信頼できる参照ポイントを提供するというさらなる努力を行っています。
Report.ai は、テキストの長さに依存するのではなく、レポートをその意味に基づいて分割します。これにより、内容がより正確に分類され、内容の理解が深まります。
私たちのレポートは単なるテキスト表現を超えています。各セマンティック チャンクはインタラクティブなトランスクリプトとともに表示されるため、元のオーディオ セグメントをシームレスに移動して参照できます。
私たちはカスタマイズの力をあなたの手にお届けします。カスタマイズ可能なテンプレートを使用して分析を簡単に調整し、重要な洞察を抽出できるようにします。
YouTube リンク、WAV 形式のオーディオ ファイル、または TXT 形式のテキスト トランスクリプトを使用する場合でも、私たちが対応します。 Report.ai はさまざまなマルチメディア入力をシームレスに処理し、包括的かつ便利なエクスペリエンスを実現します。
プロフェッショナルなデータベースを確立しようとしている人のために、私たちのリポジトリは Pinecone および Chroma とのシームレスな統合を提供します。これらの高度なツールは、優れたデータ管理および取得機能を提供し、レポート作成の価値を高めます。
└── リードミー/ §── .env §── VAD.py §── 分割.py §── 例/ │ §── WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA │ └── バッチ.txt §── main.py §── 要件.txt §── s2t_whisper.py §── storage_vector.py §── summary.py §── テンプレート/ │ §── 一般.txt │ └── 個人.txt ━── utils.py
ファイル | まとめ |
---|---|
要件.txt | コードが適切に機能するために不可欠な必須の依存関係のリストを提供します。 |
.env | .env ファイルは、OpenAI、Azure OpenAI、Pinecone などのさまざまな API に関連する構成設定のリポジトリとして機能します。このファイルには、API キー、モデル名、ストレージ構成などの重要な情報が含まれています。 |
utils.py | utils.py ファイル内には、包括的なユーティリティ関数が含まれています。これらの関数は多用途であり、次のようなさまざまな重要なタスクに及びます。 fuzzy_match: ファジー文字列マッチングを実行します。 validate_filetype: ファイル タイプの検証を保証します。 detect_ language: テキスト ファイルの言語を検出します。 get_items: テンプレート ファイルから項目を抽出します。 add_hyperlink: Word 文書内にハイパーリンクを追加します。 Division_audio: オーディオ ファイルをセグメントにスライスします。 get_file_list: ファイル パスのリストを取得します。 |
要約.py | summarize.py スクリプトは、template/general.txt および template/individual.txt にあるテンプレートに基づいて概要を生成することに特化しています。これらの概要は、必要に応じて翻訳して、Microsoft Word ドキュメント形式 (.docx) に変換できます。このプロセス全体を通じて、ドキュメントはハイパーリンクと追加のコンテキスト詳細で強化されます。 |
s2t_whisper.py | s2t_whisper.py 、YouTube ビデオのダウンロード、音声の抽出、無音部分の削除、音声をタイムスタンプ付きのテキストに変換、中国語コンテンツに句読点を追加する機能を提供します。結果のトランスクリプトは、JSON 形式と TXT 形式の両方で保存されます。 |
VAD.py | VAD.py は、オーディオ ファイルから人間の声を抽出するために使用されます。オーディオを 10 分のチャンクに分割し、各チャンクを別のファイルとしてエクスポートし、Spleeter ライブラリを使用して人間の声を抽出します。抽出されたボーカルは 1 つのオーディオ ファイルに結合されます。 |
分割.py | divide.py は、記事のトランスクリプトに基づいて記事をサブトピックに分割します。このクラスにはいくつかのプライベート メソッドがあります。_string_cleaner _string_cleaner 入力文字列をクリーンアップし、 _get_timestamp_list JSON ファイルからタイムスタンプを抽出し、 _add_timestamp タイムスタンプをサブトピックに追加し、 _add_transcript トランスクリプトをサブトピックに追加し、 _divide_by_subtopics 言語モデルを使用して記事をチャンクに分割します。 |
main.py | main.py ファイル分析と概要生成のために設計された多用途のスクリプトです。次のようなさまざまなコマンドライン引数を受け入れることで、幅広い柔軟性が提供されます。 File Path : 分析するファイルを指定します。 Chunk Size : テキスト セグメントのサイズを定義できます。 Temperature of Language Model : 言語モデルの動作を微調整します。 Batch Mode : スクリプトをバッチ モードで実行するかどうかを指定できます。 Report Generation : レポートを作成するオプションを提供します。 Vector Database Selection : ベクトル データベースを松ぼっくりと Chroma から選択できます。 ASR (Automatic Speech Recognition) Model : 使用する適切な ASR モデルを選択します。 |
storage_vector.py | storage_vector.py スクリプトは、pinecone_storage と chroma_storage という 2 つの重要な関数を提供します。どちらも、ベクトル データベースへの結果の保存を容易にするように設計されています。 |
ファイル | まとめ |
---|---|
個人.txt | individuel.txt の内容には、各サブトピック内で分析される項目が含まれています。 |
一般.txt | general.txt の内容には、トランスクリプト全体内で分析される項目が含まれています。 |
ファイル | まとめ |
---|---|
バッチ.txt | batch.txt ファイルは、複数のファイルの処理を容易にするために使用されます。これは、ファイル パスをカンマで区切ってリストし、どの複数のファイルを順番に処理するかを示すことによって実現されます。 |
WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt | WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt 、NVIDIA の 2023 年第 2 四半期財務結果と Q&A Web キャストのトランスクリプトが含まれています。 |
ショートフラグ | ロングフラッグ | 説明 | タイプ | 状態 |
---|---|---|---|---|
-o | --output_dir | レポートの出力ディレクトリを設定します。デフォルトは ./docx です。 | 弦 | オプション |
- c | - かたまり | 分析用のチャンク サイズを設定します。推奨値 (GPT-3.5: 英語で 10000、zh で 2000、GPT-4: 英語で 18000、zh で 3600)、デフォルトは 2000 | 弦 | オプション |
-t | - 温度 | LLM の温度を 0 ~ 2 の範囲で調整します。温度が高いほど創造性が高まります。デフォルトは 0.1 です。 | フロート | オプション |
-e | - 抽出する | オーディオから人間の声を抽出するかどうか (Apple Silicon を搭載した Mac はサポートされていません)、デフォルトは False です。 | ブール値 | オプション |
-b | - バッチ | 入力テキスト ファイルに複数のファイル パスが含まれる場合は「True」を使用します。デフォルトは False です。 | ブール値 | オプション |
-v | --vectorDB | ベクトル データベース (pinecoene または chroma) を選択します。デフォルトはなしです。 | 弦 | オプション |
-m | - モデル | ウィスパー モデル ('tiny'、'base'、'small'、'medium'、'large-v2') を選択します。デフォルトは中です。 | 弦 | オプション |
依存関係
次の依存関係がシステムにインストールされていることを確認してください。
- Aanaconda or Miniconda
- python >=3.7, <=3.9 (Apple silicon python >= 3.8, <=3.9)
- pytorch
Report.ai リポジトリのクローンを作成します。
git clone https://github.com/Shou-Hsu/Report.ai.git
プロジェクト ディレクトリに移動します。
cdレポート.ai
conda をインストールします。
https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html 経由でミニコードをインストールします
仮想環境を作成します。
conda create -n Report.ai python=3.9
仮想環境をアクティブ化します。
conda は Report.ai をアクティブにします
pytorch をインストールします。
https://pytorch.org/get-started/locally/ 経由で pytorch をインストールします
ffmpeg と libsndfile をインストールします。
conda install -c conda-forge ffmpeg libsndfile
依存関係をインストールします。
pip install -r 要件.txt
(Mac のみ) 依存関係を更新します。
pip install -U 番号
python main.py <ファイルパス> -c 10000
.env ファイル内で Openai または Azure openai 資格情報を設定します。さらに、VectorDB にデータを保存する場合は、Pinecone または Chroma のいずれかの資格情報を設定します。
# gpt モデル プロバイダー Azure または 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= #Azure OpenAI を使用する場合のみ# # OpenAI 資格情報OPENAI_API_KEY= MODEL_NAME=# # pinecone 認証情報 (オプション)PINECONE_API_KEY= PINECONE_ENV=# ChromaDB (オプション)PERSIST_DIR= COLLCTION_NAME=
tempelete/general.txt、tempelete/individuel.txt(「,」で区切られた分析項目)を修正します。
#たとえば、「決算報告」の分析を目的としている場合、tempelete/で「トピック、概要、短期財務状況に関するCFOの説明、会社の見通しに関するCEOの説明、市場の懸念事項」を設定できます。一般.txt 同時に、tempelete/individuel.txt で「要約、投資洞察、キーワード」を設定します。#「定例会議」の簡単な概要を作成したい場合は、tempelete/ で「トピック、概要、特集作業」を設定できます。一般.txt 同時にtempelete/individuel.txtに「Abstract、action item、Keywords」を設定します。
コマンドラインで Report.ai を実行します
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.
ディスカッション
ここからディスカッションに参加してください。
新刊
ここでバグを報告したり、機能をリクエストしたりできます。
貢献ガイドライン
マサチューセッツ工科大学
ラングチェーン、OpenAI、パインコーン、クロマ、スプリーター
戻る