Ansible Lightspeed の始め方

皆さんこんにちは、Red Hat ソリューションアーキテクトの岡野です。2024 年が始まりましたね。今年もたくさんの Ansible Automation Platform 関連の情報をお届けできればと考えています。是非お付き合いください。

さて、昨年末こちらで予告させていただいた通り、まずは、Ansible Lightspeed のお試し方法についてご紹介したいと思います。実は昨年の12月にパートナー様向けに Ansible Automation Platform 最新情報に関するセミナーを開催したのですが、その際も Ansible Lightspeed は大変引き合いが強く、

『すぐに試したいのでやり方教えてください!!』

という声をたくさんいただきましたので、その声にお応えすべく。

ただし、一点、初めにお断りしておきます。こちらに記載の通り、評価環境構築に関してはよりスマートな方法が2024年初頭(ということなのでもうすぐ)提供されるとのことです。お急ぎでない場合はそちらをお待ちいただくのも良いかもしれません。

ただ、私のところにも社内外から構築方法について多くの問い合わせをいただいているのと、また、そもそもIBM クラウド独特の言葉の意味がわからず、私自身結構苦労しましたので急ぎ確認したい方が同じ轍を踏まないために。(^^)

では早速。

Ansible Lightspeed の環境構築方法

評価版の利用

製品版の Ansible Lightspeed を利用する場合、以下2つを購入する必要があります。このそれぞれに評価版(無償枠)が提供されていますのでこちらを利用します。

  • Ansible Automation Platform (AAP)
    以下から評価版のサブスクリプションを入手します。
    www.redhat.com

  • IBM watsonx Code Assistant for Red Hat Ansible Lightspeed
    IBM クラウドに登録し、無償利用枠$200を利用します cloud.ibm.com

※ IBM クラウドの無償利用枠は $200までです。Lightspeed の場合 1か月分となりますので、テスト利用が終了したらデータの削除等対応ください。放置すると請求が発生します。また、アカウントの削除は AWS などと異なり、ケースによる対応が必要で結構手間がかかります。アカウント新規作成の際は、その点ご了承の上ご利用ください。

もちろん、既にAAPのサブスクリプションを所有している方、IBM クラウドの既存ユーザーの方はそちらを利用することも可能です。今回は入手した評価版/無償枠を利用して環境構築を行っていきます。

1. IBM クラウドでの作業

1-1. サービス ID と watsonx Code Assistant (WCA) キーの作成

まずは、Ansible Lightspeed が WCA にアクセスするための ID とアクセスキーを作成します。こちら(IBM Cloud内)から、名前(ここでは "watsonx Code Assistant user")を入力してサービス ID を作成します。

次に、作成した ID 内のタブ『API キー』を開き、APIキーの名前を入力し作成をクリックすると、APIキーのコピーとダウンロードを促す画面が表示されます。この画面は閉じると2度とキーの取得ができませんので、クリップボードへのコピー、およびダウンロードしておきます。コピーした APIキーは手順 2-1 の登録の際に利用します。

1-2. watsonx Code Assistant for Ansible Lightspeed モデルのデプロイメント

 Ansible Lightspeed で利用する AI モデルをデプロイします。
こちらから、『watsonx Code Assistant』を検索し、『IBM watsonx Code Assistant』をクリックします。以下のスクリーンキャプチャーを参考に、『IBM watsonx Code Assistant for Red Hat Ansible Lightspeed Essentials』を選択し、同意にチェックの上作成をクリック。遷移した画面で『10 user』となっていることを確認し 『Launch watson Code Assistant』 をクリックします。

しばらくすると以下のような画面が表示されます。こちらを順に実行していきます。右にある矢印は各設定を行うためのリンクです。一番上の手順は既に先の手順で設定が完了しているサービスID及び API キーの作成です。構築済みですので一度矢印をクリックし、何もせずこちらの画面に戻ります。

次にデプロイメント・スペースの作成の矢印をクリックします。デプロイメントスペース作成画面で『名前』を入力し、『コードアシスタントサービス』をプルダウンで選択した上で、『作成』をクリック。完了画面が出て作成が完了します。

デプロイメント・スペースの作成が完了すると、ベース・モデル ID が割り振られます。このベース・モデルIDは、手順2で利用します。以下赤枠の中に値が入力されていることを確認の上、『サービスIDをスペースコラボレーターとして追加する』手順に進みます。矢印をクリックします。

『watsonx Code Assistant user』 にチェックを入れます。

これで IBM クラウド側の設定は完了です。以下参考に、矢印をクリックして手順 2 Ansible Lightspeed 管理ポータルでの設定に進みます。

