OpenShift Lightspeedを構築してみた

はじめに

こんにちはサイオステクノロジーの小野です。今回はOpenShift Lightspeedを構築する方法を解説します。この機能はコンテナプラットフォームの複雑な機能や操作を手助けしてくれます。なお2025年1月23日の現時点ではテクノロジープレビューのため、不具合や正式版と異なる場合があることにご了承ください。

OpenShift Lightspeedとは

OpenShift LightspeedはOpenShift Webコンソール上で利用できるAIアシスタントチャットボットです。OpenShiftに関する質問に対して回答してくれるため、トラブルシューティングや調査に役立ちます。

Lightspeedは以下のLLMプロバイダーと連携することで実行されます:

  • OpenAI
  • Microsoft Azure OpenAI
  • IBM WatsonX
  • RHEL AI
  • Red Hat OpenShift AI

Lightspeedの構成図は以下のようになります:

  1. 最初にユーザーがLightspeedに対して質問します。
  2. LightspeedはLLMプロバイダーが提供しているLLMに対してAPIリクエストを送ります。
  3. LLMがリクエストから回答を生成し、LLMプロバイダーはLightspeedにそのレスポンスを送ります。
  4. 最後にLightspeedがレスポンスから回答を表示します。

OpenShift Lightspeedの構成図

 

OpenShift Lightspeedの構築手順

前提条件

OpenShift Lightspeed前提条件はドキュメントを確認してください。今回の構築は以下の条件で行いました:

  • OpenShift:4.17
  • OpenShift Lightspeed:0.2.1
  • Azure OpenAIが構築済み

Azure設定

EntraID作成

今回のLightspeedとAzure Open AIとのAPI連携はMicrosoft EntraIDによる認証を行います。

EntraIDの「アプリの登録」を開きます。新規登録を押してアプリケーションを登録します。

EntraIDのアプリの登録

EntraIDのアプリの新規登録

アプリケーションが作成されると以下のような画面に遷移するので、クライアントIDとテナントIDをメモします。

アプリケーション(クライアント)IDとディレクトリ(テナント)IDをメモ

「証明書とシークレット」を開いて新しいクライアントシークレットを作成します。作成したらシークレットの値をメモします。

シークレットの値をメモ

次に今回連携させるAzure Open AIのリソースに移動して、「アクセス制御」から追加を押下してロールの割り当ての追加をします。

Azure OpenAIのアクセス制御設定

職務ロールのCognitive Services ユーザーを選択して「次へ」を押下します。

Cognitive Services ユーザーを選択

メンバーはアクセスの割り当て先をユーザー、グループ、またはサービス プリンシパルにして、「メンバーを選択する」から先ほど作成したEntraIDのアプリケーションを選択します。選択できたら「レビューと割り当て」を押下します。

EntraIDのアプリにロールを割り当てる

Cognitive Service ユーザーに追加されていればEntraIDの設定は完了です。

Cognitive Service ユーザーにEntraIDのアプリが追加されていれば設定完了

Azure OpenAI設定

Azure AI Foundryに移動して、共有リソースのデプロイを開きます。

モデルのデプロイを押下して「基本モデルをデプロイする」を選択します。

モデルのデプロイ

Lightspeedに連携させるLLMのモデルを選択します。

LLMモデル選択

デプロイ名や、カスタマイズから1分あたりのトークン数の制限を設定します。制限が低すぎるとLightspeedの返答が長すぎる場合に返答しないことがあるので注意してください。

デプロイ設定

トークン数の制限設定

デプロイが完了したら、モデルの詳細画面を開き、「プレイグラウンドで開く」を押下します。

モデルの詳細画面

プレイグラウンドが開くので、コードの表示を押下すると「https://<AzureOpenAIのリソース名>.openai.azure.com/」というエンドポイントが確認できるので、これをメモします。以上でAzure Open AIの設定は完了です。

チャットプレイグラウンドの画面。デプロイしたLLMにテキストを送信できる。

サンプルコードからエンドポイントをメモする

OpenShift設定

OpenShift Lightspeed オペレータインストール

OperetorHubから「Lightspeed」と検索してOpenShift Lightspeed Operatorをインストールします。

OperatorHubからOpenShift Lightspeedを検索

