Red Hat Ansible Lightspeed with IBM watsonx Code Assistant ユーザーガイド


Red Hat Ansible Lightspeed with IBM watsonx Code Assistant 2.x_latest

Red Hat Ansible Lightspeed with IBM watsonx Code Assistan の使用方法の説明

Red Hat Customer Content Services

概要

このガイドでは、Red Hat Ansible Lightspeed with IBM watsonx Code Assistant を使用する方法を説明します。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 Red Hat Ansible Lightspeed の概要

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant、その利点、主な機能、プロセス、IBM watsonx Code Assistant モデルをトレーニングするために収集されたデータを説明します。

1.1. Red Hat Ansible Lightspeed について

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant は、自動化チームが Ansible コンテンツをより効率的に作成、導入、保守できるようにする生成 AI サービスです。自然言語プロンプトを使用して、Ansible のベストプラクティスに基づいて自動化タスクで推奨されるコードを生成します。

Red Hat Ansible Lightspeed は、生成 AI を Ansible Automation Platform に統合できるようにするクラウドサービスです。このドキュメントでは、Red Hat Ansible Lightspeed with IBM watsonx Code Assistant の統合を具体的に説明します。

Red Hat Ansible Lightspeed は、Galaxy、GitHub、Ansible Certified and Validated コンテンツを含む Ansible エコシステム全体の対象分野の専門知識に基づいてトレーニングされた IBM watsonx Code Assistant モデルを使用します。簡単に使用できるように、Red Hat Ansible Lightspeed は既存の Ansible 開発者ワークフローと統合されています。たとえば、IBM watsonx Code Assistant モデルは、既存の Git リポジトリー (パブリックとプライベートの両方) を使用してトレーニングできます。Ansible VS Code 拡張機能を介して、VS Code の Lightspeed コンテンツの提案を利用することもできます。

1.1.1. Red Hat Ansible Lightspeed with IBM watsonx Code Assistant へのアクセス

  • Red Hat Ansible Lightspeed クラウドサービス

    Red Hat Ansible Lightspeed クラウドサービスを使用するには、次の いずれか の要件を満している必要があります。

    • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを組織で所有している。
    • Red Hat Ansible Automation Platform の試用版または有料サブスクリプションと、Red Hat Ansible Lightspeed のトライアルアカウントを組織で所有している。

      注記

      Red Hat Ansible Lightspeed のトライアルアカウントに、IBM watsonx Code Assistant のサブスクリプションは必要ありません。

  • Red Hat Ansible Lightspeed のオンプレミスデプロイメント

    Red Hat Ansible Lightspeed のオンプレミスデプロイメントを使用するには、組織に以下のサブスクリプションが必要です。

    • Red Hat Ansible Automation Platform の試用版または有料サブスクリプション
    • Cloud Pak for Data 上の Red Hat Ansible Lightspeed 向け IBM watsonx Code Assistant のインストール

1.1.2. Red Hat Ansible Lightspeed を使用する利点

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant には、以下の利点があります。

  • Ansible 開発者のオンボーディング学習期間を短縮する

    YAML 構文の基本的な理解があれば、Ansible 開発者は英語の自然言語プロンプトを使用して自動化の目標を説明できます。Red Hat Ansible Lightspeed は、自動化の目標をより効率的に達成するために役立つ Ansible のコードの推奨事項を提供します。このコンテンツとベストプラクティスの提案を組み合わせることで、習得にかかる時間が短縮され、新しい Ansible ユーザーにとってよりスムーズなオンボーディングエクスペリエンスが提供されます。

    たとえば、マルチタスクコードの推奨事項を取得するには、Install postgresql-server & run postgresql-setup command というプロンプトを入力します。Ansible Lightspeed サービスは、テキストの読み取り、IBM watsonx Code Assistant との対話、コードの推奨事項生成、PostgreSQL サーバーのインストール、PostgreSQL データベースを設定するマルチタスクの自動化を行います。その後、コードの推奨事項を表示して受け入れ、Ansible YAML ファイルにタスクを作成できます。

  • 高品質のコンテンツ作成により生産性を向上する

    Red Hat Ansible Lightspeed は、Ansible のベストプラクティスに準拠した推奨の自動化コードを提供し、IBM watsonx Code Assistant は、組織の既存の Ansible コンテンツに基づいて推奨コンテンツの精度を向上させるモデルの微調整機能を提供します。したがって、AI で生成されたコードの推奨事項は、より正確で信頼性が高く、既存の自動化開発ワークフローと統合されています。

  • AI が生成したコードの推奨事項により信頼を拡大する

    AI 生成のコードの推奨事項を使用すると、受け入れられている Ansible のベストプラクティスや重要なデータ保護手段に準拠する自動化コードベースで、信頼性を向上できます。

1.2. Red Hat Ansible Lightspeed の主な機能

Red Hat Ansible Lightspeed は、以下の主要な機能を提供します。

  • Ansible 固有の IBM watsonx Code Assistant モデル

    Red Hat Ansible Lightspeed with IBM watsonx Code Assistant は、組織向けにカスタマイズされた、Ansible 特有の IBM watsonx Granite モデルを使用します。このモデルは、IBM が提供、管理、保守しています。

  • モデルのカスタマイズ

    組織管理者は、組織の既存の Ansible コンテンツに基づいてトレーニングされた、微調整されたカスタムモデルを作成して使用できるようになりました。この機能を使用すると、組織の自動化パターンに合わせてモデルを調整し、コード推奨エクスペリエンスを向上させることができます。

    組織に合わせて複数のカスタムモデルを設定できます。たとえば、企業の IT 自動化チーム用にカスタムモデルを作成し、エンジニアリングチームのインフラストラクチャー用に別のモデルを作成できます。カスタムモデルを設定して、組織内のすべての Ansible ユーザーまたは一部の Ansible ユーザーに提供することもできます。

  • Red Hat Ansible Lightspeed クラウドサービスとオンプレミスデプロイメント

    Red Hat Ansible Lightspeed は、クラウドサービスとしてもオンプレミスデプロイメントとしても利用できます。Red Hat Ansible Lightspeed オンプレミスデプロイメントにより、Red Hat Ansible Automation Platform のお客様はデータをより細かく制御できるようになり、エンタープライズセキュリティーポリシーへの準拠に対応できるようになります。たとえば、データプライバシー要件やエアギャップ要件により高い機密性が求められる業界の組織は、Red Hat Ansible Lightspeed と、IBM watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data の両方のオンプレミスデプロイメントを使用できます。Red Hat Ansible Lightspeed オンプレミスデプロイメントは、Red Hat Ansible Automation Platform バージョン 2.4 以降でサポートされています。

  • Red Hat Ansible Lightspeed のトライアル

    既存の Ansible ユーザーは、Red Hat Ansible Lightspeed クラウドサービスの 90 日間無料トライアルを開始できます。トライアルアカウントを使用すると、推奨されるシングルタスクおよびマルチタスクを作成したり、Playbook を生成したり、Playbook の説明を表示したりできます。

    Red Hat Ansible Lightspeed のトライアルを開始するには、Red Hat Ansible Automation Platform の試用版または有料サブスクリプションが必要です。ただし、IBM watsonx Code Assistant の試用版または有料サブスクリプションは必要ありません。詳細は、Red Hat Ansible Lightspeed のトライアルの開始 を参照してください。

  • Playbook およびタスクの生成

    これには以下の機能が含まれます。

    • Playbook の生成と説明

      Ansible VS Code 拡張機能を使用すると、英語の自然言語インターフェイスを使用して Ansible Playbook を作成できます。Red Hat Ansible Lightspeed with IBM watsonx Code Assistant は、自然言語のプロンプトを読み取り、ユーザーの目的に基づいて Playbook の推奨事項全体を生成します。新しい Playbook や既存の Playbook の説明を表示することもできます。Playbook の説明は、Playbook または Playbook 内のタスクの実行内容と、その効果が得られる状況を説明しています。

    • シングルタスクとマルチタスクの生成

      自然言語プロンプトを使用すると、Ansible タスクファイルおよび Playbook の推奨されるシングルタスクまたはマルチタスクを生成できます。推奨されるマルチタスクコードを要求するには、YAML ファイルコメントにアンパサンド (&) 記号で区切られた一連の自然言語タスクプロンプトを入力します。

      現在、Red Hat Ansible Lightspeed は英語のユーザープロンプトのみをサポートしています。ただし、IBM watsonx Code Assistant モデルのトレーニングに使用されたトレーニングデータに英語以外の言語が含まれている場合があります。このようなシナリオでは、モデルは同じ英語以外の言語で行われたプロンプトに対してコードの推奨事項を生成できますが、生成されたコードの推奨事項は正確である場合もそうでない場合もあります。

  • コンテンツソースの一致

    Red Hat Ansible Lightspeed は、生成された推奨コードごとに、候補となるソース、コンテンツ作成者、関連するライセンスなどの詳細を含む、一致するコンテンツソースをリストします。このデータを使用すると、コードの推奨事項の生成に使用されるトレーニングデータソースの洞察を得ることができます。

  • 後処理機能

    Red Hat Ansible Lightspeed は、IBM watsonx Code Assistant を拡張する処理後の機能を提供するため、コードの推奨事項の品質と精度が向上します。

  • コンテンツのメンテナンスとモダナイゼーション

    Ansible コードボットは、Git リポジトリーを通じて既存のコンテンツコレクション、ロール、Playbook をスキャンし、ベストプラクティスや品質向上に関する推奨事項が利用できるたびにプルリクエストを前もって作成します。ボットはプルリクエストをリポジトリーに自動的に送信し、コンテンツに対する推奨される変更をリポジトリー所有者に事前に通知します。

  • 管理ダッシュボードでのテレメトリーデータ収集

    Red Hat Ansible Lightspeed は、組織のユーザーが Ansible Lightspeed サービスをどのように使用しているかを把握できる管理ダッシュボードのテレメトリーデータを収集し、管理ダッシュボードにメトリクスを表示するようになりました。管理ダッシュボードのテレメトリーを収集および管理する必要がなくなった場合は、組織に対して無効にすることができます。

1.3. Red Hat Ansible Lightspeed with IBM watsonx Code Assistant の使用

1.3.1. 前提条件

Red Hat Ansible Lightspeed クラウドサービスを使用するには、次の いずれか の要件を満している必要があります。

  • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを組織で所有している。
  • Red Hat Ansible Automation Platform の試用版または有料サブスクリプションと、Red Hat Ansible Lightspeed のトライアルアカウントを組織で所有している。

    注記

    Red Hat Ansible Lightspeed のトライアルアカウントに、IBM watsonx Code Assistant のサブスクリプションは必要ありません。

Red Hat Ansible Lightspeed のオンプレミスデプロイメントを使用するには、組織に以下のサブスクリプションが必要です。

  • Red Hat Ansible Automation Platform の試用版または有料サブスクリプション
  • Cloud Pak for Data 上の Red Hat Ansible Lightspeed 向け IBM watsonx Code Assistant のインストール

また、次のコンポーネントをインストールする必要があります。

  • VS Code バージョン 1.70.1 以降
  • VS Code バージョン 2.8 以降の Ansible 拡張機能

1.3.2. 接続の要件

推奨されるコードを生成するには、Visual Studio (VS) Code エディターの Ansible Lightspeed サービスから次のアウトバウンドドメインにアクセスできる必要があります。

送信接続は TCP プロトコルポート 443 で暗号化されます。

1.4. IBM watsonx Code Assistant モデルを登録するために収集されたデータ

1.4.1. モデル

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant は、組織向けにカスタマイズされた、Ansible 特有の IBM watsonx Granite モデルを使用します。これらのモデルは、IBM が提供、管理、管理します。

1.4.2. データソース

IBM watsonx Code Assistant モデルは、Ansible Galaxy の Ansible コンテンツ、パブリック Git リポジトリーのデータ、および Red Hat Ansible のサブジェクトマターエキスパート (SME) のサンプルでトレーニングされます。

コンテンツを Ansible Galaxy に公開し、Ansible Galaxy コンテンツがモデルのトレーニングに使用されるのを制限する場合は、Ansible Galaxy 名前空間設定で Ansible Galaxy データの共有をオプトアウトできます。

1.4.3. データテレメトリー

Red Hat Ansible Lightspeed は、デフォルトで次のテレメトリーデータを収集します。

  • 運用テレメトリーデータ
  • 管理者ダッシュボードのテレメトリーデータ
注記

Red Hat Ansible Lightspeed オンプレミスデプロイメントでは、テレメトリーデータは収集されません。

1.4.4. 管理者ダッシュボードのテレメトリーデータ収集の通知

この Red Hat オファリングの使用に関連して、Red Hat はソフトウェアの使用に関するテレメトリーデータを収集する場合があります。このデータにより、Red Hat はソフトウェアを監視し、ユーザーに影響を与える問題の特定、トラブルシューティング、対応など、Red Hat の提供とサポートを改善できます。このデータは、Red Hat サブスクリプションのエンタイトルメントを追跡し、今後の Red Hat 購入プログラムを利用できるように、使用される場合があります。また、サービスへの影響を最小限に抑えるためのアップグレードの実装を Red Hat が支援できる場合もあります。このデータは、ユーザーエクスペリエンスを向上させるために Red Hat 内部で共有される可能性があります。Red Hat ソフトウェアを評価している場合は、このデータにより、お客様がサポートが必要かどうかを Red Hat が判断できます。

1.4.4.1. Red Hat はどのような情報を収集しますか?

ソフトウェア内のツールがさまざまなメトリクスを監視し、その情報が Red Hat に送信されます。以下のメトリクスが監視されます。

  • 運用テレメトリーデータ

    これは、Ansible Lightspeed サービスの操作とトラブルシューティングに必要なデータです。詳細は、エンタープライズ契約を参照してください。運用上のテレメトリーデータの収集は無効化できません。

    これには次のデータが含まれます。

    • ログインしている組織 (組織 ID、アカウント番号)
    • 接続されている大規模言語モデル (複数のモデル)
  • 管理者ダッシュボードのテレメトリーデータ

    このデータは、組織のユーザーが Ansible Lightspeed サービスを使用する方法、管理者ダッシュボードにメトリクスを表示する方法に関する知見を提供します。

    これには次のデータが含まれます。

    • プロンプトとコンテンツの提案 (コンテンツの提案の受け入れまたは拒否を含む)
    • ユーザーの感情/フィードバック

      テレメトリーデータの収集と監視の必要がなくなった場合は、管理者ダッシュボードテレメトリーを無効にすることもできます。管理者ダッシュボードテレメトリーの詳細は、管理者ダッシュボードテレメトリーの表示と管理 を参照してください。

注記

Red Hat Ansible Lightspeed オンプレミスデプロイメントでは、テレメトリーデータは収集されません。

1.4.4.2. 個人データ

Red Hat は、意図的な個人情報の収集は行いません。誤って個人情報を受信したことが明らかになった場合、Red Hat はその情報を削除します。テレメトリーデータが個人データに該当する場合は、Red Hat プライバシーステートメント で Red Hat のプライバシー方針を確認してください。

1.4.4.2.1. 保持期間

Red Hat は、上記の目的で必要な期間、または法律で要求または許可されている期間に限り、テレメトリーデータを保持および保存します。

1.4.4.2.2. データセキュリティー

Red Hat は、テレメトリーデータを保護するために設計された技術的および組織的な対策を採用しています。Red Hat クラウドに保存されているデータは、可能な場合には暗号化によって保護されます。データもセグメント化されているため、組織を越えたアクセスはできません。

1.4.4.2.3. データ共有

Red Hat は、以下の目的で Red Hat のビジネスパートナーと、お客様を特定しない集約された形式でテレメトリーおよびデータを共有する場合があります。つまり、パートナーが市場およびお客様の Red Hat のオファリングの使用をより良く理解できるように支援することを目的とするか、それらのパートナーと共同でサポートしている製品の統合を効果的に行うことを目的としています。

1.4.4.2.4. サードパーティーのサービスプロバイダー

Red Hat は、テレメトリーデータの収集と保存を支援するために特定のサービスプロバイダーと連携する場合があります。

1.4.4.2.5. ユーザー制御/管理者ダッシュボードのテレメトリー収集の有効化と無効化

運用テレメトリーデータの収集を無効化できません。運用テレメトリーデータには、サービスの運用とトラブルシューティングに必要なデータのみが含まれます。ただし、管理者ダッシュボードのテレメトリーデータの収集を無効化できます。詳細は、管理者ダッシュボードのテレメトリーの無効化 を参照してください。

第2章 Red Hat Ansible Lightspeed のトライアルの開始

Red Hat Ansible Lightspeed クラウドサービスは、既存の Ansible ユーザーに対して 90 日間の無料トライアルを提供します。無料トライアルを開始するには、Red Hat Ansible Automation Platform の試用版または有料サブスクリプションが必要です。ただし、IBM watsonx Code Assistant の試用版または有料サブスクリプションは必要ありません。トライアルアカウントを使用すると、推奨されるシングルタスクおよびマルチタスクを作成したり、Playbook を生成したり、Playbook の説明を表示したりできます。

前提条件

手順

  1. VS Code アプリケーションを開きます。
  2. VS Code アクティビティーバーから、Ansible アイコンをクリックして左側のパネルを開きます。
  3. Ansible VS Code 拡張機能を設定して Red Hat Ansible Lightspeed が有効になっていることを確認します。手順は、Ansible VS Code 拡張機能の設定 を参照してください。
  4. Ansible Lightspeed ビューで Connect をクリックします。
  5. Red Hat アカウントのユーザー名とパスワードを入力します。
  6. Ansible Lightspeed ビューで、Start trial をクリックします。Ansible Lightspeed ポータルのログインページ が開きます。
  7. Ansible Lightspeed ポータルで、続行する前に IBM の利用規約に同意するためのチェックボックスをオンにします。

    Red Hat 製品、サービス、イベントに関する通知の受信を選択することもできます。マーケティングメールの受信が不要になった場合は、いつでも登録を解除できます。

  8. Start trial をクリックします。Red Hat Ansible Lightspeed のトライアルが開始します。
  9. トライアルアカウントの残り時間を確認します。

    1. VS Code アクティビティーバーから、Ansible アイコンをクリックします。
    2. Ansible Lightspeed ビューで、トライアルアカウントを使用してログインしていることを確認し、トライアルアカウントの有効期限を確認します。

