Azure AI Search (旧称 "Azure Cognitive Search") の条件付きスキル、カスタムWeb APIスキルの紹介
今回は「Azure AI Search」の条件付きスキルとカスタムWeb APIスキルを試してみたいと思います。
ドキュメントプロパティの値がXXXだったら○○○、YYYだったら□□□に設定するといったことをしたいと思うことがあるかと思います。
簡単な条件であれば条件付きスキルで対応できます。少し複雑になったとしてもカスタムWeb APIスキルで対応できます。
具体的にどのようなことができるのか記載していきたいと思います。
条件付きスキルでできること
条件付きスキルでは簡単な条件のみ対応することができます。例としては以下の通り。
1.プロパティ1がAだったらC、A以外だったらDを設定する
2.プロパティ1がAだったらプロパティ2の値を設定し、A以外であれば空を設定する
3.プロパティ1がAだったらプロパティ2とプロパティ3を足した値を設定し、A以外だったらプロパティ4を2倍した値を設定する
参考:条件付きコグニティブ スキル
以下は、解析された言語が設定されるmetadata_languageに関して、"ja"であれば"日本語"、"ja"以外であれば"日本語以外"を設定した例となります。
カスタムWeb API スキルでできること
カスタムWeb APIスキルでは条件付きスキルではできないような複雑なことにもAzure Functionsに関数を用意することで対応可能です。例としては以下の通り。
1.ファイル名に"【秘】"が含まれている場合、セキュリティプロパティを設定する
2.コンテンツの内容を、Azure OpenAIに要約させる
3.ファイルプロパティをもとに別のデータベースから取得した値を設定する
参考:Azure AI Search エンリッチメント パイプラインにカスタム スキルを追加する
以下は、ファイル名に"【秘】"が含まれている場合"Manager Only"、それ以外は"ALL"を設定した例となります。
この値を使用して管理者以外には見せたくないファイルを検索結果から事前にフィルターしておくことが可能になります。
まとめ
カスタムWeb APIスキルを使用することで複雑な条件も対応できるようになります。今回ご紹介したようなセキュリティフィルターを設定するにも役立ちますし、ご紹介できなかったAzure Open AIとの連携も今後使用されるケースが増えてくるのではないかと考えています。こんなことができたらいいな等、ご質問ありましたらご支援等させていただきますので
是非、以下の「お問い合わせフォーム」から気軽にお問合せください!
QESでは、Microsoft製品やAWS製品に関するソリューションに取り組んでおります。
他プロダクトに関するブログも投稿しておりますので是非ご覧ください。
また、QESでは採用活動を強化しております。
ブログを読んで弊社の業務内容に興味を持っていただけましたら、採用情報にもお目通しいただければ幸いです。
https://www.qes.co.jp/recruit.html
※このブログで参照されている、Microsoft、Windows、Azureその他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。