概要
Weaviateとは
Weaviateは、AIを利用した高速で大規模な検索向けに構築された、オープンソースのベクトルデータベースです。データをオブジェクトとベクトルとして保存するため、埋め込みによるセマンティック検索と構造化フィルタリングを組み合わせることができます。Weaviateはクラウドネイティブかつフォールトトレラントで、大規模言語モデル (LLM) に直接統合されています。BoxとWeaviateでエンドツーエンドのRAGソリューションを作成する方法
RAGは、ベクトル検索 (取得) と言語モデル (生成) を組み合わせて、独自のデータを使用して質問に回答する手法です。フローは次のステップに沿って進みます。- コンテンツの保存: Boxがファイル (PDF、ドキュメント、テキストレポート、サポートされるその他の形式) を保持します。
- 埋め込みの作成: Boxファイルからテキストが抽出され、チャンク分割されます。チャンク分割されたテキストは、Weaviate Embeddingsを使用してベクトル埋め込みに変換されます。
- クエリの実行: WeaviateのQuery Agentが自然言語の質問を受け取り、必要な検索クエリと集計クエリを生成して、単一の回答を返します。これらはすべて、エージェント型RAGを使用して行われます。
前提条件
始める前に、以下が揃っていることを確認してください。- Box Developerアカウント。まだ持っていない場合は、無料のDeveloperアカウントにサインアップします。
- Jupyter拡張機能を備えた、Visual Studio CodeなどのJupyter Notebook環境、またはローカルのJupyterインストール。
- Weaviate Cloudアカウント。無料のサンドボックスプランにサインアップします。
Box開発者トークンの取得
- 右上隅にある [新規アプリ] をクリックします。
- アプリ名を入力し、認証方法として [OAuth 2.0] を選択します。
- [アプリの作成] を選択します。
- [アプリケーションスコープ] で、ファイルの読み取り/書き込みスコープを追加して [変更を保存] をクリックします (これらのスコープがまだ有効でない場合)。
- [構成] タブから開発者トークンをコピーして保存します。これはノートブックに必要になります。
開発者トークンは60分間有効です。セッションに時間がかかると、新しいトークンの生成が必要になります。
Weaviateクラスタの作成
- Weaviate Cloudにログインします。
- ダッシュボードから新しいクラスタを作成します。このクラスタには好きな名前を付けることができます。
- クラスタが準備できたら、[Details (詳細)] タブに移動して、クラスタURLとAPIキーをメモします。
レシピの実行
リポジトリの複製
Weaviateレシピリポジトリを複製またはダウンロードします。weaviate_box.ipynb) を開きます。

The Box integration folder in the Weaviate recipes repository
認証の構成
ノートブックには、認証変数を設定する手順が含まれています。手順3のコードブロックを次の情報で更新します。- 自分のBox開発者トークン
- 自分のWeaviateクラスタURLとAPIキー

Update the authentication variables in step 3 of the notebook
ノートブックの実行
ノートブックの各セルを順次実行します。ノートブックの実行内容は次のとおりです。- デモ用ファイルをBoxにアップロードします (または、自分が用意したファイルを使用します)。
- Boxファイルからテキストコンテンツを抽出します。
- テキストをチャンク分割し、Weaviateでベクトル埋め込みを作成します。
- Weaviate Query Agentを使用して、コンテンツについての質問に回答します。

The Query Agent returns an answer based on your Box content
次の手順
データの拡張
データの拡張
年次報告書や記事、検索したい任意のドキュメントなど、追加のファイルをBoxにアップロードし、ノートブックを再実行してそれらのファイルをWeaviateに埋め込みます。
Query Agentのカスタマイズ
Query Agentのカスタマイズ
system_promptパラメータを調整してエージェントの動作を変更します。たとえば、より詳細な分析や応答の具体的な形式をリクエストできます。その他のWeaviateエージェントの確認
その他のWeaviateエージェントの確認
Weaviateは他の種類のエージェントも提供しています。Transformation Agentはデータを前処理することができ、Personalization Agentは個々のユーザーに合わせて応答をカスタマイズできます。
リソース
Weaviateレシピ
Weaviateレシピリポジトリに含まれているフルバージョンのJupyter Notebook。
Weaviate Query Agent
Weaviateのエージェント型RAG機能について。
Weaviate Embeddings
Weaviateの埋め込みサービスに関するドキュメント。
Box Developer Community
フィードバックの共有や他のBox開発者からのサポート。