OpenShift LightspeedのOperator情報

インストール時の設定

OpenShift Lightspeed設定

最初にAzure Open AIの認証情報を持つシークレットを作成します。OpenShiftコンソール画面の右上の「+」を押下して、以下のyamlを記入して作成を押下します。クライアントID、クライアントシークレット、テナントIDはメモしたEntraIDのそれぞれの値をbase64形式にエンコードした値を入力します。

apiVersion: v1
data:
  client_id: <base64にエンコードしたクライアントID>
  client_secret: <base64にエンコードしたクライアントシークレット>
  tenant_id: <base64にエンコードしたテナントID>
kind: Secret
metadata:
  name: azure-api-keys
  namespace: openshift-lightspeed
type: Opaque

Azure OpenAIの認証情報を持つシークレットを作成。base64形式にエンコードすることに注意。

次にOpenShift LightspeedのカスタムリソースであるOLSConfigを作成します。OpenShiftコンソール画面の右上の「+」を押下して、以下のyamlを記入して作成を押下します。デプロイ名は、Azure Open AIでモデルをデプロイした際に設定した名前を入力してください。モデル名はデプロイした元のモデルの名前を入力してください。モデルエンドポイントは、メモしたモデルのエンドポイントを入力してください。

apiVersion: ols.openshift.io/v1alpha1
kind: OLSConfig
metadata:
  name: cluster
spec:
  llm:
    providers:
      - credentialsSecretRef:
          name: azure-api-keys
        deploymentName: <デプロイ名>
        models:
          - name: <モデル名>
        name: myAzure
        type: azure_openai
        url: <モデルエンドポイント>
  ols:
    defaultModel: <モデル名>
    defaultProvider: myAzure

OpenShift Lightspeedのカスタムリソース作成

作成してしばらくすると、右下のアイコンを押下したらチャットが表示されます。これでOpenShift Lightspeedが使えるようになりました。

OpenShift Lightspeedのチャット画面。右下のアイコンをクリックすると表示される。

OpenShift Lightspeed動作確認

設定が完了できたので「あなたは誰ですか?」と質問してみます。

OpenShift Lightspeedの応答

このようにAIチャットボットが質問に対して回答してくれます。Lightspeedの様々な使い方は次回のブログをご覧ください。

注意事項

注意事項として次のドキュメントを参照してください。

https://docs.redhat.com/ja/documentation/red_hat_openshift_lightspeed/1.0tp1/html/about/ols-about-data-use

OpenShift Lightspeedは2025年1月23日現在テクノロジープレビューで、チャットメッセージやフィードバックなどを収集しています。その中にはOpenShiftクラスターやリソースに関する機密情報が含まれている可能性があります。そこで注意するべき点を以下に列挙します:

  1. フィルタリングと編集の制限:テクノロジープレビューリリースにはLLMに提供する情報をフィルター処理または編集する機能が制限されています。LLMプロバイダーへの送信を希望しない情報は、OpenShift Lightspeedに入力しないでください。
  2. データ使用契約:OpenShift Lightspeedを使用することにより、ユーザーは、LLMプロバイダーに送信するすべてのメッセージをRed Hatがあらゆる目的で使用することに同意します。
  3. トランスクリプトの収集:ユーザークエリ、LLMプロバイダーに送信されたメッセージ、LLMの応答を含むすべてのトランススクリプトが一時的に記録され、2時間ごとにRed Hatに送信されます。
  4. フィードバックの収集:ユーザーがフィードバックを送信するとそれに関するユーザーが送信した情報とLLMプロバイダーが応答した情報が記録され、Red Hatに送信されます。
  5. データのセキュリティとアクセス:トランスクリプトとフィードバックはセキュリティポリシーとアクセス制限に従って、Red Hat Insightシステムのバックエンドを使用して処理されます。
  6. データ削除リクエスト:ユーザーはテクノロジープレビュー期間の終了時にRed Hatにメールを送信してデータの削除をリクエストすることができます。

 

おわりに

以上の設定により、OpenShift Webコンソール上でAIアシスタントチャットボットが利用できるようになりました。まだテクノロジープレビューですが、正式版が出た際には、ぜひ導入してみてOpenShiftの利用に役立ててください。

参考

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です