OpenShift AIとOpenShift Lightspeedを連携してみた

はじめに

こんにちはサイオステクノロジーの小野です。以前の記事で、Azure OpenAIのLLMをLightspeedと連携する方法について解説しました。今回はOpenShift AIにデプロイしたLLMをLightspeedと連携させる方法について解説します。

OpenShift AIとOpenShift Lightspeed連携

OpenShift Lightspeeedを利用する上で、OpenShift AIのようなローカル環境にデプロイしたLLMと連携する場合と、Azure OpenAIのようなクラウド環境にデプロイされているLLMと連携する場合で次のような差異があります。

  • ローカル環境LLM
    • メリット
      • 公開LLMを利用することができるので幅広いモデルを選択することが可能です。また、ローカル環境にデプロイできるので、LLMに入力した情報が流出する心配がなくなります。リクエスト数の制限がないので何回でも質問ができます。
    • デメリット
      • 公開LLMを一からデプロイする必要があるので手間がかかります。また、ローカルでLLMを動かすので、計算資源を用意する必要があります。
  • クラウド環境LLM
    • メリット
      • 高性能なLLMを簡単にデプロイできます。クラウド上で動作するので計算資源は用意しなくて済みます。
    • デメリット
      • LLMを提供しているプロバイダによっては入力した情報の取り扱いについて気を付けなければなりません。また、リクエスト数や質問の長さによって従量課金となる場合があります。

OpenShift AIとOpenShift Lightspeeedを連携することによってローカルな環境でもOpenShiftに関するAIチャットアシスタント機能を利用することが可能です。

構築設定

今回はOpenShift AIにデプロイしたLLM(Mistral-7b-instruct-v0.3)とOpenShift Lightspeedを連携します。

OpenShift AIにデプロイしたLLMのエンドポイントは外部公開用と内部公開用の2種類ありますが、Lightspeedとの連携上、外部公開用のエンドポイントを利用します。

前提条件

  • OpenShift AI構築済み
  • Lightspeed Operatorインストール済み
  • gpuインスタンス:g6.xlarge
  • S3にLLMデータ保存済み
  • OpenShift クラスタにサーバ証明書設定済み

OpenShift AI設定

OpenShift AIのLLMデプロイについては以前の記事を参考にしてください。

OpenShift AIにLLMをデプロイしてみた

今回はMistral-7b-instruct-v0.3というLLMモデルをデプロイします。

モデルサービングの設定を行う際のモデル名をLightspeed連携に用いるのでメモしてください。

Model deployment nameをLightspeed設定に用いる

Lightspeed設定

Lighspeedの設定は以前の記事を参考にしてください

OpenShift Lightspeedを構築してみた

APIの認証情報をSecretとして作成します。<APIトークンの値>にはOpenShift AIにデプロイしたLLMのAPIトークンの値を入れて下さい。

apiVersion: v1
kind: Secret
metadata:
  name: openshift-ai-api-keys
  namespace: openshift-lightspeed
type: Opaque
stringData:
  apitoken: <APIトークンの値>

LightspeedのCRは以下のように設定します。<モデル名>にはOpenShift AIにデプロイしたLLMのモデル名を入力してください。デプロイした大元のモデル名ではないので注意してください(画像の例だと、〇test-mistral, ×Mistral-7b-instruct-v0.3)。<APIエンドポイント>にはデプロイしたLLMのExternalの方のエンドポイントを入力してください。

apiVersion: ols.openshift.io/v1alpha1
kind: OLSConfig
metadata:
  name: cluster
spec:
  llm:
    providers:
    - credentialsSecretRef:
        name: openshift-ai-api-keys
      models:
      - name: <モデル名>
      name: red_hat_openshift_ai
      type: rhoai_vllm
      url: <APIエンドポイント>/v1
  ols:
    defaultProvider: red_hat_openshift_ai
    defaultModel: <モデル名>

動作確認

Lightspeeedの設定が完了した後、挨拶してみます。すると以下のように、返答してくれます。

OpenShift AIのLLMと連携したLightspeedがチャットに応答する

終わりに

このようにOpenShift AIとOpenShift Lightspeeedを連携することで、任意のLLMを用いたAIチャットアシスタント機能を利用できます。また、ローカル環境のLLMを利用しているので、非接続環境でもAIチャットアシスタント機能を利用できます。

参考

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

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

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

コメントを残す

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