次の方法で共有


コード エディターを使用してトピックの YAML を記述および編集する

トピック は、YAML (YAML Ain't Markup Language) の使用をサポートするコード エディターで記述および編集できます。YAML は構成ファイルの記述に使用され、XML や JSON よりも読みやすい傾向があります。 YAML ファイルでは、.yaml または .yml ファイル拡張子が使用されます。 YAML ファイルは、文字列、数値、ブール値、リスト、辞書などのデータ構造を表すために、スペースとインデントを使用してフォーマットされます。

トピック からコード エディターにアクセスするには、その他 アイコン () を選択し、コード エディターを開く を選択します。

このビデオで、コード エディターで YAML を使う方法の概要をご覧ください:

重要

すべての作成者がコード エディターを使用して、トピックの構成を調べることができます。 開発者や上級ユーザーは、コード エディター内で設計および編集することを選択できます。 ただし、コード エディターで修正を行うときは、句読点や構文のエラーによって複雑なエラー メッセージが表示されたり、現在の会話が中断されたりする可能性があるため、十分に注意することをお勧めします。 テクニカル サポート チームでは、コード エディターのエラーの修正を支援できません。 したがって、YAML の修正に慣れていない場合は、変更を加える前に、トピック のコピーを作成してください

コード エディターを使用する場合

Copilot Studio では、YAML を最初から記述する必要はありません。 トピック キャンバス上にオブジェクトを作成すると、YAML が自動的に生成されます。 その後、コード エディターで構成を確認して設定をよりよく理解するか、YAML に変更を加えることを選択できます。 コードエディタの使用例を次に示します。

  • コード エディターには、トピック内の個々のダイアログ要素を操作する必要なく、トピックの完全な構成が表示されます。 これは、トピック内のすべての設定を表示するためのワンストップショップです。
  • 作成者は、コピー貼り付け アイコンを使用するのではなく、トピックから特定のノードをコピーして他のトピックに貼り付けることを選択できます。 構成のノードを複数選択するよりも簡単かもしれません。
  • 作成者は、コールとアクション メニューへの同期を待つのではなく、YAML で Power Automate フロー ID を更新することを選択する場合があります。
  • 作成者は、類似している 質問 ノードまたは メッセージ ノードを複製して修正することを選択できます。 ただし、このような場合は、すべての ID と変数が一意であることを確認することが重要です。 複製された ID を修正して、一意の ID に変換することを忘れないでください。
  • 作成者は、コード エディターで入力する方が早い場合や、テキストを YAML コードにコピーして貼り付ける場合など、簡単な修正を選択するかもしれません。

コード エディターの YAML を理解する

次の画像は、一般的な YAML のブロックの例を示しています。

コード エディターのサンプル YAML コードのブロックのスクリーンショット。

そのコードが キャンバス に表示される対応するトピックにどのように適用されるかを次に示します。

  • 1 行目: トピックの種類
  • 2 行目から 3 行目: 会話を盛り上げるトピックの開始を示す
  • 行 7: 生成回答ノードを示します
  • 行 9: 関連する変数
  • 11 行目から 12 行目: プロンプトと特別な指示の詳細
  • 20-26行目:ナレッジソースリンク
  • 28 行目から 32 行目: 条件グループ - 各条件には一意の ID と、条件の数式の詳細とリダイレクトがあります

コード エディターの YAML をテストする

このコードをテストする場合、Copilot Studio で次の手順を実行します。

  1. エージェントを作成する。

  2. エージェントの 設定 ページに移動し、生成 AI生成の順に選択します。

  3. トピック ページに移動し、システム を選択して、会話強化 トピックを選択します。

  4. コード エディターを開きます。

  5. 既存のコードを次の YAML のサンプル コードに置き換えます。

     kind: AdaptiveDialog
     beginDialog:
      kind: OnUnknownIntent
      id: main
      priority: -1
      actions:
        - kind: SearchAndSummarizeContent
          id: search-content
          userInput: =System.Activity.Text
          variable: Topic.Answer
          moderationLevel: Medium
          additionalInstructions: Include emojis to make responses more fun.
          publicDataSource:
            sites:
              - "www.chessusa.com/"
              - "www.chess.com/"
              - "www.lichess.org/"
    
          sharePointSearchDataSource: {}
    
        - kind: ConditionGroup
          id: has-answer-conditions
          conditions:
            - id: has-answer
              condition: =!IsBlank(Topic.Answer)
              actions:
                - kind: EndDialog
                  id: end-topic
                  clearTopicQueue: true
    
  6. 保存 を選択し、コード エディターを閉じます。

  7. テスト パネルで、「ナイトはどのように動きますか?」など、チェス関連の質問をしてエージェントをテストします。