第3章 組織の Red Hat Ansible Lightspeed のセットアップ

Red Hat カスタマーポータルの管理者は、IBM watsonx Code Assistant インスタンスに接続するように Red Hat Ansible Lightspeed を設定する必要があります。この章では、Red Hat Ansible Lightspeed クラウドサービスとオンプレミスデプロイメントの両方の設定を説明します。

3.1. 設定要件

3.1.1. ライセンス要件

  • Red Hat Ansible Lightspeed クラウドサービス

    Red Hat Ansible Lightspeed クラウドサービスを使用するには、次の いずれか の要件を満している必要があります。

    • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを組織で所有している。
    • Red Hat Ansible Automation Platform の試用版または有料サブスクリプションと、Red Hat Ansible Lightspeed のトライアルアカウントを組織で所有している。

      注記

      Red Hat Ansible Lightspeed のトライアルアカウントに、IBM watsonx Code Assistant のサブスクリプションは必要ありません。

  • Red Hat Ansible Lightspeed のオンプレミスデプロイメント

    Red Hat Ansible Lightspeed のオンプレミスデプロイメントを使用するには、組織に以下のサブスクリプションが必要です。

    • Red Hat Ansible Automation Platform の試用版または有料サブスクリプション
    • Cloud Pak for Data 上の Red Hat Ansible Lightspeed 向け IBM watsonx Code Assistant のインストール

3.1.2. セットアップ要件

Red Hat Ansible Lightspeed を組織用に設定するには、次の IBM watsonx Code Assistant 情報が必要です。

  • API キー

    一意の API キーにより、Red Hat Ansible Lightspeed から IBM watsonx Code Assistant へのすべてのリクエストを認証します。有効な Ansible Automation Platform サブスクリプションを持つ各 Red Hat 組織に、設定済みの API キーが必要です。認証された RH-SSO ユーザーが Red Hat Ansible Lightspeed でタスクリクエストを作成すると、ユーザーの Red Hat 組織に関連付けられた API キーを使用して、IBM watsonx Code Assistant へのリクエストが認証されます。

  • モデル ID

    一意のモデル ID により、IBM Cloud アカウント内の IBM watsonx Code Assistant モデルを識別します。Ansible Lightspeed 管理者ポータルで設定したモデル ID はデフォルトのモデルとして使用され、組織内のすべての Ansible Lightspeed ユーザーがアクセスできます。

重要

Red Hat Ansible Lightspeed を最初に設定するときに、API キーとモデル ID の両方を設定する必要があります。

3.2. Red Hat Ansible Lightspeed クラウドサービスのセットアップ

Red Hat カスタマーポータルの管理者は、IBM watsonx Code Assistant インスタンスに接続するように Red Hat Ansible Lightspeed クラウドサービスを設定する必要があります。

3.2.1. Ansible Lightspeed 管理者ポータルへのログイン

Ansible Lightspeed 管理者ポータルを使用して、Red Hat Ansible Lightspeed を IBM watsonx Code Assistant に接続します。

前提条件

  • 有効な Red Hat Ansible Automation Platform サブスクリプションを持つ、Red Hat カスタマーポータル組織に対する組織管理者権限を持っている。

手順

  1. Ansible Lightspeed portal に組織管理者としてログインします。
  2. Log inLog in with Red Hat をクリックします。
  3. Red Hat アカウントのユーザー名とパスワードを入力します。Ansible Lightspeed Service は、認証に Red Hat Single Sign-On (RH-SSO) を使用します。

    認証プロセスの一環として、Ansible Lightspeed Service は、組織にアクティブな Ansible Automation Platform サブスクリプションがあるかどうかを確認します。認証が成功すると、ユーザー名と割り当てられたユーザーロールとともにログイン画面が表示されます。

  4. ログイン画面で、Admin Portal をクリックします。

    Red Hat Ansible Lightspeed with IBM watsonx Code Assistant 管理者ポータルにリダイレクトされ、Red Hat Ansible Lightspeed を IBM watsonx Code Assistant インスタンスに接続できます。

3.2.2. Red Hat Ansible Lightspeed クラウドサービスの設定

次の手順を使用して、Red Hat Ansible Lightspeed クラウドサービスを設定します。

前提条件

  • Red Hat Ansible Lightspeed で使用する API キーとモデル ID を IBM watsonx Code Assistant から取得した。

    IBM watsonx Code Assistant から API キーとモデル ID を取得する方法は、IBM watsonx Code Assistant のドキュメント を参照してください。

手順

  1. Ansible Lightspeed portal に組織管理者としてログインします。
  2. ログイン画面で、Admin Portal をクリックします。
  3. IBM watsonx Code Assistant インスタンスの API キーを指定します。

    1. IBM Cloud API Key で、Add API key をクリックします。API キー を入力する画面が表示されます。
    2. API Key を入力します。
    3. オプション: API キーを検証するには、Test をクリックします。
    4. Save をクリックします。
  4. 使用するモデルのモデル ID を指定します。

    1. Model Settings をクリックします。
    2. Model IDAdd Model ID をクリックします。Model Id を入力する画面が表示されます。
    3. 組織のデフォルトモデルとして、前の手順で取得した Model ID を入力します。
    4. オプション: Test model ID をクリックしてモデル ID を検証します。
    5. Save をクリックします。

      API キーとモデル ID が正常に検証されると、Red Hat Ansible Lightspeed が IBM watsonx Code Assistant インスタンスに接続されます。

3.3. Red Hat Ansible Lightspeed オンプレミスデプロイメントのセットアップ

Red Hat Ansible Automation Platform の管理者は、Red Hat Ansible Lightspeed オンプレミスデプロイメントをセットアップし、それを IBM watsonx Code Assistant インスタンスに接続できます。オンプレミスデプロイメントを正常に完了したら、Ansible Visual Studio (VS) Code 拡張機能を使用して Ansible Lightspeed サービスの使用を開始できます。

以下の機能は、Red Hat Ansible Lightspeed オンプレミスデプロイメントではサポートされていません。

  • 管理者ダッシュボードでのテレメトリーデータの表示
注記

Red Hat Ansible Lightspeed オンプレミスデプロイメントは、Red Hat Ansible Automation Platform バージョン 2.4 以降でサポートされています。

3.3.1. 概要

このセクションでは、Red Hat Ansible Lightspeed オンプレミスデプロイメントのシステム要件、前提条件、およびセットアッププロセスを説明します。

3.3.1.1. システム要件

Red Hat Ansible Lightspeed オンプレミスデプロイメントをインストールして実行するには、システムが次の最小システム要件を満たしている必要があります。

要件最小要件

RAM

5 GB

CPU

1

ローカルディスク

40 GB

Red Hat Ansible Automation Platform のシステム要件の残りを確認するには、インストールの計画システム要件 セクションを参照してください。

注記

また、Cloud Pak for Data に IBM watsonx Code Assistant for Red Hat Ansible Lightspeed がインストールされている必要があります。Red Hat Ansible Lightspeed オンプレミスデプロイメントをセットアップするために使用できる基本モデルもインストールしてください。インストール情報は、IBM watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data のドキュメント を参照してください。

3.3.1.2. 前提条件
  • Red Hat OpenShift Container Platform 環境に Red Hat Ansible Automation Platform をインストールしている。
  • Red Hat Ansible Automation Platform の管理者権限を持っている。
  • Cloud Pak for Data に Red Hat Ansible Lightspeed 用の IBM watsonx Code Assistant がインストールされている。
  • お使いのシステムが、Red Hat Ansible Lightspeed オンプレミスデプロイメントをセットアップするための最小システム要件を満たしている。
  • IBM watsonx Code Assistant から API キーとモデル ID を取得した。

    IBM watsonx Code Assistant から API キーとモデル ID を取得する方法は、IBM watsonx Code Assistant のドキュメント を参照してください。IBM watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data のインストールは、watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data のドキュメント を参照してください。

  • Red Hat Ansible Automation Platform 用に設定された既存の外部 PostgreSQL データベースがある。または、Red Hat Ansible Lightspeed オンプレミスデプロイメントを設定するときに作成されたデータベースがある。
3.3.1.3. Red Hat Ansible Lightspeed オンプレミスデプロイメントを設定するプロセス

Red Hat Ansible Lightspeed オンプレミスデプロイメントをインストールして設定するには、次のタスクを実行します。

3.3.2. Red Hat Ansible Automation Platform Operator のインストール

この手順を使用して、Red Hat OpenShift Container Platform に Ansible Automation Platform Operator をインストールします。

前提条件

  • Automation Controller をインストールして設定している。

手順

  1. Red Hat OpenShift Container Platform に管理者としてログインします。
  2. namespace を作成します。

    1. AdministrationNamespaces に移動します。
    2. Create Namespace をクリックします。
    3. namespace の一意の名前を入力します。
    4. Create をクリックします。
  3. Operator をインストールします。

    1. OperatorsOperatorHub に移動します。
    2. Red Hat Ansible Automation Platform Operator をインストールする namespace を選択します。
    3. Ansible Automation Platform Operator を検索します。
    4. 検索結果から、Ansible Automation Platform (provided by Red Hat) タイルを選択します。
    5. Update Channel を選択します。チャネルとして stable-2.x または stable-2.x-cluster-scoped のいずれかを選択できます。
    6. 更新チャネルとして “stable-2.x” を選択した場合は、宛先 namespace を選択します。
    7. Install を選択します。Operator のインストールには数分かかります。
  4. View Operator をクリックすると、新しくインストールされた Red Hat Ansible Automation Platform Operator の詳細が表示されます。

3.3.3. OAuth アプリケーションの作成

この手順を使用して、Red Hat Ansible Lightspeed オンプレミスデプロイメント用の OAuth アプリケーションを作成します。

前提条件

  • Ansible Automation Controller の稼働中のインスタンスがある。

