💭

【Copilot studio】- Copilot StudioのSQLDB検証:ナレッジ検索の精度を探る

に公開

執筆日

2025/5/19

やること

Copilot Studioでは、ナレッジをAzure SQL Database(SQLDB)として選択することができます。これまではSharePointを利用してドキュメントをインデックス化し、セマンティック検索を行う機能が一般的でしたが、SQLDBを選択した場合の挙動について気になったため、実際に検証を行いました。

今回の検証では、SQLDBをナレッジとして設定し、FAQデータを検索できるかどうかを確認します。

準備

まず、Azure Portalを利用してAzure SQL ServerとSQL Databaseをデプロイします。データベース内にFAQテーブルを作成し、サンプルデータを挿入します。以下のクエリを実行してください

CREATE TABLE FAQ (
    FAQId INT PRIMARY KEY IDENTITY(1,1),
    Question NVARCHAR(200) COLLATE Japanese_Unicode_CI_AS NOT NULL,
    Answer NVARCHAR(MAX) COLLATE Japanese_Unicode_CI_AS NOT NULL,
    Category NVARCHAR(50) COLLATE Japanese_Unicode_CI_AS,
    LastUpdated DATETIME DEFAULT GETDATE()
);
INSERT INTO FAQ (Question, Answer, Category) VALUES
(N'店舗の営業時間を教えてください。', N'店舗は毎日午前10時から午後8時まで営業しています。', N'営業時間'),
(N'店舗の休業日はいつですか?', N'毎週水曜日が定休日となっています。祝日の場合は翌営業日が振替休業となります。', N'営業時間'),
(N'オンライン注文の方法は?', N'公式サイトの注文ページから、商品を選択し、必要情報を入力してご注文ください。', N'注文方法'),
(N'返品・交換の条件を教えてください。', N'商品到着から30日以内で未開封の場合、返品・交換可能です。詳細はカスタマーサポートにご連絡ください。', N'返品交換'),
(N'配送料金はいくらかかりますか?', N'全国一律500円、5000円以上のご購入で送料無料です。', N'配送'),
(N'配達日時の指定はできますか?', N'はい、注文時にご希望の日時をご指定いただけます。ただし、一部地域では指定できない場合があります。', N'配送'),
(N'ギフトラッピングサービスはありますか?', N'はい、ギフトラッピングは無料で承っています。注文時にご指定ください。', N'サービス'),
(N'支払い方法は何がありますか?', N'クレジットカード、銀行振込、コンビニ払い、代金引換がご利用いただけます。', N'支払い方法'),
(N'領収書の発行方法を教えてください。', N'注文完了後、マイページからPDF形式で領収書をダウンロードいただけます。', N'支払い方法'),
(N'商品が届かない場合どうすればよいですか?', N'配送状況をご確認いただき、問題がある場合は速やかにカスタマーサポートまでご連絡ください。', N'配送'),
(N'営業時間は何時から何時までですか?', N'当店の営業時間は午前10時から午後8時です。', N'営業時間'),
(N'定休日を教えてください。', N'水曜日が定休日です。祝日の場合は翌日が休みとなります。', N'営業時間');
FAQId Question Answer Category LastUpdated
1 店舗の営業時間を教えてください。 店舗は毎日午前10時から午後8時まで営業しています。 営業時間 2025-04-20 18:04:50.280
2 店舗の休業日はいつですか? 毎週水曜日が定休日となっています。祝日の場合は翌営業日が振替休業となります。 営業時間 2025-04-20 18:04:50.280
3 オンライン注文の方法は? 公式サイトの注文ページから、商品を選択し、必要情報を入力してご注文ください。 注文方法 2025-04-20 18:04:50.280
4 返品・交換の条件を教えてください。 商品到着から30日以内で未開封の場合、返品・交換可能です。詳細はカスタマーサポートにご連絡ください。 返品交換 2025-04-20 18:04:50.280
5 配送料金はいくらかかりますか? 全国一律500円、5000円以上のご購入で送料無料です。 配送 2025-04-20 18:04:50.280
6 配達日時の指定はできますか? はい、注文時にご希望の日時をご指定いただけます。ただし、一部地域では指定できない場合があります。 配送 2025-04-20 18:04:50.280
7 ギフトラッピングサービスはありますか? はい、ギフトラッピングは無料で承っています。注文時にご指定ください。 サービス 2025-04-20 18:04:50.280
8 支払い方法は何がありますか? クレジットカード、銀行振込、コンビニ払い、代金引換がご利用いただけます。 支払い方法 2025-04-20 18:04:50.280
9 領収書の発行方法を教えてください。 注文完了後、マイページからPDF形式で領収書をダウンロードいただけます。 支払い方法 2025-04-20 18:04:50.280
10 商品が届かない場合どうすればよいですか? 配送状況をご確認いただき、問題がある場合は速やかにカスタマーサポートまでご連絡ください。 配送 2025-04-20 18:04:50.280
11 営業時間は何時から何時までですか? 当店の営業時間は午前10時から午後8時です。 営業時間 2025-04-20 18:04:50.280
12 定休日を教えてください。 水曜日が定休日です。祝日の場合は翌日が休みとなります。 営業時間 2025-04-20 18:04:50.280

SQLDBをナレッジに追加

Copilot StudioでSQLDBをナレッジとして設定する手順は以下の通りです。

  1. Copilot studioでエージェントを作成する
  2. +ナレッジの追加をクリックする
  3. Azure SQLをクリックする
  4. +新しい接続を追加するをクリックする
  5. 必要なパラメータを入力し、次へをクリックする
  6. FAQを選択し、次へをクリックする
  7. 次へをクリックする
  8. 追加をクリックする

    9.状態が処理中から準備完了になったことを確認する
    処理中

    準備完了

検証結果

実際に質問を投げかけて、Copilot StudioがSQLDBをどのように検索するかを検証しました。

  • 質問例と結果
    シンプルな質問
    「店舗の営業時間を教えてください。」のようなFAQに登録されている質問を入力すると、正確な回答を得ることができました。
    ↓回答できたもの

  • データベース構造に関する質問
    「FAQテーブルのカラム名を教えてください。」のようなデータベースに関する質問にも正確に対応しており、テーブル構造を把握していることが確認できました。

  • 複雑な質問
    複数の条件を含む質問や、FAQに登録されていない情報に対しては正確な回答が得られませんでした。


まとめと考察

今回の検証では、Copilot StudioがSQLDBをナレッジとして利用できることを確認しました。FAQに登録されている情報だけでなく、データベース構造に関する質問にも対応できる点は非常に便利だと感じました。一方で、FAQに登録されている情報の掛け合わせの質問には対応が難しい場合があることも分かりました。

推測になりますが、Copilot StudioはMicrosoft Fabricの「Copilot for SQL Database」と同様に、自然言語をT-SQLコードに変換して検索を行っている可能性があります。公式ドキュメントには詳細な記述がないため、今後のアップデートでさらなる情報が公開されることに期待したいです。
https://learn.microsoft.com/ja-jp/fabric/database/copilot/copilot?utm_source=chatgpt.com

ヘッドウォータース

Discussion