はじめに
こんにちはサイオステクノロジーの小野です。今回は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の構成図は以下のようになります:
- 最初にユーザーがLightspeedに対して質問します。
- LightspeedはLLMプロバイダーが提供しているLLMに対してAPIリクエストを送ります。
- LLMがリクエストから回答を生成し、LLMプロバイダーはLightspeedにそのレスポンスを送ります。
- 最後に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の「アプリの登録」を開きます。新規登録を押してアプリケーションを登録します。
アプリケーションが作成されると以下のような画面に遷移するので、クライアントIDとテナントIDをメモします。
「証明書とシークレット」を開いて新しいクライアントシークレットを作成します。作成したらシークレットの値をメモします。
次に今回連携させるAzure Open AIのリソースに移動して、「アクセス制御」から追加を押下してロールの割り当ての追加をします。
職務ロールのCognitive Services ユーザーを選択して「次へ」を押下します。
メンバーはアクセスの割り当て先をユーザー、グループ、またはサービス プリンシパルにして、「メンバーを選択する」から先ほど作成したEntraIDのアプリケーションを選択します。選択できたら「レビューと割り当て」を押下します。
Cognitive Service ユーザーに追加されていればEntraIDの設定は完了です。
Azure OpenAI設定
Azure AI Foundryに移動して、共有リソースのデプロイを開きます。
モデルのデプロイを押下して「基本モデルをデプロイする」を選択します。
Lightspeedに連携させるLLMのモデルを選択します。
デプロイ名や、カスタマイズから1分あたりのトークン数の制限を設定します。制限が低すぎるとLightspeedの返答が長すぎる場合に返答しないことがあるので注意してください。
デプロイが完了したら、モデルの詳細画面を開き、「プレイグラウンドで開く」を押下します。
プレイグラウンドが開くので、コードの表示を押下すると「https://<AzureOpenAIのリソース名>.openai.azure.com/」というエンドポイントが確認できるので、これをメモします。以上でAzure Open AIの設定は完了です。
OpenShift設定
OpenShift Lightspeed オペレータインストール
OperetorHubから「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
次に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動作確認
設定が完了できたので「あなたは誰ですか?」と質問してみます。
このようにAIチャットボットが質問に対して回答してくれます。Lightspeedの様々な使い方は次回のブログをご覧ください。
注意事項
注意事項として次のドキュメントを参照してください。
OpenShift Lightspeedは2025年1月23日現在テクノロジープレビューで、チャットメッセージやフィードバックなどを収集しています。その中にはOpenShiftクラスターやリソースに関する機密情報が含まれている可能性があります。そこで注意するべき点を以下に列挙します:
- フィルタリングと編集の制限:テクノロジープレビューリリースにはLLMに提供する情報をフィルター処理または編集する機能が制限されています。LLMプロバイダーへの送信を希望しない情報は、OpenShift Lightspeedに入力しないでください。
- データ使用契約:OpenShift Lightspeedを使用することにより、ユーザーは、LLMプロバイダーに送信するすべてのメッセージをRed Hatがあらゆる目的で使用することに同意します。
- トランスクリプトの収集:ユーザークエリ、LLMプロバイダーに送信されたメッセージ、LLMの応答を含むすべてのトランススクリプトが一時的に記録され、2時間ごとにRed Hatに送信されます。
- フィードバックの収集:ユーザーがフィードバックを送信するとそれに関するユーザーが送信した情報とLLMプロバイダーが応答した情報が記録され、Red Hatに送信されます。
- データのセキュリティとアクセス:トランスクリプトとフィードバックはセキュリティポリシーとアクセス制限に従って、Red Hat Insightシステムのバックエンドを使用して処理されます。
- データ削除リクエスト:ユーザーはテクノロジープレビュー期間の終了時にRed Hatにメールを送信してデータの削除をリクエストすることができます。
おわりに
以上の設定により、OpenShift Webコンソール上でAIアシスタントチャットボットが利用できるようになりました。まだテクノロジープレビューですが、正式版が出た際には、ぜひ導入してみてOpenShiftの利用に役立ててください。