1.8. BYO Knowledge ツールについて
OpenShift Lightspeed サービスは、大規模言語モデル (LLM) を使用して質問への回答を生成します。BYO Knowledge ツールを使用して検索拡張生成 (RAG) データベースを作成することにより、LLM で利用できるナレッジを強化できます。
RAG データベースを作成するときは、OpenShift Lightspeed サービスを環境に合わせてカスタマイズします。たとえば、ネットワーク管理者は、OpenShift Container Platform クラスターのプロビジョニングに使用される標準操作手順 (SOP) を開発できます。次に、ネットワーク管理者は BYO Knowledge ツールを使用して、SOP からの情報を含めることで LLM が利用できるナレッジを強化できます。
独自の知識を LLM に持ち込むには、次の手順を実行します。
- Markdown 形式でカスタムコンテンツを作成します。
- BYO Knowledge ツールを使用して、コンテンツをコンテナーイメージとしてパッケージ化します。
-
コンテナーイメージを
quay.ioなどのイメージレジストリーにプッシュします。 -
OLSConfigカスタムリソースファイルを更新して、イメージレジストリーにプッシュしたイメージを表示します。 OpenShift Lightspeed 仮想アシスタントにアクセスし、LLM に提供したカスタムナレッジに関連付けられた質問を送信します。
注記BYO Knowledge ツールを使用すると、LLM で利用できるドキュメントが LLM プロバイダーに送信されます。
1.8.1. ドキュメントのタイトルと URL について リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Lightspeed は、サービスが回答を生成するために使用するドキュメントのタイトルと URL を表示できます。検索拡張生成 (RAG) データベースでは、タイトルと URL がメタデータとしてドキュメントに付随します。BYO Knowledge ツールは、ツールが処理する Markdown ファイルに title 属性と url 属性が存在する場合、YAML フロントマターからそれらの属性を取得できます。
Markdown ファイルに title 属性 と url 属性を持つ frontmatter がない場合、最初の最上位レベルの Markdown 見出し (たとえば 、# Introduction to Layers) がタイトルになり、ファイルパスが URL になります。
1.8.2. LLM にカスタムナレッジを提供する リンクのコピーリンクがクリップボードにコピーされました!
リモートイメージレジストリーにあるコンテナーイメージにアクセスできるようにし、大規模言語モデル (LLM) で使用できる情報をカスタマイズします。この手順の例では、リモートコンテナーイメージレジストリーとして quay.io を使用し、カスタムイメージのパスは quay.io/<username>/my-byok-image:latest です。
BYO Knowledge ツールは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
前提条件
-
クラスタースコープのカスタムリソース (CR) ファイルを作成する権限を持つユーザーアカウント (
cluster-adminロールを持つユーザーなど) として OpenShift Container Platform Web コンソールにログインしている。 - OpenShift Lightspeed Service で使用できる LLM プロバイダーがある。
- OpenShift Lightspeed Operator がインストールされている。
-
追加するカスタム情報が、
.md拡張子を持つ Markdown ファイルのコレクションとして存在する。他のファイル形式はサポートされていません。 -
Podman を使用して
registry.redhat.ioにログインしている。 -
quay.ioなどのコンテナーイメージレジストリーのアカウントがある。
手順
次のコマンドを実行して、検索拡張生成 (RAG) データベースの Markdown ファイルがあるディレクトリーの場所と、BYO Knowledge ツールによって生成されるイメージのパスを指定します。
podman run -it --rm --device=/dev/fuse \ -v $XDG_RUNTIME_DIR/containers/auth.json:/run/user/0/containers/auth.json:Z \ -v <dir_tree_with_markdown_files>:/markdown:Z \ -v <dir_for_image_tar>:/output:Z \ registry.redhat.io/openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9:latest
$ podman run -it --rm --device=/dev/fuse \ -v $XDG_RUNTIME_DIR/containers/auth.json:/run/user/0/containers/auth.json:Z \ -v <dir_tree_with_markdown_files>:/markdown:Z \ -v <dir_for_image_tar>:/output:Z \ registry.redhat.io/openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ツールによって生成されるコンテナーイメージには、カスタム RAG データベースが含まれています。RAG データベースは LLM に追加情報を提供します。
次のコマンドを実行して、BYO Knowledge ツールによって生成されたコンテナーイメージをロードします。
podman load < <directory_for_image_tar>/<my-byok-image.tar>
$ podman load < <directory_for_image_tar>/<my-byok-image.tar>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ローカルコンピューター上にある podman イメージを表示します。
podman images
$ podman imagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
REPOSITORY TAG IMAGE ID CREATED SIZE localhost/my-byok-image latest be7d1770bf10 1 minute ago 2.37 GB ...
REPOSITORY TAG IMAGE ID CREATED SIZE localhost/my-byok-image latest be7d1770bf10 1 minute ago 2.37 GB ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ローカルイメージに名前と宛先のタグを付け、イメージをコンテナーイメージレジストリーにプッシュできるようにします。
podman tag localhost/my-byok-image:latest quay.io/<username>/my-byok-image:latest
$ podman tag localhost/my-byok-image:latest quay.io/<username>/my-byok-image:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ローカルコンテナーイメージをコンテナーイメージレジストリーにプッシュします。
podman push quay.io/<username>/my-byok-image:latest
$ podman push quay.io/<username>/my-byok-image:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow OLSconfigCR を変更して、新しく作成された RAG データベースを既存のデータベースと一緒にデプロイします。-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators をクリックします。 - 画面上部の Project ドロップダウンメニューで All Projects を選択します。
- OpenShift Lightspeed Operator をクリックします。
-
OLSConfig をクリックし、一覧にある
cluster設定インスタンスをクリックします。 - YAML タブをクリックします。
spec.ols.ragyaml コードを挿入します。OLSconfigCR ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ここで、
imageは OpenShift Lightspeed Operator がカスタムコンテンツにアクセスできるように、イメージレジストリーにプッシュされたイメージのタグを指定します。OpenShift Lightspeed Operator は、作成した複数の RAG データベースを操作できます。
-
OpenShift Container Platform Web コンソールで、Operators
- Save をクリックします。
検証
OpenShift Lightspeed 仮想アシスタントにアクセスし、LLM に提供したカスタムコンテンツに関連する質問を送信します。
OpenShift Lightspeed 仮想アシスタントは、カスタムコンテンツに基づいて回答を生成します。
1.8.3. OpenShift Container Platform ドキュメント RAG データベースを無効にする リンクのコピーリンクがクリップボードにコピーされました!
OLSConfig カスタムリソース (CR) ファイルを変更して、OpenShift Container Platform ドキュメントを含む組み込みの Retrieval-Augmented Generation (RAG) データベースを無効にします。そうすると、OpenShift Lightspeed が使用する RAG データベースは、BYO Knowledge 機能を使用して提供されるものだけになります。
前提条件
-
cluster-adminロールを持つユーザーなど、クラスタースコープの CR ファイルを作成する権限を持つユーザーアカウントとして、OpenShift Container Platform の Web コンソールにログインしている。 - OpenShift Lightspeed Operator がインストールされている。
- 大規模言語モデルプロバイダーが設定されている。
-
OpenShift Lightspeed サービスを自動的にデプロイする
OLSConfigCR ファイルが設定されている。 - LLM へのカスタムナレッジの提供で説明されているように、使用するコンテンツを含む RAG データベースを作成しました。
手順
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators をクリックします。 - 画面上部の Project リストで All Projects を選択します。
- OpenShift Lightspeed Operator をクリックします。
-
OLSConfig をクリックし、一覧にある
cluster設定インスタンスをクリックします。 - YAML タブをクリックします。
spec.ols.byokRAGOnlyYAML コードを挿入します。OLSconfigCR ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
true を指定すると、OpenShift Lightspeed は BYO Knowledge 機能を使用して作成した RAG データベースのみを使用します。trueの場合、OpenShift Lightspeed は OpenShift Container Platform ドキュメントを含むデフォルトの RAG データベースを使用しません。
- Save をクリックします。