手順

  1. Automation Controller に管理者としてログインします。
  2. Administration で、ApplicationsAdd をクリックします。
  3. 以下の情報を入力します。

    1. Name: アプリケーションの一意の名前を指定します。
    2. Organization: 任意の組織を選択します。
    3. Authorization grant type: Authorization code を選択します。
    4. Redirect URIs: ひとまず一時的な URL を入力しておきます (例: https://temp/)。

      オンプレミスのデプロイメントが完了すると、正確な Red Hat Ansible Lightspeed アプリケーション URL が生成されます。デプロイメントが完了したら、生成された Red Hat Ansible Lightspeed アプリケーション URL を参照するように Redirect URI を変更する必要があります。詳細は、Redirect URIs の更新 を参照してください。

    5. Client type リストから、Confidential を選択します。
  4. Save をクリックします。

    ポップアップウィンドウに、生成されたアプリケーションクライアント ID とクライアントシークレットが表示されます。

  5. 生成されたクライアント ID とクライアントシークレットの両方をコピーして保存し、後で使用できるようにします。

    重要

    ポップアップウィンドウは、このときにしか表示されません。そのため、必ずクライアント ID とクライアントシークレットの両方をコピーしてください。これらのトークンは、Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の接続シークレットを作成するのに必要です。

    次のイメージは、生成されたクライアント ID とクライアントシークレットの例です。

    生成されたクライアント ID とクライアントシークレットの例

3.3.4. 接続シークレットの作成

Red Hat Ansible Automation Platform に接続するための認可シークレットと、IBM watsonx Code Assistant に接続するためのモデルシークレットを作成する必要があります。カスタム認証局を信頼する必要がある場合は、バンドルシークレットを作成する必要があります。

前提条件

3.3.4.1. 認可シークレットとモデルシークレットの作成

この手順を使用して、Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方に接続するためのシークレットを作成します。

手順

  1. Red Hat OpenShift Container Platform にアクセスします。
  2. WorkloadsSecrets を選択します。
  3. CreateKey/value secret をクリックします。
  4. Projects リストから、Red Hat Ansible Automation Platform Operator をインストールしたときに作成した namespace を選択します。
  5. Red Hat Ansible Automation Platform に接続するための 認可シークレット を作成します。

    1. CreateKey/value secret をクリックします。
    2. Secret name に、シークレットの一意の名前を入力します。たとえば、auth-aiconnect です。
    3. 次のキーと、キーに関連付ける値を個別に追加します。

      キー

      auth_api_url

      使用している Ansible Automation Platform のバージョンに応じて、次の形式で Automation Controller の API URL を入力します。

      • Ansible Automation Platform 2.4 の場合: https://<CONTROLLER_SERVER_NAME>/api
      • Ansible Automation Platform 2.5 の場合: https://<CONTROLLER_SERVER_NAME>

      auth_api_key

      先ほど記録した OAuth アプリケーションのクライアント ID を入力します。

      auth_api_secret

      先ほど記録した OAuth アプリケーションのクライアントシークレットを入力します。

      auth_allowed_hosts

      サービスにアクセスできるホストを制限するために、基盤となる Django フレームワークで使用されるホスト名/ドメイン名を表す文字列のリストを入力します。これは、HTTP ホストヘッダー攻撃を防ぐためのセキュリティー対策です。詳細は、Django ドキュメントの Allowed hosts を参照してください。

      auth_verify_ssl

      値に true を入力します。

      重要

      値フィールドに空白文字 (余分な行、スペースなど) を誤って追加しないようにしてください。シークレットに余分な文字や誤った文字が含まれていると、Red Hat Ansible Automation Platform への接続が失敗します。

    4. Create をクリックします。

      次の画像は認可シークレットの例です。

      認可シークレットの例
  6. 同様に、IBM watsonx Code Assistant モデルに接続するための モデルシークレット を作成します。

    1. CreateKey/value secret をクリックします。
    2. Secret name に、シークレットの一意の名前を入力します。たとえば、model-aiconnect です。
    3. 次のキーと、キーに関連付ける値を個別に追加します。

      キー

      username

      IBM Cloud Pak for Data デプロイメントに接続するために使用するユーザー名を入力します。

      model_type

      IBM Cloud Pak for Data デプロイメントに接続するには、wca-onprem と入力します。

      model_url

      IBM watsonx Code Assistant の URL を入力します。

      model_api_key

      IBM Cloud Pak for Data デプロイメントの IBM watsonx Code Assistant モデルの API キーを入力します。

      model_id

      IBM Cloud Pak for Data デプロイメントの IBM watsonx Code Assistant モデルのモデル ID を入力します。

      重要

      値フィールドに空白文字 (余分な行、スペースなど) を誤って追加しないようにしてください。シークレットに余分な文字や誤った文字が含まれていると、IBM watsonx Code Assistant への接続が失敗します。

    4. Create をクリックします。

認可シークレットとモデルシークレットを作成したら、Red Hat Ansible Lightspeed インスタンスを作成してデプロイする ときにシークレットを選択する必要があります。

3.3.4.2. カスタム認証局を信頼するためのバンドルシークレットの作成

カスタム認証局を信頼する必要がある場合は、Red Hat Ansible Lightspeed インスタンスのいくつかの変数をカスタマイズできます。カスタム認証局を信頼すると、Red Hat Ansible Lightspeed インスタンスが、ローカルで発行された SSL 証明書で設定されたネットワークサービスにアクセスできるようになります。たとえば、HTTPS 経由で内部 Git サーバーからプロジェクトを複製できるようになります。

プロジェクトを同期するときに次のエラーが発生した場合は、変数をカスタマイズする必要があることを示しています。

fatal: unable to access 'https://private.repo./mine/ansible-rulebook.git': SSL certificate problem: unable to get local issuer certificate

手順

次のいずれかの方法を使用し、CLI を使用してカスタムバンドルシークレットを作成します。

  • 認証局のシークレットの使用

    次のコマンドを使用して、bundle_cacert_secret を作成します。

    # kubectl create secret generic <resourcename>-custom-certs \
        --from-file=bundle-ca.crt=<PATH/TO/YOUR/CA/PEM/FILE> 1

    ここでは、以下のようになります。

    <1>: 自己署名証明書のパス。自己署名証明書が保存されている場所を指すようにファイルパスを変更します。Red Hat Ansible Lightspeed インスタンスは、指定された bundle_cacert_secret シークレット内のデータフィールド bundle-ca.crt を検索します。

    以下はバンドル CA 証明書の例です。

    spec:
      ...
      bundle_cacert_secret: <resourcename>-custom-certs
  • kustomization.yaml 設定ファイルの使用

    以下のコマンドを使用します。

    secretGenerator:
      - name: <resourcename>-custom-certs
        files:
          - bundle-ca.crt=<path+filename>
        options:
          disableNameSuffixHash: true

バンドルシークレットを作成したら、Red Hat Ansible Lightspeed インスタンスを作成してデプロイする ときにシークレットを選択する必要があります。

3.3.5. Red Hat Ansible Lightspeed インスタンスの作成とデプロイ

この手順を使用して、Red Hat Ansible Lightspeed インスタンスを作成し、namespace にデプロイします。

前提条件

  • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の接続シークレットを作成した。

手順

  1. Red Hat OpenShift Container Platform にアクセスします。
  2. OperatorsInstalled Operators を選択します。
  3. Projects リストから、Red Hat Ansible Lightspeed インスタンスをインストールし、接続シークレットを作成した namespace を選択します。
  4. 先ほどインストールした Ansible Automation Platform (provided by Red Hat) Operator を探して選択します。
  5. All instancesCreate new を選択します。
  6. Create new リストから、Ansible Lightspeed モーダルを選択します。
  7. 設定モードとして Form view が選択されていることを確認します。
  8. 次の情報を指定します。

    1. Name: Red Hat Ansible Lightspeed インスタンスの一意の名前を入力します。
    2. Secret where the authentication information can be found: Red Hat Ansible Automation Platform に接続するために作成した認証シークレットを選択します。
    3. Secret where the model configuration can be found: IBM watsonx Code Assistant に接続するために作成したモデルシークレットを選択します。
  9. オプション: カスタム認証局を信頼するためにバンドルシークレットを作成した場合は、AdvancedBundle CA Certificate Secret リストから bundle_cacert_secret を選択します。
  10. Create をクリックします。

    Red Hat Ansible Lightspeed インスタンスを namespace にデプロイするには数分かかります。インストールステータスが Successful と表示されたら、Red Hat OpenShift Container Platform の NetworkingRoutes で Ansible Lightspeed ポータル URL を取得できるようになります。

3.3.6. Redirect URIs の更新

Ansible ユーザーが Ansible Lightspeed サービスにログインまたはログアウトすると、Red Hat Ansible Automation Platform がユーザーのブラウザーを指定 URL にリダイレクトします。ユーザーがアプリケーションに正常にログインおよびログアウトできるように、リダイレクト URL を設定する必要があります。

前提条件

  • Red Hat Ansible Lightspeed インスタンスを作成して namespace にデプロイした。

手順

  1. Ansible Lightspeed インスタンスの URL を取得します。

    1. Red Hat OpenShift Container Platform にアクセスします。
    2. NetworkingRoutes の順に選択します。
    3. 作成した Red Hat Ansible Lightspeed インスタンスを見つけます。
    4. Red Hat Ansible Lightspeed インスタンスの Location URL をコピーします。
  2. logout リダイレクト URI を更新します。

    1. Automation Controller で、AdministrationApplications に移動します。
    2. 作成した Lightspeed Oauth アプリケーションを選択します。
    3. Oauth アプリケーションの Redirect URIs フィールドに、次の形式で URL を入力します。

      https://<lightspeed_route>/complete/aap/

      URL の例は https://lightspeed-on-prem-web-service.com/complete/aap/ です。

      重要

      リダイレクト URL には次の情報が含まれている必要があります。

      • 接頭辞 https://
      • <lightspeed_route> URL (先ほどコピーした Red Hat Ansible Lightspeed インスタンスの URL)
      • 末尾のバックスラッシュ記号 (/) を含む接尾辞 /complete/aap/
    4. Save をクリックします。
  3. 設定に応じて logout リダイレクト URI を更新します。

    Ansible Automation Platform Operator を使用して Red Hat Ansible Lightspeed インスタンスと Automation Controller の両方をインストールする場合の手順:

    1. Ansible Automation Platform インスタンスが実行されているクラスターにログインします。
    2. AutomationController カスタムリソースを特定します。
    3. [YAML view] を選択します。
    4. YAML ファイルに次のエントリーを追加します。

      ```yaml
        spec:
        ...
        extra_settings:
          - setting: LOGOUT_ALLOWED_HOSTS
            value: "'<lightspeed_route-HostName>'"
        ```
      重要

      value: パラメーターを指定する際には、必ず以下を行ってください。

      • https:// など、ネットワークプロトコルなしでホスト名を指定します。

        たとえば、正しいホスト名は https://my-aiconnect-instance.somewhere.com ではなく、my-aiconnect-instance.somewhere.com になります。

      • コードブロックで指定されているとおりに、一重引用符と二重引用符を正確に使用します。

        一重引用符を二重引用符に変更したり、その逆を行ったりすると、ログアウト時にエラーが発生します。

      • Red Hat Ansible Lightspeed デプロイメントのインスタンスを複数指定するには、コンマを使用します。

        単一の Red Hat Ansible Automation Platform デプロイメントで Red Hat Ansible Lightspeed アプリケーションのインスタンスを複数実行している場合は、コンマ (,) を追加してから、他のホスト名の値を追加します。たとえば、"'my-lightspeed-instance1.somewhere.com','my-lightspeed-instance2.somewhere.com'" のように複数のホスト名を追加できます。

    5. 変更した YAML を適用します。これにより、Automation Controller Pod が再起動します。

Ansible Automation Platform Operator を仮想マシン上で実行する場合の手順:

  1. Ansible Automation Platform コントローラーを使用して仮想マシンにログインします。
  2. /etc/tower/conf.d/custom.py ファイルに次のパラメーターを追加します。
    LOGOUT_ALLOWED_HOSTS = "<lightspeed_route-HostName>"

    重要
    • /etc/tower/conf.d/custom.py ファイルが存在しない場合は作成します。
    • https:// など、ネットワークプロトコルなしでホスト名を指定します。

      たとえば、正しいホスト名は https://my-aiconnect-instance.somewhere.com ではなく、my-aiconnect-instance.somewhere.com になります。

    • 一重引用符と二重引用符はペアで使用します。一重引用符と二重引用符を混在させないでください。
  3. 次のコマンドを実行して Automation Controller を再起動します。
    $ automation-controller-service restart

プラットフォームゲートウェイを仮想マシン上で実行する場合の手順:

  1. プラットフォームゲートウェイを使用して仮想マシンにログインします。
  2. gateway/settings.py ファイルまたは ansible-automation-platform/gateway/settings.py ファイルのいずれかに
    LOGOUT_ALLOWED_HOSTS = "<lightspeed_route-HostName>" パラメーターを追加します。

    重要
    • https:// など、ネットワークプロトコルなしでホスト名を指定します。

      たとえば、正しいホスト名は https://my-aiconnect-instance.somewhere.com ではなく、my-aiconnect-instance.somewhere.com になります。

    • コードブロックで指定されたとおりに二重引用符を使用します。

3.3.7. Red Hat Ansible Lightspeed オンプレミスデプロイメント用に Ansible VS Code 拡張機能を設定する

Red Hat Ansible Lightspeed のオンプレミスデプロイメントにアクセスするには、組織内のすべての Ansible ユーザーが、VS Code エディターに Ansible Visual Studio (VS) Code 拡張機能をインストールし、オンプレミスデプロイメントに接続するように拡張機能を設定する必要があります。

前提条件

  • VS Code バージョン 1.70.1 以降がインストールされている。

手順

  1. VS Code アプリケーションを開きます。
  2. Activity バーから Extensions アイコンをクリックします。
  3. Installed Extensions リストから、Ansible を選択します。
  4. Ansible 拡張機能ページで、Settings アイコン ( Settings icon ) をクリックし、Extension Settings を選択します。
  5. Ansible Lightspeed 設定を選択し、次の情報を指定します。

    • URL for Ansible Lightspeed フィールドに、Red Hat Ansible Lightspeed オンプレミスデプロイメントの Route URL を入力します。Ansible ユーザーは、Ansible Automation Platform コントローラーの認証情報を持っている必要があります。
    • オプション: デフォルトモデルの代わりにカスタムモデルを使用する場合は、Model ID Override フィールドにカスタムモデル ID を入力します。設定は自動的に VS Code に保存されます。

      Ansible VS Code 拡張機能を Red Hat Ansible Lightspeed オンプレミスデプロイメントに接続するように設定した後、Ansible VS Code 拡張機能を介して Ansible Lightspeed にログイン する必要があります。

      注記

      組織が Red Hat Ansible Automation Platform にサブスクライブしてから間もない場合、Red Hat Ansible Lightspeed が新しいサブスクリプションを検出するまでに数時間かかることがあります。VS Code で、アクティビティーバーの Ansible 拡張機能の Refresh ボタンを使用して再度確認してください。

3.3.8. 既存の Red Hat Ansible Automation Platform Operator の接続シークレットを更新する

Red Hat Ansible Lightspeed オンプレミスデプロイメントを正常にセットアップした後で、別の IBM watsonx Code Assistant モデルに接続する場合は、デプロイメントを変更できます。たとえば、デフォルトの IBM watsonx Code Assistant モデルに接続したが、代わりにカスタムモデルに接続するとします。別の IBM watsonx Code Assistant モデルに接続するには、新しい接続シークレットを作成し、既存の Red Hat Ansible Automation Platform Operator の接続シークレットとパラメーターを更新する必要があります。

前提条件

  • Red Hat Ansible Lightspeed オンプレミスデプロイメントをセットアップした。
  • 接続する IBM watsonx Code Assistant モデルの API キーとモデル ID を取得した。
  • 接続先の IBM watsonx Code Assistant モデルの新しい認可シークレットとモデル接続シークレットを作成しました。認可認可シークレットとモデル接続シークレットの作成は、接続シークレットの作成 を参照してください。

手順

  1. Red Hat OpenShift Container Platform にアクセスします。
  2. OperatorsInstalled Operators を選択します。
  3. Projects リストから、Red Hat Ansible Lightspeed インスタンスをインストールした namespace を選択します。
  4. 先ほどインストールした Ansible Automation Platform (provided by Red Hat) Operator を探して選択します。
  5. Ansible Lightspeed タブを選択します。
  6. 更新するインスタンスを見つけて選択します。
  7. ActionsEdit AnsibleLightspeed をクリックします。エディターはテキストまたは YAML ビューに切り替わります。
  8. テキストをスクロールして spec: セクションを見つけます。

    Setting to update the connection secrets )

  9. 変更して新しい名前で保存したシークレットのエントリーを見つけます。
  10. シークレットの名前を新しいシークレットに変更します。
  11. Save をクリックします。

    新しい Ansible Lightspeed Pod が作成されます。新しい Pod が正常に実行されると、古い Ansible Lightspeed Pod が終了します。

3.3.9. Red Hat Ansible Lightspeed オンプレミスデプロイメントを監視する

Red Hat Ansible Lightspeed をオンプレミスに正常にデプロイしたら、次の手順に従って API エンドポイント /metrics でメトリクスを監視します。

