はじめに
Denser Chatはdenser.aiによって開発・保守されているチャットボット・プロジェクトで、PDFファイルやウェブページからテキストや表を抽出し、ソースコードハイライトを行います。このプロジェクトは、denser-retrieverベースのチャットボットの構築をサポートし、インタラクティブなStreamlitチャットボット・アプリケーションを提供します。ユーザーは、簡単なインストールと設定で、PDFやウェブ・コンテンツに関連する質問に答えるチャットボットを素早くデプロイし、使用することができます。
機能一覧
- PDFファイルやウェブページからテキストや表を抽出
- denser-retrieverをベースにしたチャットボットの構築
- インタラクティブなStreamlitチャットボットアプリケーションのサポート
- ソースコードハイライト機能の提供
- データソースとして複数のファイル形式とURLをサポート
- Docker ComposeでElasticsearchとMilvusのサービスを開始する
- OpenAIまたは クロード チャット機能を提供するAPI
ヘルプの使用
設置プロセス
- クローン倉庫
git clone https://github.com/denser-org/denser-chat.git
- プロジェクト・ディレクトリに移動し、仮想環境を起動する(Pythonのバージョンが3.11であることを確認する):
cd denser-chat
python -m venv .venv
ソース .venv/bin/activate
- 必要なパッケージをインストールする:
pip install -e .
あるいはポエトリーを使う:
ポエトリー・インストール
クイックスタート
- インデックスを構築する前に、Docker Composeを実行してElasticsearchとMilvusのサービスを起動します:
cd denser_chat
docker compose up -d
- チャットボット・インデックスの構築
python build.py sources.txt output test_index
ここで、最初のパラメータはチャットボットを構築するために使用されるファイルで、ローカルのPDFファイル、URLのPDF、またはURLであることができます。2番目のパラメータは出力ディレクトリで、3番目のパラメータはインデックス名です。
- PDF サービ ス を提供す る ために ロ ーカルサーバーを起動:
python -m http.server 8000
- Streamlitアプリケーションを起動する:
cd denser_chat
streamlit run demo.py -- --インデックス名 test_index
使用機能
- テキストと表の抽出PDFファイルをアップロードするか、ウェブ・ページのURLを入力すると、Denser Chatが自動的にテキストとテーブル・コンテンツを抽出します。
- ソースコードのハイライトチャット中、Denser ChatはPDFファイル内の関連するソースコードをハイライトし、見やすく理解しやすくします。
- インタラクティブ・チャットOpenAIやクロードAPIキーを設定することで、ユーザーはチャットボットと対話し、正確な回答を得ることができる。
詳しい操作手順
- ファイルのアップロードアプリケーションのインターフェイスでPDFファイルを選択してアップロードするか、ウェブページのURLを入力します。
- 質問をする例えば、「バッチ内のネガティブサンプリングとは何ですか?どの部品にストップピンが付いていますか?.
- 結果を見るDenser Chatは、回答をハイライトして返すので、ユーザーは関連するコンテンツをすぐに見つけることができます。