2. Ansible Lightspeed 管理ポータルでの作業

2-1. WCA キーとベース・モデルの ID の登録

Ansible Lightspeed 管理ポータルが表示されていると思います。もし表示されてない場合は、こちらをクリックください。IBM Cloud API Key と Model ID を入力する画面となりますので、手順 1-1、1-2でそれぞれ作成した WCA キーとベース・モデルID をそれぞれコピー&ペーストします。

2-2. VSCode Extension のインストール

※Ansible Lightspeed は VS Code の拡張機能として動作します。まだ VS Code をインストールしていない場合はインストールの上、以下実施ください。逆に、既に VS Code や Extension をインストールしている場合は、バージョンに注意してください。Ansible Lightspeed でサポートされるバージョンは以下の通りです。

・VS Code version 1.70.1 or later
・Ansible extension for VS Code version 2.8 or later

VS Code の Ansible Exension をインストールします。

さらに、以下参考に、拡張機能で、Lightspeed に関する設定(2か所)にチェックを入れて Lightspeed を有効化。さらに Ansible アイコンをクリックしてConnect をクリックします。

この後、4つほど確認画面が表示されますが、『Allow』→『Open』→『Authorize』→『Open』など、クリックして進めてください。
ブラウザが立ち上がって、『Red Hat Ansible Lightspeed with IBM watsonx Code Assistant』の画面が表示されればこの手順は完了です。

3.Hybrid Cloud Console での作業

Ansible Lightspeed を利用するには、AAP のサブスクリプションが必要になります。この作業は AAP のサブスクリプションを持つユーザーに対して Ansible Lightspeed を利用する権限(シートライセンス)を与える設定です。こちらから Hybrid Cloud Console 上で、Assign users をクリックの上、必要なユーザーを登録します。

再度こちらをクリックしてみてください。ログイン後に『licensed user』と表記されていればこの設定が完了しています。

Ansible Lightspeed で Playbook を作成!

早速簡単なPlaybook を作成してみましょう。VS Code 上で、新しいファイルを拡張子 『yaml』 で作成・保存します。実は拡張子は何でも良いのですが、関連付けもできるので後々便利です。下の『yaml』をクリック、さらに、言語モードとして『Ansible』を選択します(今後のため関連付けを行っておくと便利です)。

Extension に関するエラーが出るかもしれませんが、下に 『Lightspeed (licenced)』 と出ていれば気にしなくても大丈夫です。エラーが気になるようであれば、Ansible-lint 関連や、Ansible › Validation: Enabled のチェックを外すとエラーは出なくなると思います。

では Lightspeed に Task を作成してもらいましょう。試しに以下のように書いて、『・・・即座に開く』の後ろで改行してみてください。複数にまたがる推奨のタスクが出てくれば成功です。確定は『Tab』キー、拒否は『Esc』キーです。

『#』と『&』が意味を持ちますので重要です。

---
- name: my first lightsppd yml
  hosts: all

  tasks:
      # 最新バージョンの httpd をインストール & httpd サービスの有効化と開始 & 80/443 ポートをFireall で恒久的に即座に開く

推奨がどこから出てきたのか、その出所は、右上のパネルの切り替えをクリックし、出てきたウィンドウで 『ANSIBLE』をクリックすることで確認することが出来ます。

まとめ

いかがでしたでしょうか?

生成 AI の利用については色々と議論が始まったばかりですが、その課題の一つが、

『得られたデータがどこから来たのか?』

ということだと思います。先日も New York Times が OpenAI に対し著作権侵害...などという記事が出ていて、個人的に、ありがちな事だなぁと感じていました。

この点、Ansible Lightspeed で利用される『watsonx Code Assistant for Ansible Lightspeed』は、 Ansible Galaxy コンテンツとその他のオープン・データ・ソースおよび、Red HatとIBMの自動化に関する専門知識が注入された、Ansible固有の「トレーニング」データ・セットとなっているため、生成されたコードの質が高く、さらに、上記の通り、生成されたコードがどこから来たのか、そのソースを確認することもできることから、コードの脆弱性や不意のライセンス違反などを気にすることなく、安心して利用することが可能となっています。

Ansible Lightspeed は今後も機能拡張を続けていきます。今回の機能提供はその第一弾、『ほんのさわりの部分』と考えていただいても良いと思います。Ansible Lightspeed に関するさらに詳細なご説明をご希望の方、また、機能拡張のロードマップを教えてほしいなどございましたら弊社担当までお問い合わせください。

関連ドキュメントのリンク

access.redhat.com

cloud.ibm.com

access.redhat.com

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。