手順

  1. システム監査者 ユーザーを作成します。

    1. Red Hat Ansible Automation Platform で システム監査者 ロールを持つユーザーを作成します。手順は、Ansible Automation Platform のスタートガイドユーザーの作成 セクションを参照してください。
    2. 新しく作成したシステム監査者ユーザーとして、オンプレミスデプロイメントの Ansible Lightspeed ポータル (https://<lightspeed_route>/) にログインできることを確認し、ログアウトします。
  2. システム監査者 ユーザーのトークンを作成します。

    1. 次の認証情報を使用して、オンプレミスデプロイメントの Ansible Lightspeed ポータル (https://<lightspeed_route>/admin) に管理者としてログインします。

      • ユーザー名: admin
      • パスワード: Red Hat Ansible Lightspeed がデプロイされている Red Hat OpenShift Container Platform クラスターの namespace 内の <lightspeed-custom-resource-name>-admin-password という名前のシークレット。
    2. Django 管理ウィンドウで、Users エリアから Users を選択します。ユーザーのリストが表示されます。
    3. システム監査者ロールを持つユーザーが Users リストに表示されていることを確認します。
    4. Django Oauth ツールキットエリアから、Access tokensAdd を選択します。
    5. 以下の情報を入力し、Save をクリックします。

      • User: 虫眼鏡アイコンを使用して、システム監査者ロールを持つユーザーを検索して選択します。
      • Token: ユーザーのトークンを指定します。後で使用するためにこのトークンをコピーします。
      • Id token: トークン ID を選択します。
      • Application: Ansible Lightspeed for VS Code を選択します。
      • Expires: トークンを有効期限切れにする日時を選択します。
      • Scope: スコープを read write として指定します。

        システム監査者ロールを持つユーザー用にアクセストークンが作成されます。

    6. オンプレミスデプロイメントの Ansible Lightspeed ポータルからログアウトします。
  3. システム監査者ロールを持つユーザーの認可トークンを使用してメトリクスエンドポイント https://<lightspeed_route>/metrics にアクセスし、Red Hat Ansible Lightspeed オンプレミスデプロイメントを監視します。

3.4. カスタムモデルの設定

組織管理者は、組織の既存の Ansible コンテンツでトレーニングされた、微調整されたカスタムモデルを作成して使用できます。この機能を使用すると、組織の自動化パターンに合わせてモデルを調整し、コード推奨エクスペリエンスを向上させることができます。

カスタムモデルを作成したら、次のいずれかのアクセスタイプを指定できます。

  • 組織内の全ユーザーのアクセスを有効にする

    組織のデフォルトモデルとしてカスタムモデルを設定できます。組織内の全ユーザーがカスタムモデルを使用できます。

  • 組織内の一部の Ansible ユーザーのアクセスを有効にする

    Ansible VS Code 拡張機能の model-override 設定を使用すると、特定の Ansible ユーザーは、Ansible Lightspeed サービスを調整して、デフォルトモデルではなくカスタムモデルを使用できます。

3.4.1. カスタムモデル設定のプロセス

カスタムモデルを設定するには、以下のタスクを実行します。

3.4.2. コンテンツパーサーツールを使用したトレーニングデータセットの作成

コマンドラインインターフェイス (CLI) ツールであるコンテンツパーサーツールを使用して、既存の Ansible ファイルをスキャンし、カスタムモデルトレーニングデータセットを生成します。トレーニングデータセットには、Ansible ファイルのリストと、プロジェクトルートからの相対パスが含まれています。次に、このデータセットを IBM watsonx Code Assistant にアップロードし、これを使用して、組織の既存の Ansible コンテンツに登録されたカスタムモデルを作成できます。

3.4.2.1. トレーニングセットの作成方法

次のいずれかの方法を使用して、トレーニングデータセットを生成できます。

  • ansible-lint 前処理を使用する場合

    デフォルトでは、コンテンツパーサーツールは、ansible-lint 前処理を使用してトレーニングデータセットを生成します。コンテンツパーサーツールは、ansible-lint ルールを使用して Ansible ファイルをスキャンし、コンテンツが Ansible のベストプラクティスに準拠していることを確認します。ルール違反が見つかった場合、コンテンツパーサーツールは生成された出力からこれらのファイルを除外します。このようなシナリオでは、ルール違反を解決し、コンテンツパーサーツールを再度実行して、生成された出力にすべての Ansible ファイルが含まれるようにする必要があります。

  • ansible-lint 前処理を使用しない場合

    ansible-lint の前処理を行わずにトレーニングデータセットを生成できます。この方法では、コンテンツパーサーツールは Ansible ファイルの ansible-lint ルール違反をスキャンしないため、トレーニングデータセットにはすべてのファイルが含まれます。トレーニングデータセットにはすべてのファイルが含まれていますが、Ansible のベストプラクティスに準拠していない可能性があり、コード推奨エクスペリエンスの品質に影響を与える可能性があります。

3.4.2.2. サポートされるデータソース

コンテンツパーサーツールは、以下のディレクトリーおよびファイル形式をスキャンします。

  • ローカルディレクトリー
  • アーカイブファイル (.zip.tar.tar.gz.tar.bz2.tar.xz ファイルなど)
  • Git リポジトリー URL (プライベートリポジトリーとパブリックリポジトリーの両方を含む)
3.4.2.3. トレーニングデータセットの作成プロセス

カスタムモデルトレーニングデータセットを作成するには、次のタスクを実行します。

  1. コンテンツパーサーツールをコンピューターにインストールする
  2. カスタムモデルトレーニングデータセットを生成する
  3. 生成されたトレーニングデータセットを表示する
  4. ansible-lint ルール違反を解決する (オプション: ansible-lint 前処理を使用してトレーニングデータセットを生成し、ansible-lint ルール違反を検出した場合)
  5. 複数のトレーニングデータセットを 1 つの JSONL ファイルにマージする (オプション: 複数のトレーニングデータセットを生成した場合)
3.4.2.4. コンテンツパーサーツールのインストール

コマンドラインインターフェイス (CLI) ツールであるコンテンツパーサーツールをコンピューターにインストールします。

前提条件

コンピューターに次のいずれかのサポートされている OS があることを確認します。

  • Python バージョン 3.10 以降。
  • Linux や Mac OS などの UNIX OS。

    注記

    Microsoft Windows OS へのコンテンツパーサーツールのインストールはサポートされていません。

    手順

    1. 作業ディレクトリーを作成し、venv Python 仮想環境を設定します。

      $ python -m venv ./venv

      $ source ./venv/bin/activate

    2. pip リポジトリーから最新バージョンのコンテンツパーサーツールをインストールします。

      $ pip install --upgrade pip

      $ pip install --upgrade ansible-content-parser

    3. 以下のいずれかのタスクを実行します。

      • ansible-lint 前処理を行わずにトレーニングデータセットを生成するには、カスタムモデルトレーニングデータセットの生成 セクションに進んでください。
      • ansible-lint 前処理を使用してトレーニングデータセットを生成するには、最新バージョンの ansible-lint がコンピューターにインストールされていることを確認してください。

        1. コンピューターにインストールされている ansible-lint のバージョンを表示します。

          $ ansible-content-parser --version

          $ ansible-lint --version

          アプリケーションのバージョンとその依存関係のリストが表示されます。

        2. コンテンツパーサーツールでインストールされた ansible-lint のバージョンが、以前にインストールされた ansible-lint のバージョンと同じであることを出力で確認します。インストールされている ansible-lint のバージョンが一致しないと、コンテンツパーサーツールと ansible-lint の結果が矛盾します。

          たとえば、次の出力では、コンテンツパーサーツールのインストールには、以前にインストールされた ansible-lint バージョン 6.13.1 とは一致しない ansible-lint バージョン 6.20.0 が含まれています。

          $ ansible-content-parser --version
          ansible-content-parser 0.0.1 using ansible-lint:6.20.0 ansible-core:2.15.4
          $ ansible-lint --version
          ansible-lint 6.13.1 using ansible 2.15.4
          A new release of ansible-lint is available: 6.13.1 → 6.20.0
        3. ansible-lint のバージョンが一致しない場合は、venv Python 仮想環境を非アクティブ化して、アクティブ化し直します。

          $ deactivate

          $ source ./venv/bin/activate

        4. コンテンツパーサーツールでインストールされた ansible-lint のバージョンが、以前にインストールされた ansible-lint のバージョンと同じであることを確認します。

          $ ansible-content-parser --version

          $ ansible-lint --version

          たとえば、次の出力は、コンピューター上の両方の ansible-lint インストールがバージョン 6.20.0 であることを示しています。

          $ ansible-content-parser --version
          ansible-content-parser 0.0.1 using ansible-lint:6.20.0 ansible-core:2.15.4
          $ ansible-lint --version
          ansible-lint 6.20.0 using ansible-core:2.15.4
          ansible-compat:4.1.10 ruamel-yaml:0.17.32 ruamel-yaml-clib:0.2.7
3.4.2.5. カスタムモデルトレーニングデータセットの生成

コンテンツパーサーツールをインストールした後、それを実行してカスタム Ansible ファイルをスキャンし、カスタムモデルトレーニングデータセットを生成します。その後、トレーニングデータセットを IBM watsonx Code Assistant にアップロードし、組織向けのカスタムモデルを作成できます。ansible-lint 前処理を使用していてルール違反が発生した場合は、トレーニングデータセットを IBM watsonx Code Assistant にアップロードする前に ルール違反を解決する 必要があります。

3.4.2.5.1. トレーニングデータセットの生成方法

次のいずれかの方法を使用して、トレーニングデータセットを生成できます。

  • ansible-lint 前処理を使用する場合

    デフォルトでは、コンテンツパーサーツールは、ansible-lint 前処理を使用してトレーニングデータセットを生成します。コンテンツパーサーツールは、ansible-lint ルールを使用して Ansible ファイルをスキャンし、コンテンツが Ansible のベストプラクティスに準拠していることを確認します。ルール違反が見つかった場合、コンテンツパーサーツールは生成された出力からこれらのファイルを除外します。このようなシナリオでは、ルール違反を解決し、コンテンツパーサーツールを再度実行して、生成された出力にすべての Ansible ファイルが含まれるようにする必要があります。

  • ansible-lint 前処理を使用しない場合

    ansible-lint の前処理を行わずにトレーニングデータセットを生成できます。この方法では、コンテンツパーサーツールは Ansible ファイルの ansible-lint ルール違反をスキャンしないため、トレーニングデータセットにはすべてのファイルが含まれます。トレーニングデータセットにはすべてのファイルが含まれていますが、Ansible のベストプラクティスに準拠していない可能性があり、コード推奨エクスペリエンスの品質に影響を与える可能性があります。

前提条件

  • コンピューターにコンテンツパーサーツールがインストール済みである。
  • コンテンツパーサーツールでインストールされた ansible-lint のバージョンが、以前にインストールされた ansible-lint のバージョンと同じであることを確認する必要があります。

手順

  1. コンテンツパーサーツールを実行してトレーニングデータセットを生成します。

    • ansible-lint 前処理を使用する場合: $ ansible-content-parser source output
    • ansible-lint 前処理を使用しない場合: $ ansible-content-parser source output -S

      次の表に、必要なパラメーターをまとめています。

      パラメーター説明

      source

      トレーニングデータセットのソースを指定します。

      output

      トレーニングデータセットの出力を指定します。

      -S または --skip-ansible-lint

      トレーニングデータセットの生成中に ansible-lint の前処理をスキップするように指定します。

    例: ソースが Github URL https://github.com/ansible/ansible-tower-samples.git で、出力ディレクトリーが /tmp/out の場合、コマンドプロンプトは、
    $ ansible-content-parser https://github.com/ansible/ansible-tower-samples.git/tmp/out のようになります。

  2. オプション: 追加情報を含むトレーニングデータセットを生成するには、コンテンツパーサーツールの実行中に次のパラメーターを指定します。

    パラメーター説明

    --source-license

    source ディレクトリーのライセンス情報をトレーニングのデータセットに含めるように指定します。

    --source-description

    トレーニングデータセットにソースディレクトリーの説明を含めるように指定します。

    --repo-name

    トレーニングデータセットにリポジトリー名を含めるように指定します。リポジトリー名を指定しない場合、コンテンツパーサーツールはソース名からリポジトリー名を自動的に生成します。

    --repo-url

    トレーニングデータセットにリポジトリー URL を含めるように指定します。リポジトリー URL を指定しない場合、コンテンツパーサーツールはソース URL からリポジトリー URL を自動的に生成します。

    -v または --verbose

    コンソールのログ情報を表示します。

    Github リポジトリー ansible-tower-samples のコマンドプロンプトの例

    $ ansible-content-parser --profile min \
    --source-license undefined \
    --source-description Samples \
    --repo-name ansible-tower-samples \
    --repo-url 'https://github.com/ansible/ansible-tower-samples' \
    git@github.com:ansible/ansible-tower-samples.git /var/tmp/out_dir

    Github リポジトリーの ansible-tower-samples 用に生成されたトレーニングデータセットの例

    トレーニングデータセットは、コマンドライン JSON 処理ツールである Jeff Goldblum (jg) でフォーマットされます。

    $ cat out_dir/ftdata.jsonl| jq
    {
    "data_source_description": "Samples",
    "input": "---\n- name: Hello World Sample\n hosts: all\n tasks:\n - name: Hello Message",
    "license": "undefined",
    "module": "debug",
    "output": " debug:\n msg: Hello World!",
    "path": "hello_world.yml",
    "repo_name": "ansible-tower-samples",
    "repo_url": "https://github.com/ansible/ansible-tower-samples"
    }
3.4.2.6. 生成されたトレーニングデータセットの表示

コンテンツパーサーツールは、Ansible ファイルをスキャンした後、出力ディレクトリーにトレーニングデータセットを生成します。トレーニングデータセットには、コンテンツパーサーツールのメイン出力である ftdata.jsonl ファイルが含まれています。このファイルは JSON Lines ファイル形式で利用でき、各行のエントリーは JSON オブジェクトを表します。カスタムモデルを作成するには、この JSONL ファイルを IBM watsonx Code Assistant にアップロードする必要があります。

3.4.2.6.1. カスタムモデルトレーニングデータセットの構造

出力ディレクトリーのファイル構造は次のとおりです。

output/
  |-- ftdata.jsonl  # Training dataset 1
  |-- report.txt   # A human-readable report 2
  |
  |-- repository/ 3
  |     |-- (files copied from the source repository)
  |
  |-- metadata/ 4
        |-- (metadata files generated during the execution)

ここでは、以下のようになります。

1 1
ftdata.jsonl: コンテンツパーサーツールのメイン出力であるトレーニングデータセットファイル。このファイルは JSON Lines ファイル形式で利用でき、各行のエントリーは JSON オブジェクトを表します。カスタムモデルを作成するには、この JSONL ファイルを IBM watsonx Code Assistant にアップロードする必要があります。
2
report.txt: すべてのコンテンツパーサーツールの実行をまとめた、人間が判読できるテキストファイル。
3
repository: ソースリポジトリーのファイルを含むディレクトリー。場合によっては、ansible-lint は設定されたルールに従ってディレクトリーを更新するため、出力ディレクトリーのファイルの内容がソースリポジトリーと異なる場合があります。
4
metadata: 各コンテンツパーサーツールの実行中に生成されるメタデータファイルが複数含まれるディレクトリー。
3.4.2.6.1.1. report.txt ファイルを使用した ansible-lint ルール違反の解決

ansible-lint ルール違反の解決に使用できる report.txt ファイルには、次の情報が含まれています。

  • タイプごとのファイル数: Playbook、タスク、ハンドラー、jinja2 などのファイルタイプに応じたファイルのリスト。
  • 識別された Ansible ファイルのリスト: ansible-lint によってファイル名別、ファイルタイプ別に識別されたファイルのリスト。そのファイルが以降の処理から除外されたか、または ansible-lint によって自動的に修正されたかどうかが示されます。
  • タスクで検出された Ansible モジュールのリスト: ansible-lint によってモジュール名別、モジュールタイプ別に識別されたモジュールのリスト。また、ファイルが以降の処理から除外されたか、または ansible-lint によって自動的に修正されたかどうかが示されます。
  • ansible-lint で検出された問題: ansible-lint の実行結果の概要と問題のリスト。ansible-lint は最初の実行で構文チェックエラーのあるファイルに遭遇すると、2 回目の実行を開始し、エラーのあるファイルをスキャンから除外します。この情報を使用して、ansible-lint ルール違反を解決できます。
3.4.2.7. ansible-lint ルール違反の解決

デフォルトでは、コンテンツパーサーツールは、ansible-lint ルールを使用して Ansible ファイルをスキャンし、コンテンツが Ansible のベストプラクティスに準拠していることを確認します。ルール違反が見つかった場合、コンテンツパーサーツールは生成された出力からこれらのファイルを除外します。このようなシナリオでは、トレーニングデータセットを IBM watsonx Code Assistant にアップロードする前に、ルール違反のあるファイルを修正することを推奨します。

デフォルトでは、ansible-lint は、Ansible ファイルのスキャン中に ansible-lint/src/ansiblelint/rules に設定されているルールを適用します。ansible-lint ルールの詳細は、Ansible Lint のドキュメント を参照してください。

3.4.2.7.1. コンテンツパーサーツールはルール違反をどのように処理しますか?
  • 自動修正の使用

    コンテンツパーサーツールは --fix=all オプションを指定して ansible-lint を実行し、自動修正し、そのルールによって特定された問題を修正し、ルールで識別された問題修正を簡素化します。

    ansible-lint で、自動修正が関連付けられているルール違反が特定されると、ルール違反がある問題を自動的に修正するか、修正を簡素化します。ansible-lint は、自動修正が関連付けられていないルール違反を特定した場合、これらのインスタンスを手動で修正する必要があるルール違反として報告します。自動修正の詳細は、Ansible Lint ドキュメントの 自動修正 を参照してください。

  • syntax-checks の使用

    Ansible-lint は、Ansible ファイルのスキャン中に構文チェックも実行します。syntax-check エラーが見つかった場合、ansible-lint はファイルの処理を停止します。syntax-check エラーの詳細は、Ansible Lint ドキュメントの syntax-check を参照してください。

    コンテンツパーサーツールは、次の方法で syntax-check ルールの違反を処理します。

    • ansible-lint の最初の実行で syntax-check エラーが見つかった場合、コンテンツパーサーツールはルール違反を含むファイルのリストを生成します。
    • ansible-lint の最初の実行で 1 つ以上の syntax-check エラーが見つかった場合、コンテンツパーサーツールは ansible-lint を再度実行しますが、構文チェックエラーのあるファイルは除外されます。スキャンが完了すると、コンテンツパーサーツールはルール違反を含むファイルのリストを生成します。リストには、syntax-check エラーやその他のルール違反の原因となったすべてのファイルが含まれます。コンテンツパーサーツールは、今後の全スキャンでルール違反のあるファイルを除外するため、最終的なトレーニングデータセットには除外されたファイルのデータは含まれません。

手順

ansible-lint ルール違反を解決するには、次のいずれかの方法を使用します。

  • --no-exclude オプションを指定してコンテンツパーサーツールを実行します。

    構文チェックエラーなどのルール違反が見つかった場合、実行はエラーで中止され、トレーニングデータセットは作成されません。

  • --profile オプションを使用して、ansible-lint がデータのスキャンに使用するルールのセットを制限します。

    ルール違反のあるファイルを修正することを推奨します。ただし、ソースファイルを変更しない場合は、ansible-lint がデータのスキャンに使用するルールのセットを制限できます。ansible-lint がデータのスキャンに使用するルールのセットを制限するには、事前定義されたプロファイル (例: minbasicmoderatesafetyshared、または production プロファイル) で --profile オプションを指定するか、ansible-lint 設定ファイルを使用して指定します。詳細は、Ansible Lint のドキュメント を参照してください。

  • ansible-lint の前処理をスキップしてコンテンツパーサーツールを実行します。

    ansible-lint の前処理なしでコンテンツパーサーを実行できます。コンテンツパーサーツールは、ansible-lint ルール違反をスキャンせずにトレーニングデータセットを生成します。

    ansible-lint 前処理を行わずにコンテンツパーサーツールを実行するには、
    $ ansible-content-parser source output -S のコマンドを実行します。

    ここでは、以下のようになります。

    • Source: トレーニングデータセットのソースを指定します。
    • output: 登録データセットの出力を指定します。
    • -S または --skip-ansible-lint: トレーニングデータセットの生成中に ansible-lint の前処理をスキップするように指定します。
3.4.2.8. 複数のトレーニングデータセットの単一ファイルへの結合

実行ごとに、コンテンツパーサーツールは ftdata.jsonl という名前のトレーニングデータセット JSONL ファイルを作成します。カスタムモデルを作成するために、このファイルを IBM watsonx Code Assistant にアップロードします。コンテンツパーサーツールを複数回実行すると、複数の JSONL ファイルが作成されます。IBM watsonx Code Assistant は、単一の JSONL ファイルのアップロードのみをサポートします。したがって、複数の JSONL ファイルがある場合は、それらを 1 つの連結されたファイルにマージする必要があります。親ディレクトリー内の複数のサブディレクトリーに生成された複数の JSONL ファイルを 1 つのファイルにマージすることもできます。

手順

  1. コマンドプロンプトを使用して、親ディレクトリーに移動します。

  2. find . -name ftdata.json | xargs cat > concatenated.json コマンドを実行して、連結されたファイルを 1 つ作成します。
  3. オプション: 識別しやすいように、連結されたファイルの名前を変更します。

これで、マージされた JSONL ファイルを IBM watsonx Code Assistant にアップロードし、カスタムモデルを作成できるようになります。

3.4.3. IBM watsonx Code Assistant でのカスタムモデルの作成およびデプロイ

コンテンツパーサーツールがカスタムモデルトレーニングデータセットを生成した後、JSONL ファイル ftdata.jsonl を IBM watsonx Code Assistant にアップロードし、組織用のカスタムモデルを作成します。

重要

IBM watsonx Code Assistant は、トレーニングデータセットのサイズによっては、カスタムモデルの作成に数時間かかる場合があります。カスタムモデル作成のステータスは、IBM Tuning Studio を引き続き監視する必要があります。

IBM watsonx Code Assistant でカスタムモデルを作成およびデプロイする方法は、IBM watsonx Code Assistant のドキュメント を参照してください。

3.4.4. カスタムモデルを使用するための Red Hat Ansible Lightspeed の設定

IBM watsonx Code Assistant でカスタムモデルを作成してデプロイした後に、組織のカスタムモデルを使用できるように Red Hat Ansible Lightspeed を設定する必要があります。

カスタムモデルを使用するには、以下のいずれかの設定を指定できます。

  • 組織内の全ユーザーのアクセスを有効にする

    組織のデフォルトモデルとしてカスタムモデルを設定できます。組織内の全ユーザーがカスタムモデルを使用できます。

  • 組織内の一部の Ansible ユーザーのアクセスを有効にする

    Ansible VS Code 拡張機能の model-override 設定を使用すると、特定の Ansible ユーザーは、Ansible Lightspeed サービスを調整して、デフォルトモデルではなくカスタムモデルを使用できます。

3.4.4.1. 組織内の全 Ansible ユーザーのカスタムモデルの設定

カスタムモデルを組織のデフォルトモデルとして設定すると、組織内のすべてのユーザーがカスタムモデルを使用できるようになります。

手順

  1. 組織管理者として Ansible Lightspeed with IBM watsonx Code Assistant Hybrid Cloud Console にログインします。
  2. カスタムモデルのモデル ID を指定します。

    1. Model Settings をクリックします。
    2. Model IDAdd Model ID をクリックします。Model ID を入力する画面が表示されます。
    3. カスタムモデルの Model ID を入力します。
    4. オプション: Test model ID をクリックしてモデル ID を検証します。
    5. Save をクリックします。
3.4.4.2. 組織内の一部の Ansible ユーザー向けにカスタムモデルを設定する

Ansible VS Code 拡張機能の model-override 設定を使用すると、特定の Ansible ユーザーは、Ansible Lightspeed サービスを調整して、デフォルトモデルではなくカスタムモデルを使用できます。たとえば、組織管理者とエンドユーザーの両方として Red Hat Ansible Lightspeed を使用している場合、一部の Ansible ユーザー向けのカスタムモデルをテストしてから、組織内のすべてのユーザーにそのモデルを提供することが可能です。

手順

  1. Red Hat アカウントを使用して VS Code アプリケーションにログインします。
  2. Activity バーから Extensions アイコン Extensions をクリックします。
  3. Installed Extensions リストから Ansible を選択します。
  4. Ansible 拡張機能ページで、Settings アイコンをクリックし、Extension Settings を選択します。
  5. 設定のリストから、Ansible Lightspeed を選択します。
  6. Model ID Override フィールドに、カスタムモデルのモデル ID を入力します。

    設定は VS Code に自動的に保存され、カスタムモデルを使用できるようになります。

第4章 Ansible Lightspeed ポータルへのログインおよびログアウト

Ansible Lightspeed ポータル から Ansible Lightspeed にアクセスします。Red Hat Single Sign-On (RH-SSO) アカウントの認証情報を入力すると、アカウントが認証され、アクセスが許可されます。割り当てられたユーザーロールは、Ansible Lightspeed ポータルのログイン画面に表示されます。

表4.1 ユーザーログインのシナリオ
シナリオ結果

RH-SSO ユーザーである。
注記: これは、Ansible ユーザーとして Red Hat Ansible Lightspeed にアクセスするための一般的なシナリオです。

Red Hat Ansible Lightspeed の有料商用サービスに転送されます。

RH-SSO ユーザーであるが、組織管理者は IBM watsonx Code Assistant に接続するように Red Hat Ansible Lightspeed を設定しない。

Red Hat Ansible Lightspeed 有料商用サービスに転送され、組織管理者が組織向けのモデルを設定していないことを示すメッセージが表示されます。

4.1. Ansible Lightspeed ポータルへのログイン

手順

  1. Ansible Lightspeed portal login page に移動します。
  2. Log inLog in with Red Hat をクリックします。
  3. Red Hat アカウントのユーザー名とパスワードを入力します。

認証が成功すると、ユーザー名と割り当てられたユーザーロールとともにログイン画面が表示されます。

4.2. Ansible Lightspeed サービスからログアウト

Ansible Lightspeed Service からログアウトするには、Ansible Lightspeed VS Code 拡張機能と Ansible Lightspeed ポータルの両方からログアウトする必要があります。

手順

  • Ansible Lightspeed VS Code 拡張機能からログアウトします。

    • Person アイコン Person icon をクリックします。VS Code がログインしているアカウントのリストが表示されます。
    • Ansible LightspeedSign Out を選択します。
  • Ansible Lightspeed ポータルからログアウトします。

第5章 Ansible VS Code 拡張機能のインストールと設定

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant は、VS Code の Ansible Visual Studio (VS) Code 拡張機能と統合されています。Red Hat Ansible Lightspeed 機能が有効な Ansible VS Code 拡張は、自動化イベントを使用して推奨事項、使用状況のテレメトリー、Ansible YAML ファイルの状態を自動的に収集します。

Red Hat Ansible Lightspeed にアクセスするには、すべての Ansible ユーザーが VS Code に Ansible VS Code 拡張機能をインストールして設定する必要があります。Ansible VS Code 拡張機能は、組織内のすべてのユーザーのデフォルトモードとして、Red Hat Ansible Lightspeed 管理者ポータルで設定された Ansible 固有の IBM watsonx Granite モデルを使用します。

組織管理者がカスタムモデルを作成し、モデル ID を別途共有している場合は、微調整されたカスタムモデルを使用することもできます。Ansible VS Code 拡張機能の model-override 設定を使用してデフォルトのモデルをオーバーライドし、代わりにカスタムモデルを使用します。カスタムモデルを使用すると、コードの推奨エクスペリエンスを向上させ、組織の自動化パターンに合わせてモデルを調整できます。たとえば、組織管理者とユーザーの両方として Red Hat Ansible Lightspeed を使用している場合、一部の Ansible ユーザー向けのカスタムモデルをテストしてから、組織内のすべてのユーザーにそのモデルを提供することが可能です。詳細は、カスタムモデルの設定 を参照してください。

5.1. 接続の要件

推奨されるコードを生成するには、Visual Studio (VS) Code エディターの Ansible Lightspeed サービスから次のアウトバウンドドメインにアクセスできる必要があります。

送信接続は TCP プロトコルポート 443 で暗号化されます。

5.2. Ansible VS Code 拡張機能のインストール

前提条件

  • VS Code バージョン 1.70.1 以降。
注記

VScode Insider や VS Codium などの VScode 派生製品をインストールすることもできます。

手順

  1. VS Code アプリケーションを開きます。
  2. ナビゲーションメニューから Extensions アイコンをクリックします。
  3. Search フィールドに Ansible を入力します。
  4. Red Hat によって公開された Ansible 言語サポート拡張機能を選択するには、Ansible を選択します。
  5. Install をクリックします。
  6. インストールが完了したら、VSCode のインストールを確認します。

    1. .yml または .yaml ファイル拡張子を使用して、新しい YAML ファイルを作成します。
    2. Status ツールバーで言語インジケーターをクリックし、Ansible を選択して、Ansible 言語タイプを新しい YAML ファイルに関連付けます。
    3. テスト Playbook の作成を開始します。コンテンツの作成を開始すると、コンテキスト補助が表示されます。

5.3. Ansible VS Code 拡張機能の設定

Ansible VS Code 拡張機能を設定して、Red Hat Ansible Lightspeed を有効にし、そのポータル URL と IBM watsonx Code Assistant モデル ID を指定できます。

前提条件

  • 組織管理者が、組織に IBM watsonx Code Assistant モデルを設定している。

手順

  1. VS Code アプリケーションを開きます。
  2. Activity バーから Extensions アイコン Extensions をクリックします。
  3. Installed Extensions リストから Ansible を選択します。
  4. Ansible 拡張機能ページで、Settings アイコンをクリックし、Extension Settings を選択します。
  5. Ansible Lightspeed 設定を選択し、以下の情報を指定します。

    1. Enable Ansible Lightspeed チェックボックスを選択します。
    2. URL for Ansible Lightspeed フィールドで、https://c.ai.ansible.redhat.com/ の URL があることを確認します。
    3. Enable Ansible Lightspeed with watsonx Code Assistant inline suggestions チェックボックスを選択します。
  6. オプション: デフォルトモデルの代わりにカスタムモデルを使用する場合は、Model ID Override フィールドにカスタムモデル ID を入力します。model-override 設定を使用すると、組織管理者がカスタムモデルを作成し、モデル ID を別途共有した後で、デフォルトモデルをオーバーライドしてカスタムモデルを使用できるようになります。

    設定は自動的に VS Code に保存されます。

次の図は、Ansible VS Code 拡張機能で指定した設定を示しています。

図5.1 Ansible VS Code 拡張機能の設定

Ansible VS Code 拡張機能の設定
注記

組織が Red Hat Ansible Automation Platform にサブスクライブしてから間もない場合、Red Hat Ansible Lightspeed が新しいサブスクリプションを検出するまでに数時間かかることがあります。VS Code で、アクティビティーバーの Ansible 拡張機能の Refresh ボタンを使用して再度確認してください。

5.4. Ansible VS Code エクステンションを介して Ansible Lightspeed にログインする

VS Code エクステンションをインストールして設定したら、Ansible Lightspeed サービスにログインできます。

5.4.1. サインインオプション

Red Hat Ansible Lightspeed では、クラウドサービスを使用しているか、オンプレミスのデプロイメントを使用しているかに応じて、サインイン方法が異なります。

  • Ansible Lightspeed オンプレミスデプロイメント

    ユーザーは、Red Hat Ansible Automation Platform ログインを使用して認証されます。

    サインインするには、Ansible Lightspeed ビューの Connect ボタンを使用するか、Account メニューの Sign in with Ansible Lightspeed to use Ansible オプションを使用します。ブラウザーにプロンプトが表示されたら、Log in with Ansible Automation Platform を選択し、Automation Controller が設定されている認可メカニズムを使用してログインします。

  • Ansible Lightspeed クラウドサービス

    ユーザーは Red Hat Single Sign-On (RH-SSO) を使用して認証されます。

    VS Code からサインインするには、Ansible Lightspeed ビューの Connect ボタンを使用するか、Account メニューの Sign in with Ansible Lightspeed to use Ansible オプションを使用します。画面上の指示に従ってログインし、RH-SSO を使用して Ansible Lightspeed サービスにアクセスします。

    注記

    オンプレミスの Red Hat OpenShift Dev Spaces など、Ansible Lightspeed が認識しないドメインのクラウド開発環境を使用している場合は、Accounts のサインインメニューに、Sign-in with Red Hat to use Ansible オプションが表示されます。このオプションでは、デバイスコードフローを使用してサインインプロセスを正常に完了し、Red Hat Authentication 拡張機能 v0.2.0 以降が必要です。この認証フローが必要であるにもかかわらず、Sign-in with Red Hat to use Ansible オプションが表示されない場合は、Ansible VS Code 拡張機能 v24.5.2 以降を使用していることを確認してください。

5.4.2. 手順

  1. VS Code アプリケーションを開きます。
  2. Ansible Lightspeed ビューの [ Connect ボタンまたは Account メニューを使用してサインインします。

    • Connect ボタンを使用してサインインします

      1. VS Code アクティビティーバーから、Ansible アイコンをクリックします。
      2. Ansible Lightspeed ビューで Connect をクリックします。
      3. 画面上のプロンプトに従って、Ansible Lightspeed にサインインします。
    • Accounts メニューを使用してサインインします

      1. VS Code アクティビティーバーから、Accounts メニューをクリックします。
      2. 表示されるサインインオプションに応じて、Ansible Lightspeed でサインインして Ansible を使用するか、Red Hat でサインインして Ansible を使用します。

        注記
        • サインインオプションは、VS Code 拡張機能がアクティブになると表示されます。エクステンションは、Ansible サイドパネルを開いた後、または VS Code エディターで Ansible ファイルを開いた後にアクティブになります。このオプションが表示されない場合は、Connect ボタンを使用して Ansible Lightspeed サービスにリンクします。
        • オンプレミスの Red Hat OpenShift Dev Spaces など、Ansible Lightspeed が認識しないドメインのクラウド開発環境を使用している場合は、Accounts のサインインメニューに、Sign-in with Red Hat to use Ansible オプションが表示されます。このオプションでは、デバイスコードフローを使用してサインインプロセスを正常に完了し、Red Hat Authentication 拡張機能 v0.2.0 以降が必要です。この認証フローが必要であるにもかかわらず、Sign-in with Red Hat to use Ansible オプションが表示されない場合は、Ansible VS Code 拡張機能 v24.5.2 以降を使用していることを確認してください。
      3. 画面上のプロンプトに従って、Ansible Lightspeed にサインインします。

    認証が成功すると、ユーザー名と割り当てられたユーザーロールとともにログイン画面が表示されます。

5.5. Ansible Lightspeed サービスからログアウト

Ansible Lightspeed Service からログアウトするには、Ansible Lightspeed VS Code 拡張機能と Ansible Lightspeed ポータルの両方からログアウトする必要があります。

手順

  • Ansible Lightspeed VS Code 拡張機能からログアウトします。

    • Person アイコン Person icon をクリックします。VS Code がログインしているアカウントのリストが表示されます。
    • Ansible LightspeedSign Out を選択します。
  • Ansible Lightspeed ポータルからログアウトします。

第6章 タスクの推奨事項のリクエスト

Red Hat Ansible Lightspeed は、Ansible VS Code 拡張機能を介して Visual Studio (VS) Code に統合されます。Ansible VS Code 拡張機能を使用して、タスクの目的に応じたコードの推奨事項をリクエストできます。

6.1. 概要

Ansible VS Code 拡張機能から以下のタスクを実行できます。

  • 自然言語プロンプトを使用してシングルタスクまたはマルチタスクのリクエストを作成する

    • 単一のタスクプロンプトを作成する

      Ansible ファイルの新しいタスク行の - name: キーにタスクの説明を記述します。たとえば、PostgreSQL サーバーをインストールするタスクを自動化するには、- name: Install postgresql-server のプロンプトを入力します。

    • マルチタスクのプロンプトを作成します。

      Ansible YAML ファイルの新しい行の正しいインデントにカーソルを置き、ポンドキー (#) でプロンプトを開始します。

      アンパサンド記号 (&) を使用して各プロンプトを区切って、タスクの説明を記述します。たとえば、PostgreSQL サーバーのインストールと PostgreSQL の初期設定コマンドの実行というマルチタスクを自動化するには、# Install postgresql-server & run postgresql-setup command のプロンプトを入力できます。

      Ansible Lightspeed サービスはテキストを読み取り、IBM watsonx Code Assistant モデルと対話し、自然言語プロンプトに基づいて Ansible タスクの推奨事項を生成します。

      注記

      現在、Red Hat Ansible Lightspeed は英語のユーザープロンプトのみをサポートしています。ただし、IBM watsonx Code Assistant モデルのトレーニングに使用されたトレーニングデータに英語以外の言語が含まれている場合があります。このようなシナリオでは、モデルは同じ英語以外の言語で行われたプロンプトに対してコードの推奨事項を生成できますが、生成されたコードの推奨事項は正確である場合もそうでない場合もあります。

  • コンテンツソースの一致結果を表示する

    Red Hat Ansible Lightspeed は、生成された推奨コードごとに、候補となるソース、コンテンツ作成者、関連するライセンスなどの詳細を含む、一致するコンテンツソースをリストします。このデータを使用すると、コードの推奨事項の生成に使用されるトレーニングデータソースの洞察を得ることができます。

  • Ansible Lightspeed サービスに関するフィードバックの提供

    Ansible Lightspeed サービスは、組織のパターンを学習し、時間の経過とともにコード推奨のエクスペリエンスを向上させます。生成されたコードの推奨事項がタスクの目的に適しているかどうか、フィードバックを提供できます。このフィードバックにより、Red Hat Ansible Lightspeed with IBM watsonx Code Assistant の提案の品質が向上します。

6.2. シングルタスクのコード推奨事項のリクエスト

Ansible VS Code 拡張機能に自然言語プロンプトを入力することで、シングルタスクに関するコードの推奨事項をリクエストできます。たとえば、PostgreSQL サーバーをインストールするタスクを自動化するには、- name: Install postgresql-server のプロンプトを入力します。Ansible Lightspeed サービスはテキストを読み取り、IBM watsonx Code Assistant モデルと対話して、コードの推奨事項を生成します。

前提条件

  • 次の いずれか の要件を満たしている。

    • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを組織で所有している。
    • Red Hat Ansible Automation Platform の試用版または有料サブスクリプションと、Red Hat Ansible Lightspeed のトライアルアカウントを組織で所有している。
  • Ansible VS Code 拡張機能をインストールして設定 している。

手順

  1. Red Hat アカウントで VS Code にログインします。
  2. 新しい YAML ファイルを作成するか、既存の YAML ファイルを使用します。

    • YAML ファイルを作成します。

      1. FileNew Text File を選択します。
      2. 画面の右下で プレーンテキスト をクリックし、言語モードで Ansible を選択します。
      3. ファイルを YAML ファイル形式拡張子 (.yml または .yaml) として保存します。
    • 既存の YAML ファイルを使用します。

      1. 画面右下で、既存の言語モードをクリックし、言語モード設定で Ansible を選択します。

        注記

        VS Code エディターに言語モードセクションが表示されない場合は、コマンドパレットから Configure Language ModeAnsible を選択します。

  3. VS Code の右下のステータスバーに Lightspeed のエントリーが表示されていることを確認します。

    Ansible が目的の言語としてすでに選択されているにもかかわらず、Lightspeed エントリーが表示されない場合は、言語モードとして Ansible を再選択します。以下の図は、VS Code のステータスバーの LightspeedAnsible エントリーを示しています。

    図6.1 選択した言語モードとしての Ansible と Lightspeed の設定

    選択された言語モードとして Ansible と Lightspeed が指定されている設定
  4. オプション: Ansible lint がないというエラーメッセージが表示された場合は、欠けているモジュールをインストールするか、無効にできます。以下のいずれかのタスクを実行します。

    • Ansible lint のインストール: インストールの詳細は、Ansible Lint ドキュメントの インストール セクションを参照してください。
    • Ansible lint を無効にします。

      1. Activity バーから Extensions アイコン Extensions をクリックします。
      2. Installed 拡張機能リストから Ansible を選択します。
      3. Ansible 拡張機能ページで、Settings アイコンをクリックし、Extension Settings を選択します。
      4. Ansible › Validation › Lint: Enabled チェックボックスをオフにします。
  5. Playbook を作成するか、既存の Playbook を使用します。

    詳細は、Playbook のスタートガイド ガイドを参照してください。

  6. Playbook で次の情報を指定して、シングルタスクのコード推奨をリクエストします。

    1. 新しい Ansible タスクを追加するには、正しいインデントで - name: を使用して新しい行を開始します。
    2. タスクの説明の同じ行にある - name: の後に、詳細な自然言語プロンプトを追加します。たとえば、- name: Install postgresql-server のような単一のタスクプロンプトを指定できます。
    3. タスクの説明の直後に Enter を押します。ファイル内の同じ場所にカーソルを置き、コードの推奨の事項に関する結果が表示されるまで待ちます。

      Ansible Lightspeed サービスが稼働し、シングルタスクのコードに関する推奨事項の生成を開始します。

      重要

      Ansible Lightspeed サービスでは、コードの推奨事項の生成にはタスクごとに約 5 秒かかります。マルチタスクプロンプトを使用している場合、Ansible Lightspeed サービスが結果を入力するのに少し時間がかかります (タスク数 × 5 秒)。コードの推奨事項の生成中は、カーソルを移動したりキーを押したりしないでください。カーソルの位置を変更するか、任意のキーを押すと、Ansible VS Code 拡張機能はリクエストをキャンセルし、Ansible Lightspeed サービスはリクエストを処理しません。

      Ansible Lightspeed サービスを使用している場合、Lightspeed 処理ステータスのインジケーターが画面の右下に表示され、コードの推奨事項が生成されていることを示します。

      Lightspeed icon

  7. コードの推奨事項を表示し、推奨事項がタスクの目的と一致していることを確認します。

    次の図は、Ansible Lightspeed サービスがシングルタスク Install postgresql-server に関して生成したコードの推奨事項を示しています。

    Lightspeed single task in progress

  8. コードの推奨事項を受け入れるか、拒否します。

    • コードの推奨事項を使用する場合は、Tab を押します。
    • コードの推奨事項を拒否するには、Esc を押します。

      注記

      推奨事項を拒否した場合は、プロンプトを変更し、タスクの目的に合わせて生成されたコードの推奨事項をもう一度確認できます。

  9. ANSIBLE: LIGHTSPEED TRAINING MATCHES タブで、コンテンツソースの一致結果を表示します。

    次の図は、タスクプロンプト Install postgresql-server の既存の Ansible Galaxy コンテンツで見つかったトレーニングの一致結果を示します。

    既存のコンテンツで一致するトレーニングの結果
  10. Save をクリックして、コードの推奨事項に関する変更を Ansible YAML ファイルに保存します。

6.3. 複数のタスクに対するコードの推奨事項のリクエスト

Ansible VS Code 拡張機能で一連の自然言語タスクプロンプトを入力することで、マルチタスクに対するコードの推奨事項をリクエストできます。YAML ファイルでは、プロンプトをポンド記号 (#) で開始し、アンパサンド記号 (&) を使用して各プロンプトを区切ります。

マルチタスクプロンプトの例

# Install postgresql-server & run postgresql-setup command

読みやすさを向上させるために、マルチタスクのインラインプロンプトを複数の行に分割できます。これを実現するには、現在の行をアンパサンド記号 (&) で終了し、次の行をハッシュ記号 (#) で開始します。

複数行に分割されたマルチタスクプロンプトの例

# Create a keypair called lightspeed-keypair & create a vpc & create vpc_id var &
# create a security group that allows SSH & create subnet with 10.0.1.0/24 cidr &
# create an internet gateway & create a route table

Ansible Lightspeed サービスはテキストを読み取り、IBM watsonx Code Assistant モデルと対話して、コードの推奨事項を生成します。

前提条件

  • 次の いずれか の要件を満たしている。

    • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを組織で所有している。
    • Red Hat Ansible Automation Platform の試用版または有料サブスクリプションと、Red Hat Ansible Lightspeed のトライアルアカウントを組織で所有している。
  • Ansible VS Code 拡張機能をインストールして設定 している。

手順

  1. Red Hat アカウントで VS Code にログインします。
  2. 新しい YAML ファイルを作成するか、既存の YAML ファイルを使用します。

    • YAML ファイルを作成します。

      1. FileNew Text File を選択します。
      2. 画面の右下で プレーンテキスト をクリックし、言語モードで Ansible を選択します。
      3. ファイルを YAML ファイル形式拡張子 (.yml または .yaml) として保存します。
    • 既存の YAML ファイルを使用します。

      1. 画面右下で、既存の言語モードをクリックし、言語モード設定で Ansible を選択します。

        注記

        VS Code エディターに言語モードセクションが表示されない場合は、コマンドパレットから Configure Langauge ModeAnsible を選択します。

  3. VS Code の右下のステータスバーに Lightspeed のエントリーが表示されていることを確認します。

    Ansible が目的の言語としてすでに選択されているにもかかわらず、Lightspeed エントリーが表示されない場合は、言語モードとして Ansible を再選択します。以下の図は、VS Code のステータスバーの Lightspeed エントリーを示しています。

    図6.2 選択した言語モードとしての Ansible と Lightspeed の設定

    選択された言語モードとして Lightspeed が指定されている設定
  4. オプション: Ansible lint がないというエラーメッセージが表示された場合は、欠けているモジュールをインストールするか、無効にできます。以下のいずれかのタスクを実行します。

    • Ansible lint のインストール: インストールの詳細は、Ansible Lint ドキュメントの インストール セクションを参照してください。
    • Ansible lint を無効にします。

      1. Activity バーから Extensions アイコン Extensions をクリックします。
      2. Installed 拡張機能リストから Ansible を選択します。
      3. Ansible 拡張機能ページで、Settings アイコンをクリックし、Extension Settings を選択します。
      4. Ansible › Validation › Lint: Enabled チェックボックスをオフにします。
  5. Playbook を作成するか、既存の Playbook を使用します。

    詳細は、Playbook のスタートガイド ガイドを参照してください。

  6. Playbook で次の情報を入力して、マルチタスクに関するコードの推奨事項を要求します。

    1. 正しいインデント位置にポンド記号 (#) を入力して、新しい YAML ファイルのコメントを開始します。
    2. アンパサンド記号 (&) を使用して各タスクを区切り、詳細な自然言語プロンプトを順番に追加します。

      マルチタスクプロンプトの例

      # Install postgresql-server & run postgresql-setup command

      読みやすさを向上させるには、マルチタスクのインラインプロンプトを複数の行に分割します。これを実現するには、現在の行をアンパサンド記号 (&) で終了し、次の行をハッシュ記号 (#) で開始します。

      複数行に分割されたマルチタスクプロンプトの例

      # Create a keypair called lightspeed-keypair & create a vpc & create vpc_id var &
      # create a security group that allows SSH & create subnet with 10.0.1.0/24 cidr &
      # create an internet gateway & create a route table

    3. タスクの説明の直後に Enter を押します。ファイル内の同じ場所にカーソルを置き、コードの推奨の事項に関する結果が表示されるまで待ちます。

      Ansible Lightspeed サービスが稼働し、複数のタスクに対するコードの推奨事項の生成を開始します。

      重要

      Ansible Lightspeed サービスでは、コードの推奨事項の生成にはタスクごとに約 5 秒かかります。マルチタスクプロンプトを使用している場合、Ansible Lightspeed サービスが結果を入力するのに少し時間がかかります (タスク数 × 5 秒)。コードの推奨事項の生成中は、カーソルを移動したりキーを押したりしないでください。カーソルの位置を変更するか、任意のキーを押すと、Ansible VS Code 拡張機能はリクエストをキャンセルし、Ansible Lightspeed サービスはリクエストを処理しません。

      Ansible Lightspeed サービスを使用している場合、Lightspeed 処理ステータスのインジケーターが画面の右下に表示され、コードの推奨事項が生成されていることを示します。

      Lightspeed icon

  7. オプション: マルチタスクコードの推奨事項が生成されない場合は、VS Code からログアウトし、Red Hat アカウントを使用して再度ログインします。
  8. コードの推奨事項を表示し、推奨事項がタスクの目的と一致していることを確認します。

    次の図は、マルチタスクプロンプト (Install postgresql-server & run postgresql-setup command:) に対して Ansible Lightspeed サービスによって生成されたコードの推奨事項を示しています。

    Lightspeed single task in progress

  9. コードの推奨事項を受け入れるか、拒否します。

    • コードの推奨事項を使用する場合は、Tab を押します。
    • コードの推奨事項を拒否するには、Esc を押します。

      注記

      推奨事項を拒否した場合は、プロンプトを変更し、タスクの目的に合わせて生成されたコードの推奨事項をもう一度確認できます。

  10. ANSIBLE: LIGHTSPEED TRAINING MATCHES タブで、コンテンツソースの一致結果を表示します。

    次の図は、マルチタスクプロンプト (Install postgresql-server & run postgresql-setup command) の既存の Ansible Galaxy コンテンツで一致したトレーニングの結果を示します。

    既存のコンテンツで一致するトレーニングの結果
  11. Save をクリックして、コードの推奨事項に関する変更を Ansible YAML ファイルに保存します。

6.4. Ansible Lightspeed トレーニングマッチの表示

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant の機械学習モデルは、次のコンテンツでトレーニングされています。* 既存のパブリックまたはプライベート Git リポジトリー * Ansible Galaxy のコンテンツ

IBM watsonx Code Assistant の生成 AI テクノロジーと、モデルのトレーニングに使用された Ansible コンテンツの種類が原因で、生成したコードの推奨事項に寄与したトレーニングデータを特定できません。ただし、Ansible Lightspeed は、生成されたコードの推奨事項の取得元として考えられる内容を理解できるようにします。

Red Hat Ansible Lightspeed は、生成されたコードの推奨事項ごとに、候補となるソース、コンテンツ作成者、関連するライセンスなどの詳細を含む、一致するコンテンツソースをリストします。このデータを使用すると、コードの推奨事項の生成に使用されるトレーニングデータソースの洞察を得ることができます。

VS Code で自然言語プロンプトを入力し、生成されたコードの推奨事項を確認した後、ANSIBLE: LIGHTSPEED TRAINING MATCHES タブでコンテンツソースの一致を表示できます。

たとえば、次の図は、マルチタスクの推奨事項 (Install postgresql-server & run postgresql-setup command) のトレーニング検索結果を示しています。

図6.3 マルチタスクの推奨事項に関するトレーニングデータの一致結果

マルチタスクの推奨事項に関するトレーニングデータの一致結果

この機能を使用すると、関連するトレーニングデータに紐付けられているオープンソースのライセンス条項を確認できます。ただし、コードの微調整に使用されるトレーニングデータや出力の推奨自体が著作権で保護されている可能性、また、出力が著作権ライセンス条項で管理されているトレーニングデータを再現している可能性はほぼありません。

注記

Red Hat は、Red Hat Ansible Lightspeed with IBM watsonx Code Assistant で生成された提案について、著作権またはその他の知的財産権を主張しません。

6.5. Ansible Lightspeed サービスに関するフィードバックの提供

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant は、提案の品質に関するフィードバックにより改善されるように設計されています。Red Hat Ansible Lightspeed を使用したユーザーエクスペリエンスの技術情報は、今後の改善に向けた情報として有用です。

以下のチャンネルからフィードバックを送信できます。

  • Ansible VS Code 拡張機能から: このメソッドを使用して、提案されたコードの推奨事項の品質に関するフィードバックを提供します。

    重要

    Red Hat サポートでは、提案の品質に関する支援は行いません。コンテンツの品質の問題は解決に向け IBM に送信されます。

  • Red Hat Customer Portal から: この方法を使用して、バグレポート、サービス中断インシデント、および機能リクエストを記録します。
注記

Ansible Lightspeed Portal のログイン画面に、Matrix チャンネルにリダイレクトする Chat リンクがあります。Matrix チャネルを使用して、Ansible Lightspeed エクスペリエンスに関する質問をしたり、問題のトラブルシューティングのサポートをリクエストしたりできます。ただし、Matrix チャネルは公式のサポートチャネルではないため、Matrix チャットで提起された問題は Red Hat サービスレベルアグリーメント (SLA) では追跡されません。バグや機能リクエストを提起するには、Red Hat サポート に連絡してサポートチケットを作成してください。

前提条件

次の いずれか の要件を満たしている。

  • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを組織で所有している。
  • Red Hat Ansible Automation Platform の試用版または有料サブスクリプションと、Red Hat Ansible Lightspeed のトライアルアカウントを組織で所有している。

手順

  1. Visual Studio Code を開きます。
  2. ステータスバーの Lightspeed エントリーをクリックしてオプションを表示します。
  3. Tell us why フィールドにフィードバックを入力してください。ここでは、生成された結果とトレーニングデータの一致結果と比較し、期待していた結果に関するフィードバックを提供します。
  4. 問題のタイプを (Bug reportFeature request、または Suggestion feedback) を選択します。

    注記

    バグや機能リクエストを提起するには、Red Hat サポート に連絡してサポートチケットを作成してください。Ansible Lightspeed フィードバックを通じて行われたバグ機能および機能リクエストは、Red Hat サービスレベルアグリーメント (SLA) では追跡されません。

  5. I understand that feedback is shared with Red Hat and IBM のチェックボックスを選択します。
  6. Send をクリックします。

    次の図は、提案フィードバックを提供する例を示しています。

    図6.4 Ansible Lightspeed に関するフィードバックの提供

    Ansible Lightspeed に関するフィードバックの提供

第7章 Playbook の生成と Playbook の説明の表示

Ansible VS Code 拡張機能を使用すると、英語の自然言語インターフェイスを使用して Ansible Playbook を作成できます。Red Hat Ansible Lightspeed with IBM watsonx Code Assistant は、自然言語のプロンプトを読み取り、ユーザーの目的に基づいて Playbook の推奨事項全体を生成します。新しい Playbook や既存の Playbook の説明を表示することもできます。Playbook の説明は、Playbook の実行内容と、その効果が得られる状況を説明しています。

これらの機能により、Ansible 開発者は自然言語のプロンプトを使用して新しい Ansible Playbook を迅速かつ効率的に作成できるほか、既存の Ansible Playbook の説明も得られるため、全体的なオンボーディング学習期間が短縮されます。Ansible Playbook の詳細は、Ansible Playbook のスタートガイド を参照してください。

注記

Red Hat Ansible Lightspeed クラウドサービスおよびオンプレミスデプロイメントに接続するときに、Playbook を生成し、Playbook の説明を表示できます。

7.1. Playbook を生成する際のベストプラクティス

Playbook の推奨事項の品質を最適なものにするには、次のガイドラインに従ってください。

  • 目標ステートメントで、Playbook で実行する必要がある内容を直接指定します。

    ステートメントでは、まず Playbook の目標を指定する必要があります (例: Apply security patches to RHEL9)。Create a playbook thatPlease prepare a playbook thatI need help with などの文言を最初に指定するのは避けてください。

  • 目標ステートメントに新しい行を含めないでください。
  • 目標ステートメントが 1 文を超えないようにしてください。

    最良の結果を得るには、目標ステートメントの詳細を書き直す必要がある場合があります。生成されたアウトラインをフィードバックとして使用し、目標ステートメントの詳細を増やすか減らすかを検討して、必要に応じて目標ステートメントを変更することを推奨します。

  • アウトラインを編集するときは、次の点に注意してください。

    • Playbook の目標を再度記述しないでください。
    • 検討した手順に、Playbook の主要な手順が含まれていることを確認します。Playbook に期待されるすべてのタスクが手順に反映されている必要はありません。
    • アウトラインに新しい行を追加せずに、手順の説明を 1 つの文にまとめます。

7.2. Ansible Playbook の生成

Ansible VS Code 拡張機能の自然言語インターフェイスを使用して、Ansible Playbook 全体を生成できます。

前提条件

  • 次の いずれか の要件を満たしている。

    • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを組織で所有している。
    • Red Hat Ansible Automation Platform の試用版または有料サブスクリプションと、Red Hat Ansible Lightspeed のトライアルアカウントを組織で所有している。
  • Ansible VS Code 拡張機能をインストールして設定 している。

手順

  1. Red Hat アカウントで VS Code にログインします。
  2. Activity バーから、Ansible アイコンをクリックします。
  3. Ansible Creator の下の Get started をクリックします。Ansible Content Creator ページが表示されます。

    次の図は、Ansible Content Creator ページを示しています。

    図7.1 Ansible Playbook を作成するための設定

    Ansible Playbook を作成するための設定
  4. Playbook with Ansible Lightspeed タイルを選択します。Create a playbook ページが表示されます。
  5. What do you want the playbook to accomplish? フィールドに、Playbook を作成するためのプロンプトを入力し、Analyze をクリックします。

    数秒後、Playbook の目的に応じた推奨手順が Review the suggested steps for your playbook and modify as needed フィールドに表示されます。

  6. 以下のいずれかのタスクを実行します。

    • 手順が目的に合っている場合は、Generate Playbook をクリックします。
    • 変更が必要な場合は、エディターをクリックし、目的に合わせてタスクまたは手順を更新します。
    • 推奨タスクが目的に合っていない場合は、Back をクリックし、元のプロンプトを変更してやり直してください。
    • 元の推奨タスクを復元する場合は、Reset をクリックして次の手順に進みます。
  7. 手順を確認したら、Generate playbook をクリックします。

    Playbook の生成には数秒かかります。The following playbook was generated for you フィールドに新しく生成された Playbook が表示されます。

  8. Open editor をクリックします。生成された Playbook が、VS Code エディターで無題の YAML ファイルとして開きます。
  9. 無題の YAML ファイルを保存します。

7.3. Playbook の説明の表示

既存の Ansible Playbook だけでなく、新しく作成された Playbook についても説明を求めることができます。

前提条件

  • 次の いずれか の要件を満たしている。

    • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを組織で所有している。
    • Red Hat Ansible Automation Platform の試用版または有料サブスクリプションと、Red Hat Ansible Lightspeed のトライアルアカウントを組織で所有している。
  • Ansible VS Code 拡張機能をインストールして設定 している。
  • 説明を表示する Playbook を開いた。

手順

  1. Red Hat アカウントで VS Code にログインします。
  2. VS Code で Ansible Playbook YAML ファイルを開きます。
  3. 次のいずれかの方法を使用して Playbook の説明を表示します。

    • アクティブな Playbook の YAML ファイルから:

      1. Playbook ファイル内の任意の場所にカーソルを置きます。
      2. 右クリックして、Explain the playbook with Ansible Lightspeed を選択します。
    • Ansible パネルから:

      1. ナビゲーションメニューから、Ansible アイコンをクリックします。
      2. Explain the current playbook を選択します。

        VS Code 画面の右側のパネルに Playbook の説明が表示されます。

        次の図は、Playbook の説明の例を示しています。

        図7.2 Playbook の説明の例

        Playbook の説明の例

第8章 Ansible コードボットのインストールと設定

Ansible コードボットは、GitHub リポジトリーを通じて既存のコンテンツコレクション、ロール、Playbook をスキャンし、ベストプラクティスや品質向上に関する推奨事項が利用できるたびにプルリクエストを前もって作成します。

Ansible コードボットは、コードリポジトリーをスキャンして、コードの品質の改善を推奨します。Ansible のベストプラクティスを推奨し、バグにつながる可能性があったり、コードの管理を困難にする可能性のある一般的なエラーを回避します。ボットはプルリクエストをリポジトリーに自動的に送信し、コンテンツに対する推奨される変更をリポジトリー所有者に事前に通知します。既存の Git リポジトリー (パブリックとプライベートの両方) をスキャンするように Ansible コードボットを設定できます。

注記

Ansible コードボットを使用するには、組織に Red Hat Ansible Automation Platform への有効なサブスクリプションが必要です。ただし、Ansible コードボットを使用するために IBM watsonx Code Assistant は必要ありません。

Ansible コードボットをインストールすると、Jinja 形式の選択されたリポジトリーが自動的にスキャンされます。スキャンが完了すると、コードボットは各リポジトリーの初期 PR を生成します。初期 PR には、毎週実行するように設定されたスキャンスケジュールも含まれています。必ず提案された変更について初期 PR を確認し、PR をマージしてください。初期 PR がマージされると、スキャンスケジュールがトリガーされ、後続のリポジトリースキャンが毎週実行されます。必要に応じて、スキャンスケジュールを毎日または毎月の頻度に変更できます。

ユーザーは、ボットがインストールされているすべてのリポジトリーとそのスキャンステータスが表示される Ansible コードボットダッシュボードにアクセスできます。ダッシュボードから、手動スキャンの開始、スキャン履歴の表示、およびリポジトリーの表示を行うことができます。GitHub から、定期的にリポジトリーをスキャンするようにスケジュールを設定したり、スキャンされないようにリポジトリーを追加または削除したりできます。詳細は、リポジトリースキャンの管理 を参照してください。

重要

Ansible コードボットは、次の GitHub バージョンでサポートされています。

  • GitHub.com
  • GitHub Enterprise Cloud

    Ansible コードボットは GitHub Enterprise Server ではサポートされていません。詳細は、GitHub ドキュメントの GitHub の計画 を参照してください。

次の例は、Ansible コードボットが提案できるコードの推奨事項です。

  • 非推奨のレガシー構文または実装パターンに利用可能な代替手段
  • モジュールのバージョンの変更と更新:

    • 新しい必須パラメーターの追加
    • 非推奨のパラメーターのフラグ付け
    • 未使用のパラメーターの削除
  • YAML ベストプラクティスの適用
  • コメントブロックの追加
  • 名前フィールドの大文字と小文字の問題を修正

8.1. Ansible コードボットのインストール

Ansible コードボットをインストールしてリポジトリーのコード推奨を取得し、Ansible コードボットダッシュボードにログインしてリポジトリースキャンを監視および管理します。

手順

  1. 組織に関連付けられたアカウントを使用して GitHub にログインします。
  2. Ansible code bot GitHub アプリケーションに移動します。
  3. アプリケーションがアクセスする Ansible リポジトリーを選択します。

    • All repositories: 全リポジトリーのメタデータを読み取るアクセス権を提供します。
    • Only select repositories: 選択したリポジトリーのメタデータだけを読み取るアクセス権を提供します。
  4. オプション: 前の手順で Only select repositories を選択した場合は、Ansible コードボットにアクセスさせるリポジトリーを Select repositories リストから選択します。
  5. Install & Authorize をクリックします。インストール中に次の権限がボットに自動的に付与される旨のメッセージが表示されます。

    • メタデータへの読み取りアクセス
    • コードおよびプルリクエストへの読み取りおよび書き込みアクセス
  6. プロンプトが表示されたら、組織管理者として Red Hat Single Sign-On アカウントにログインします。
  7. Ansible コードボットダッシュボードにログインします。

    1. Authorize Ansible code bot ページで、アカウントおよびリポジトリーのパーミッションを確認します。
    2. Authorize Ansible をクリックします。

      Authorize Ansible code bot ページから、次のアクションが実行されます。

      • Ansible コードボットは、Red Hat Ansible Automation Platform への有効なサブスクリプションを持つ組織に所属しているかどうかを確認します。
      • GitHub は、ご使用中のアカウントに関連付けられたリポジトリーに対する読み取り権限をリクエストします。

認可が成功すれば、Ansible コードボットダッシュボードにログインできます。ダッシュボードに、Ansible コードボットがインストールされているすべてのリポジトリーとそのスキャンステータスが表示されます。

8.1.1. インストール後のタスク

Ansible コードボットをインストールすると、Jinja 形式の選択されたリポジトリーが自動的にスキャンされます。スキャンが完了すると、コードボットは各リポジトリーの初期 PR を生成します。初期 PR には、毎週実行するように設定されたスキャンスケジュールも含まれています。

手順

  1. 提案された変更について初期 PR を確認し、PR をマージします。

    初期 PR をマージすると、設定されたスキャンスケジュールがトリガーされ、後続のリポジトリースキャンが毎週実行されます。

    注記

    初期 PR をマージしないと、週次スキャンスケジュールがトリガーされず、関連するスキャン履歴がない状態で Ansible コードボットダッシュボードにリポジトリーが表示されます。

    次の図は、作成される初期 PR の例です。

    Ansible コードボット設定
  2. オプション: 必要に応じて、リポジトリーを手動でスキャン したり、スキャンスケジュールを毎日または毎月に変更 したりできます。
  3. リポジトリーを追加するか、既存のリポジトリーをスキャン対象から削除 して、スキャン対象のリポジトリーを変更します。

8.1.2. Ansible コードボットのアンインストール

Ansible コードボットを使用しない場合は、GitHub からアンインストールできます。コードボットをアンインストールした後も、Ansible コードボットダッシュボードにアクセスできます。ただし、ダッシュボード上でリポジトリーを表示したり、リポジトリーをスキャンしたりすることはできません。

手順

  1. 組織に関連付けられたアカウントを使用して GitHub にログインします。
  2. GitHub で、プロファイルの写真 > Settings をクリックします。
  3. Integrations で、Applications > Installed GitHub Apps の順にクリックします。
  4. Ansible コードボットアプリケーションの横にある Configure をクリックします。
  5. Danger zone エリアの下にある Uninstall をクリックします。

    Ansible コードボットアプリケーションが GitHub アカウントからアンインストールされました。

8.2. リポジトリースキャンの管理

Ansible コードボットダッシュボードには、コードボットがインストールされているリポジトリーのリストが表示され、スキャンスケジュールが設定されていないのか、手動スキャンまたはスケジュールスキャンに設定されているかが示されます。

手動スキャンを開始して Git リポジトリーをスキャンすることも、定期的にリポジトリーをスキャンするスケジュールを設定することもできます。スキャンが完了すると、スキャン履歴 (開始時刻、ステータス、スキャンの種類、作成された場合はプルリクエストへのリンク、スキャンが失敗した場合はログメッセージ) を表示できます。スキャン対象の新しいリポジトリーを追加したり、既存のリポジトリーをスキャン対象から削除したりすることもできます。

8.2.1. Git リポジトリーの手動スキャン

Ansible コードボットにスキャンスケジュールを設定しなかった場合、または次にスケジュールされたスキャンを待たない場合は、Git リポジトリーを手動でスキャンできます。リポジトリーを手動でスキャンしてもプルリクエストが作成されなかった場合は、重複したプルリクエストがすでに存在している可能性があります。Ansible コードボットダッシュボードと GitHub の両方からリポジトリーをスキャンできます。

8.2.1.1. Ansible コードボットダッシュボードからリポジトリーを手動でスキャンする

手順

  1. Ansible code bot dashboard にログインします。

    Repositories リストには、スキャン対象として選択したリポジトリーのリストが表示されます。

    注記

    Repositories リストにリポジトリーが表示されない場合は、スキャン用に追加できます。詳細は、Ansible コードボットへのリポジトリーの追加または削除 を参照してください。

  2. リポジトリーの手動スキャンを開始するには、Ellipsis アイコン ( Ellipsis icon ) スキャンするリポジトリーの横にある Scan now を選択します。
  3. Refresh をクリックして、スキャンジョブのステータスを表示します。
  4. リポジトリースキャンの詳細を表示するには、Ellipsis アイコン ( Ellipsis icon ) リポジトリーの横にある View scan history を選択します。

    リポジトリーのスキャン履歴は、スキャン開始時刻、スキャンステータス、スキャンの種類 (スケジュールまたは手動)、作成された場合はプルリクエストへのリンク、スキャンが失敗した場合はログメッセージとともに表示されます。

  5. GitHub 上のリポジトリーを表示するには、Ellipsis アイコン ( Ellipsis icon ) リポジトリーの横にある View repository を選択します。
8.2.1.2. GitHub からのリポジトリーの手動スキャン

手順

  1. GitHub で、スキャンするリポジトリーのメインページに移動します。
  2. リポジトリー設定を変更するには、About エリアの横にある Settings アイコンをクリックします。
  3. Topics フィールドに、リポジトリーへのキーワード ansible-code-bot-scan を入力します。

    次の図は、手動スキャンを開始するためのキーワードトピックを示しています。

    Ansible コードボット設定
  4. Save changes をクリックします。

    リポジトリー Webhook イベントに基づいて、Ansible コードボットはリポジトリーの手動スキャンを開始します。プルリクエストの重複を回避する条件が満たされていない場合、手動スキャンで、必要な Ansible コードボットの推奨事項がすべて含まれた新しいプルリクエストが生成されます。

8.2.2. Ansible コードボットのリポジトリーの定期スキャン設定

Ansible コードボットをインストールすると、Jinja 形式の選択されたリポジトリーが自動的にスキャンされます。スキャンが完了すると、コードボットは各リポジトリーの初期 PR を生成します。初期 PR には、毎週実行するように設定されたスキャンスケジュールも含まれています。必ず提案された変更について初期 PR を確認し、PR をマージしてください。初期 PR がマージされると、スキャンスケジュールがトリガーされ、後続のリポジトリースキャンが毎週実行されます。必要に応じて、スキャンスケジュールを毎日または毎月の頻度に変更できます。

注記

初期 PR をマージしないと、週次スキャンスケジュールがトリガーされず、関連するスキャン履歴がない状態で Ansible コードボットダッシュボードにリポジトリーが表示されます。このような場合は、設定ファイル ansible-code-bot.yml を手動で作成し、ファイル内でスキャンスケジュールを指定する必要があります。

Git リポジトリーをスキャンする頻度を次のいずれかに指定できます。

  • Daily: 月曜日から日曜日まで毎日実行されます。
  • Weekly: 毎週月曜日に 1 回実行されます。スケジュールを毎日または毎月に変更するまで、Ansible コードボットは、初期設定 PR に従って、リポジトリーを毎週スキャンするように設定されます。
  • Monthly: 毎月 1 回、月の初日に実行されます。

各間隔で、Ansible コードボットは UTC 午前 9 時に Git リポジトリーのスキャンを開始します。

手順

  1. GitHub で、スキャンするリポジトリーに移動します。
  2. リポジトリーの .github フォルダーに ansible-code-bot.yml という名前の .yml 設定ファイルを作成します。
    たとえば、.github/ansible-code-bot.yml です。
  3. 設定ファイルで、interval パラメーターにスキャンスケジュールを指定します。interval パラメーターは、dailyweekly、または monthly として指定できます。以下に例を示します。

    schedule:
      interval: daily
  4. 変更をコミットします。

Ansible コードボットは、午前 9 時 (UTC) に設定したスケジュールに従ってリポジトリーのスキャンを開始します。

8.2.3. リポジトリーのスキャン履歴の表示

Ansible コードボットダッシュボードを使用して、リポジトリーとそのスキャン履歴の一覧を表示します。

手順

  1. Ansible code bot dashboard にログインします。

    Ansible コードボットダッシュボードには、コードボットがインストールされているリポジトリーのリストが表示され、スキャンスケジュールが設定されていないのか、手動スキャンまたはスケジュールスキャンに設定されているかが示されます。

  2. リポジトリーのスキャン履歴を表示するには、Ellipsis アイコン ( Ellipsis icon ) リポジトリーの横にある View scan history を選択します。

    リポジトリーのスキャン履歴は、スキャン開始時刻、スキャンステータス、スキャンの種類 (スケジュールまたは手動)、作成された場合はプルリクエストへのリンク、スキャンが失敗した場合はログメッセージとともに表示されます。

  3. GitHub 上のリポジトリーを表示するには、Ellipsis アイコン ( Ellipsis icon ) リポジトリーの横にある View repository を選択します。

8.2.4. Ansible コードボットからのリポジトリーの追加または削除

リポジトリーに対して Ansible コードボットを有効にしたり、管理する必要がなくなったリポジトリーを削除したりできます。

手順

  1. Ansible code bot dashboard にログインします。
  2. Manage Code Bot on GitHub をクリックします。
  3. GitHub で、プロファイルの写真 > Settings をクリックします。
  4. Integrations で、Applications をクリックします。
  5. Repository access 領域から、次のいずれかのタスクを実行します。

    • Add a new repository: Select repositories リストから、追加するリポジトリーを選択します。新たに追加したリポジトリーが Ansible code bot ダッシュボードに表示されます。
    • Remove an existing repository: Select repositories リストから、削除するリポジトリーの横にある 十字 アイコンをクリックします。削除されたリポジトリーの詳細が、Ansible コードボットダッシュボードに表示されなくなります。
  6. Save をクリックします。

8.3. Ansible コードボットがプルリクエストの重複を処理する方法

  • Ansible コードボットが最新のコミットのデフォルトブランチでプルリクエストを作成した場合に、リポジトリーはスキャンされません。プルリクエストは最新のデフォルトブランチでコミットされ、そのプルリクエスト後に新しいコミットが行われなかったため、ボットはリポジトリーのスキャンをスキップします。
  • 既存のプルリクエストがデフォルトのブランチの最新コミットに含まれない場合は、Ansible コードボットはプルリクエストの差分を実行して、両ブランチ間の変更を比較します。次の状況が発生することがあります。

    • 既存のスキャンと新しいスキャンの結果に差分がない: Ansible コードボットは、スキャン結果を新しいプルリクエストとしてプッシュしません。
    • 既存のスキャン結果と新しいスキャン結果には相違点がある: Ansible コードボットが新しいプルリクエストを作成します。プルリクエストの差分が指摘されている場合に、新規作成されたプルリクエストでは、既存のプルリクエストは終了されません。この動作により、リポジトリー管理者は Ansible コードボットによって作成された最新のプルリクエストのみを容易にレビューできるようになり、管理者はボットが作成した古いプルリクエストをレビューする必要がなくなります。必要に応じて、管理者は古いプルリクエストを終了できます。

第9章 管理者ダッシュボードのテレメトリーの表示および管理

Red Hat Ansible Lightspeed は、デフォルトで次のテレメトリーデータを収集します。

  • 運用テレメトリーデータ

    これは、Ansible Lightspeed サービスの操作とトラブルシューティングに必要なデータです。詳細は、エンタープライズ契約を参照してください。運用上のテレメトリーデータの収集は無効化できません。

    これには次のデータが含まれます。

    • ログインしている組織 (組織 ID、アカウント番号)
    • 接続されている大規模言語モデル (複数のモデル)
  • 管理者ダッシュボードのテレメトリーデータ

    このデータは、組織のユーザーが Ansible Lightspeed サービスを使用する方法、管理者ダッシュボードにメトリクスを表示する方法に関する知見を提供します。

    これには次のデータが含まれます。

    • プロンプトとコンテンツの提案 (コンテンツの提案の受け入れまたは拒否を含む)
    • ユーザーの感情/フィードバック

      テレメトリーデータの収集と監視の必要がなくなった場合は、管理者ダッシュボードテレメトリーを無効にすることもできます。

注記

管理者ダッシュボードでのテレメトリーデータの表示は、Red Hat Ansible Lightspeed オンプレミスデプロイメントではまだサポートされていません。

9.1. 前提条件

管理者ダッシュボードのテレメトリーデータを表示および管理するには、次のものがあることを確認してください。

  • 有効な Red Hat Ansible Automation Platform サブスクリプションを持つ、Red Hat カスタマーポータル組織に対する組織管理者権限を持っている。
  • 管理者ダッシュボードのテレメトリー収集に必要な Ansible VS Code 拡張機能 v2.13.148 がインストールされています。
重要

Red Hat Ansible Lightspeed は、ユーザー名やパスワードなどのユーザーの個人情報を収集しません。誤って個人情報を受信した場合、データは削除されます。Red Hat Ansible Lightspeed のプライバシー慣行の詳細は、管理者ダッシュボードのテレメトリーデータ収集に関する通知 を参照してください。

9.2. 収集されるテレメトリーデータ

以下は、Red Hat Ansible Lightspeed が収集するテレメトリーデータのリストです。

  • 組織 ID やアカウント番号など、ログインしている組織の詳細
  • 接続している大規模な言語モデル
  • 組織のユーザーによって承認、拒否、または無視されたインライン提案
  • ユーザーの感情/フィードバック
  • コードの推奨で返される上位 10 モジュール

9.3. 管理者ダッシュボードのテレメトリーの表示

管理者ダッシュボードには、分析テレメトリーデータが表示され、組織ユーザーが Ansible Lightspeed サービスをどのように使用しているかを把握するために使用できます。

管理者ダッシュボードには次のグラフが表示されます。

  • ユーザーが受け入れた、拒否した、または無視したインラインの提案

    このグラフは、組織内のユーザーによって受け入れられた、拒否された、または無視されたインライン提案の数を追跡します。このグラフを使用して、組織のユーザーが Ansible Lightspeed サービスをどのように使用しているかを把握します。

  • ユーザーのフィードバック

    このグラフはユーザーのフィードバック (感情、意見) を測定します。このグラフを使用して、Red Hat Ansible Lightspeed の全体的なユーザーエクスペリエンスの知見を得ることができます。

  • コードの推奨で返される上位 10 モジュール

    このグラフには、コードの推奨事項で返された上位 10 モジュールが表示されます。このメトリクスを使用して、組織の自動化開発者に最も推奨されているモジュールを判断します。

手順

  1. 組織管理者として Ansible Lightspeed with IBM watsonx Code Assistant Hybrid Cloud Console にログインします。
  2. ナビゲーションパネルから Ansible Lightspeed > Admin Dashboard を選択します。

    管理者ダッシュボードには、デフォルトで過去 30 日間の分析テレメトリーデータがグラフィカルに表示されます。

  3. 次のフィルターを使用してテレメトリーデータを絞り込みます。

    • 特定の期間またはカスタムの日付範囲のテレメトリーデータを表示するには、Quick Date Range リストから日付範囲を選択します。
    • 特定の IBM watsonx Code Assistant モデルのテレメトリーデータのみを表示するには、Model Name リストからモデル ID を選択します。デフォルトでは、管理者ダッシュボードにはすべてのモデルのテレメトリーデータが表示されます。

9.4. 管理者ダッシュボードのテレメトリーの無効化

Red Hat Ansible Lightspeed は、デフォルトで管理者ダッシュボードのテレメトリーデータを収集します。このデータにより、組織のユーザーが Ansible Lightspeed サービスをどのように使用しているかを把握できます。組織の分析テレメトリーデータを収集する必要がなくなった場合は、管理者ダッシュボードのテレメトリーを無効にできます。

管理者ダッシュボードのテレメトリーを無効にすると、Ansible Lightspeed サービスは組織の分析テレメトリーデータを収集しなくなります。以前のテレメトリーデータは引き続き管理者ダッシュボードで利用できますが、最新のデータは表示されません。管理者ダッシュボードのテレメトリーを再度有効にすると、Ansible Lightspeed サービスが組織のデータの収集を開始し、24 時間後にメトリクスが管理者ダッシュボードに表示されます。

前提条件

  • 有効な Red Hat Ansible Automation Platform サブスクリプションを持つ、Red Hat カスタマーポータル組織に対する組織管理者権限を持っている。

手順

  1. Ansible Lightspeed portal に組織管理者としてログインします。
  2. ログイン画面で、Admin Portal をクリックします。
  3. 管理ポータルで Telemetry をクリックします。
  4. 管理者ダッシュボードのテレメトリーを無効にするには、Operational telemetry data only を選択します。

    注記

    管理者ダッシュボードのテレメトリーを再度有効にするには、Admin dashboard Telemetry data を選択します。

  5. Save をクリックします。

第10章 トラブルシューティング

このセクションには、Red Hat Ansible Lightspeed with IBM watsonx Code Assistant を使用する際の問題の診断と解決に役立つ情報が含まれています。

10.1. Red Hat Ansible Lightspeed 設定エラーのトラブルシューティング

10.1.1. Ansible Lightspeed 管理ポータルにアクセスできない

Ansible Lightspeed 管理者ポータルには、Red Hat 組織管理者のみがアクセスできます。

Red Hat 組織管理者の場合は、Ansible Lightspeed 管理者ポータルにアクセスする前に、以下を確認してください。

  • 有効な Ansible Automation Platform サブスクリプションがある。

10.1.2. API キーを保存できない

IBM watsonx Code Assistant の API キーを入力すると、認証が失敗し、次のエラーメッセージが表示されます。

IBM Cloud API key is invalid

Red Hat Ansible Lightspeed は、関連するアクセストークンを生成することで API キーを検証します。このエラーを解決するには、IBM watsonx Code Assistant から API キーを取得するときに、誤って余分なスペースを含めていないかを確認してください。それでも API キーをアップロードできない場合は、IBM サポート にお問い合わせください。

10.1.3. 認証に失敗したためモデル ID を設定できない

Red Hat Ansible Lightspeed 管理者ポータルにモデル ID を入力すると、認証に失敗します。

エラーを解決するには、以下を確認してください。

  • モデル ID をアップロードする前に、有効な API キーを設定した。
  • モデル ID を入力するときに、誤って余分なスペースを含めていない。

10.1.4. 推論失敗のためモデル ID を設定できない

モデル ID の検証時に Red Hat Ansible Lightspeed はテスト推論を実行します。Red Hat Ansible Lightspeed がエラーを検出した場合、検証は失敗し、Inference failed のメッセージが表示されます。

エラーを解決するには、以下を確認してください。

  • 有効な API キーとモデル ID がある。
  • IBM watsonx Code Assistant から API キーとモデル ID を取得するときに、誤って余分なスペースを含めていない。

10.2. Red Hat Ansible Lightspeed オンプレミスデプロイメントのエラーのトラブルシューティング

10.2.1. Ansible Lightspeed ポータルにログインできない

Red Hat Ansible Lightspeed オンプレミスデプロイメントを設定し、Ansible Lightspeed ポータルにログインしようとすると、ログイン試行が失敗します。次の状況が発生することがあります。

  • ログイン試行が失敗し、次のエラーメッセージが表示される。

    Error: invalid_request

    Mismatching redirect URL

    このエラーは、ログインリダイレクト URI の設定が正しくないことを示しています。リダイレクト URI のパラメーターには、Red Hat Ansible Lightspeed インスタンスの URL と /complete/aap/ 接尾辞が含まれている必要があります。以下はログインリダイレクト URI の例です。

    https://lightspeed-on-prem-web-service.com/complete/aap/

    詳細は、Redirect URIs の更新 を参照してください。

  • ログイン試行が失敗し、次のエラーメッセージが表示される。

    Error: invalid_request

    Invalid client_id parameter value

    このエラーは、認可接続シークレットに誤った クライアント ID 値が含まれていることを示しています。このエラーを解決するには、認可接続シークレットの auth_api_key パラメーターに空白文字 (余分な行、スペースなど) を誤って追加していないことを確認します。詳細は、接続シークレットの作成 を参照してください。

  • ログイン試行が失敗し、次のエラーメッセージが表示される。

    ERROR: Your credentials aren’t allowed

    You currently do not have access to.

    このエラーは、認可接続シークレットに誤った クライアントシークレット 値が含まれていることを示しています。このエラーを解決するには、認可接続シークレットの auth_api_secret パラメーターに空白文字 (余分な行、スペースなど) を誤って追加していないことを確認します。詳細は、接続シークレットの作成 を参照してください。

  • ログイン試行が失敗し、次のエラーメッセージが表示される。

    Not Found

    The requested resource could not be found.

    このエラーは、認可接続シークレットを作成するのに誤った API URL 値が使用されたことを示しています。このエラーを解決するには、auth_api_url パラメーターに接頭辞 https:// と接尾辞 /api/ が含まれていることを確認します。詳細は、接続シークレットの作成 を参照してください。

  • ログイン試行が失敗し、次のエラーメッセージが表示される。

    Server Not Found

    このエラーは、認可接続シークレットの API URL 値に接尾辞 /api/ が含まれていないことを示します。このエラーを解決するには、auth_api_url パラメーターに接尾辞 /api/ が含まれていることを確認します。詳細は、接続シークレットの作成 を参照してください。

  • ログイン試行が失敗し、次のエラーメッセージが表示される。

    Server Error (500)

    このエラーメッセージは、サービスに内部エラーがあるか、認可接続シークレットに誤った API URL 値が含まれていることを示しています。このエラーを解決するには、auth_api_url パラメーターに接頭辞 http:// ではなく https:// が含まれていることを確認します。詳細は、接続シークレットの作成 を参照してください。

  • ログイン試行が失敗し、次のエラーメッセージが表示される。

    Bad Request (400)

    このエラーを解決するには、認可シークレットの auth_allowed_hosts パラメーターを確認します。テスト診断には、アスタリスク (*) 記号を使用してください。詳細は、接続シークレットの作成 を参照してください。

10.2.2. Ansible Lightspeed ポータルからログアウトできない

Ansible Lightspeed ポータルからログアウトすると、Ansible Lightspeed ではなく、Automation Controller API ページにリダイレクトされます。

このエラーは、Red Hat Ansible Lightspeed オンプレミスデプロイメントのセットアップ中にログアウトリダイレクト URI が設定されなかったことを示しています。YAML ファイルに LOGOUT_ALLOWED_HOSTS エントリーを追加して、ログアウトリダイレクト URI を設定する必要があります。詳細は、Redirect URIs の更新 を参照してください。

10.2.3. Ansible VS Code 拡張機能から Ansible Lightspeed サービスに接続できない

次の状況が発生することがあります。

  • ログイン試行が失敗し、次のエラーメッセージが表示される。

    Enable lightspeed services from settings to use the feature.

    このエラーは、Ansible VS Code 拡張機能で Ansible Lightspeed が有効になっていないことを示しています。このエラーを解決するには、次のタスクを実行します。

    1. VS Code アプリケーションを開きます。
    2. Activity バーから Extensions アイコンをクリックします。
    3. Installed Extensions リストから、Ansible を選択します。
    4. Ansible 拡張機能ページで、Settings アイコン ( Settings icon ) をクリックし、Extension Settings を選択します。
    5. Ansible Lightspeed 設定を選択し、Enable Ansible Lightspeed チェックボックスをオンにします。
  • Connect ボタンをクリックすると、間違った Ansible Lightspeed インスタンスにリダイレクトされる。

    このエラーは、Ansible VS Code 拡張機能で Ansible Lightspeed サービスを設定するときに、誤ったルート URL が使用されたことを示しています。ルート URL に接尾辞のない正しい値が設定されていることを確認します。詳細は、Red Hat Ansible Lightspeed オンプレミスデプロイメント用に Ansible VS Code 拡張機能を設定する を参照してください。

  • コードの推奨を要求できない。

    次のエラーメッセージが表示されます。

    An error occurred attempting to complete your request. Please try again later.

    このエラーは、Ansible Lightspeed サービスが実行されていないか、実行中であっても問題が発生していることを示しています。Lightspeed サービスのログ (接尾辞が -api の Pod) で、詳細とエラーコードを確認してください。

  • コードの推奨を要求できない。

    次のエラーメッセージが表示されます。

    The IBM watsonx Code Assistant is unavailable. Please try again later.

    または

    IBM watsonx Code Assistant Model ID is invalid. Please contact your administrator.

    このエラーは、モデルシークレットに誤った値が含まれていることを示しています。このエラーを解決するには、モデル接続シークレットの usernamemodel_urlmodel_api_key パラメーターに空白文字 (余分な行、スペースなど) を誤って追加していないことを確認します。詳細は、接続シークレットの作成 を参照してください。

10.2.4. SSL 接続エラーにより Ansible Lightspeed サービスに接続できない

モデルサーバーで自己署名証明書を使用している場合、SSL 証明書の検証エラーが発生し、Ansible Lightspeed サービスとモデルサーバー間の接続が失敗する可能性があります。次のエラーメッセージが表示されます。

Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: self signed certificate in certificate chain (_ssl.c:1006)'))

このエラーを解決するには、モデルサーバーと Ansible Lightspeed サービス間の SSL 保護を無効にします。たとえば、テスト環境を使用しているときは SSL 保護を無効にできます。SSL 保護を無効にするには、Red Hat Ansible Lightspeed カスタムリソース定義 (CRD) YAML ファイルの spec: セクションに次の設定を追加する必要があります。

extra_settings:
    - setting: ANSIBLE_AI_MODEL_MESH_API_VERIFY_SSL
      value: false
SSL 保護の再有効化

実稼働環境にデプロイする場合は、SSL 保護を再度有効にする必要があります。SSL 保護を再度有効にするには、追加した設定を YAML ファイルから削除してください。

手順

  1. Red Hat OpenShift Container Platform にアクセスします。
  2. OperatorsInstalled Operators を選択します。
  3. Projects リストから、Red Hat Ansible Automation Platform Operator をインストールしたときに作成した namespace を選択します。
  4. 先ほどインストールした Ansible Automation Platform (provided by Red Hat) Operator を探して選択します。
  5. Ansible Lightspeed タブを選択します。
  6. 更新するインスタンスを見つけて選択します。
  7. YAML タブを選択します。エディターが YAML エディタービューに切り替わります。
  8. スクロールして spec: セクションを見つけ、spec: セクションの下に次のパラメーターを追加します。

    extra_settings:
        - setting: ANSIBLE_AI_MODEL_MESH_API_VERIFY_SSL
          value: false
  9. Save をクリックします。
  10. Automation Controller Pod を再起動して、修正した YAML を適用します。
    以下の手順を実行します。

    1. Red Hat OpenShift Container Platform から、WorkloadsPods を選択します。
    2. 更新した Ansible Lightspeed Pod を見つけて選択します。
    3. Pod の横にある Edit アイコンをクリックし、Delete Pod を選択します。
      選択した Pod が削除され、新しい Pod が作成されます。

10.3. Ansible Visual Studio Code 拡張機能エラーのトラブルシューティング

10.3.1. Ansible VS Code 拡張機能を使用して生成されたコードの推奨事項を表示できない

次の状況が発生することがあります。

  • 403 エラー メッセージが表示される。

    このエラーを解決するには、以下を確認してください。

    • 組織管理者が組織用に Red Hat Ansible Lightspeed を設定している。
    • 次の いずれか の要件を満たしている。

      • Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを組織で所有している。
      • Red Hat Ansible Automation Platform の試用版または有料サブスクリプションと、Red Hat Ansible Lightspeed のトライアルアカウントを組織で所有している。
  • 必要な Ansible VS コードエクステンション設定が指定されていない。

    • このエラーを解決するには、Lightspeed:Enabled および LightspeedSuggestions:Enabled 設定を有効にしていることを確認してください。詳細は、Ansible VS Code 拡張機能の設定 を参照してください。
  • VS Code で推論要求を行うと、Failure on completion requests エラーが発生する。

    Ansible Automation Platform と IBM watsonx Code Assistant の両方の試用版または有料サブスクリプションを所有する組織の一員であるが、組織管理者が組織用に IBM watsonx Code Assistant モデルを設定していない場合、VS Code で推論リクエストを行うときに Failure on completion requests エラーが発生します。

  • 1 つまたは複数のタスクをリクエストした場合に Ansible Lightspeed encountered an error.Try again after some time. エラーメッセージが表示される。

    このエラーは、VS Code でリモート SSH 拡張機能を使用して、Playbook で単一タスクまたはマルチタスクの推奨事項をリクエストしたときに発生します。ただし、ロールを使用する場合は、タスクの推奨事項が生成されます。このエラーは、多数のロールを含むワークスペースで発生します。

  • VS Code のワークスペース設定により、ユーザー設定がオーバーライドされる。

    ワークスペース設定が指定されている場合、Ansible VS Code 拡張機能を正しく設定していても、ユーザー設定が上書きされる可能性があります。ワークスペース設定により VS Code 拡張機能設定が無効になる可能性があるため、Ansible Lightspeed サービスにアクセスできなくなります。

    このエラーを解決するには、VS Code に Workspace 設定が設定されていないことを確認してください。詳細は、VS Code ドキュメントの Workspace settings を参照してください。

  • マルチタスクプロンプトを入力しましたが、コードの推奨事項は生成されない。

    このエラーを解決するには、VS Code からログアウトし、Red Hat アカウントを使用して再度ログインします。

  • 別の場所をクリックしたか、別のウィンドウに切り替えました。したがって、入力されたコードの推奨事項は表示されなくなりました。

    Red Hat Ansible Lightspeed サービスでは、コードの推奨事項を入力するのにタスクごとに数秒かかる場合があります。マルチタスクプロンプトを使用している場合は、Red Hat Ansible Lightspeed サービスが結果を入力するのに少し時間がかかります。コードの推奨事項の生成中は、カーソルを移動したりキーを押したりしないでください。カーソルの位置を変更するか、任意のキーを押すと、Ansible VS Code 拡張機能はリクエストをキャンセルし、Red Hat Ansible Lightspeed サービスはリクエストを処理しません。このシナリオでは、カーソルを元の位置に戻し、結果を再入力する必要があります。

10.3.2. Ansible VS Code 拡張機能を使用してコードの推奨事項を要求できない

次のエラーメッセージが表示されます (
Your trial to the generative AI model has expired.Refer to your IBM Cloud Account to re-enable access to the IBM watsonx Code Assistant.)。

このエラーを解決するには、IBM Cloud アカウントを参照してアップグレードオプションを選択してください。

10.4. Ansible コードボットエラーのトラブルシューティング

10.4.1. Ansible コードボットにアクセスできない

Ansible コードボットをインストールしてログインしようとすると、次のエラーメッセージが表示されます。

Your organization does not have a valid Red Hat Ansible Lightspeed subscription

Ansible コードボットをインストールすると、次の図に示すように、アクティブなサブスクリプションステータスを示すページにリダイレクトされます。

図10.1 アクティブなサブスクリプションがある Ansible コードボットログイン画面

アクティブなサブスクリプションがある Ansible コードボットログイン画面

ログイン画面にサブスクリプションステータスがアクティブではないと表示される場合、Ansible コードボットによる Git リポジトリーのスキャンは実行されません。このエラーは、組織に有効な Ansible Automation Platform サブスクリプションがないために発生します。このエラーを解決するには、有効な Red Hat Ansible Automation Platform サブスクリプションを持つ組織に所属していることを確認してください。

10.4.2. Ansible コードボットを使用して Git リポジトリーをスキャンできない

Ansible コードボットが正しく設定されていない場合、Git リポジトリーがスキャンされないか、プルリクエストが作成されません。

Ansible コードボットエラーを解決するには、以下を確認します。

  • スキャンするすべての Git リポジトリーを選択している。
  • リポジトリーの .github フォルダーに ansible-code-bot.yml という名前の .yml 設定ファイルがある。たとえば、.github/ansible-code-bot.yml です。

ansible-code-bot-scan のトピックをリポジトリーに追加して、git リポジトリーで手動スキャンを実行します。詳細は、Git リポジトリーの手動スキャン を参照してください。

Ansible コードボットで依然として Git リポジトリーのスキャンができない場合は、次のシナリオが考えられます。

  • Ansible コードボットで Git リポジトリーの ansible-lint 違反が特定されていない。
  • Ansible コードボットには、Git リポジトリーをスキャンする権限がない。
  • 組織に、有効な Red Hat Ansible Automation Platform サブスクリプションがない。

10.4.3. プルリクエストを作成できない

Git リポジトリーをスキャンした後、Ansible コードボットがプルリクエストを作成できないというエラーが発生する場合があります。

このエラーを解決するには、以下を確認してください。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.