Milvusとナレッジテーブル
WhyHow AIによって開発されたKnowledge Tableは、非構造化ドキュメントからの構造化データの抽出と探索を容易にするために設計されたオープンソースのパッケージです。ユーザーにスプレッドシートのようなインターフェイスを提供し、自然言語クエリインターフェイスを通じて表やグラフなどの知識表現を作成することができる。このパッケージには、カスタマイズ可能な抽出ルール、書式設定オプション、実績によるデータトレーサビリティが含まれており、多様なアプリケーションに適応可能です。RAGワークフローへのシームレスな統合をサポートしており、ユーザーフレンドリーなインターフェースを必要とするビジネスユーザーと、効率的な文書処理のための柔軟なバックエンドを必要とする開発者の両方に対応しています。
デフォルトでは、Knowledge TableはMilvusデータベースを使用して、抽出されたデータを保存・検索します。これにより、ユーザはMilvusの強力な機能を使用して簡単にデータを検索、フィルタリング、分析することができます。このチュートリアルでは、Knowledge TableとMilvusを使い始める方法を紹介します。
前提条件
- Docker
- Docker Compose
プロジェクトのクローン
$ git clone https://github.com/whyhow-ai/knowledge-table.git
環境のセットアップ
プロジェクトのルート・ディレクトリに.env.example
ファイルがあります。このファイルを.env
にコピーし、必要な環境変数を入力してください。
Milvusの場合は、MILVUS_DB_URI
とMILVUS_DB_TOKEN
環境変数を設定します。以下はそのヒントです:
- 例えば、
./milvus.db
のように、MILVUS_DB_URI
をローカルファイルとして設定する方法は、Milvus Lite を自動的に利用してすべてのデータをこのファイルに格納するため、最も便利な方法です。- もし、100万ベクトルを超えるような大規模なデータがある場合、DockerやKubernetes上に、よりパフォーマンスの高いMilvusサーバを構築することができます。このセットアップでは、サーバのアドレスとポートをURIとして使用してください(例:
http://localhost:19530
)。Milvusの認証機能を有効にしている場合は、トークンに"<your_username>:<your_password>"を使用してください。- MilvusのフルマネージドクラウドサービスであるZilliz Cloudを利用する場合は、Zilliz CloudのPublic EndpointとApi keyに対応する
MILVUS_DB_URI
とMILVUS_DB_TOKEN
を調整してください。
Milvus 以外にも、OPENAI_API_KEY
などの環境を設定する必要があります。これらはそれぞれのウェブサイトから入手できます。
アプリの起動
$ docker compose up -d --build
アプリの停止
$ docker compose down
プロジェクトへのアクセス
フロントエンドはhttp://localhost:3000
から、バックエンドはhttp://localhost:8000
からアクセスできます。
UIで遊んでみたり、自分のドキュメントで試してみたりすることができる。