2
0

ElasticsearchでAzure OpenAIを使ったAI Assistantを設定し、生成AIのチャットを利用する

Last updated at Posted at 2023-12-29

ElasticのAI Assistant

Elasticではバージョン8.8.1から、AI AssistantというElasticsearchの利用方法をOpenAIなどの生成AIにお尋ねする機能を搭載しています。

image.png

普通にAIとチャットするだけの機能ではあるものの、質問に対してElasticsearchとしてのコンテキストを理解して回答してくれるので、大変便利です。この記事もAIに書いてもらおうと思ってちょっと試した結果が以下です。

image.png

まあなかなか良い結果ではあるのですが、ちょっと概要としてハイレベルすぎる割に急にES|QLやAPMの可視化とか細かい話をし始めたりもしているので、残念ながらそのまま使うのは諦めました。が、十分実用的であることはわかるのではないでしょうか。

この記事では使い方というより、Elasticでの設定方法について(ちょっと一部わかりにくかったので)記載します。

ただし以下の点に注意して下さい。

  • この機能はElasticのEnterpriseライセンスが必要です。
  • Azure OpenAIのGPT-4を利用します。他は(私は)検証していません。

Azure OpenAIの設定

ここはElastic関係ないので個人的な備忘録的な側面が強いですが、まずはAzureにAzure Open AIのリソースを作成します。

image.png

作成できたら左のメニュー > Model deployments > Manage Deploymentsをクリックします。

image.png

Azure Open AI Studioという画面が開くので、そこのCreate new deploymentから適切なモデルを選んでデプロイします。ここではgpt-4をデプロイしました。

image.png

で、この後Elastic側にこのデプロイメントを使うためにエンドポイントURLなどを渡さないといけないのですが、そのURLの取得方法について記載されているドキュメントを見つけられませんでした。色々試してみた結果、Azure OpenAI SturioのPlayground > Chat > View codeをクリックすると表示されるダイアログから、適切なエンドポイントとAPI Keyのどちらも取得できることがわかりました。

image.png

image.png

ここを参照すると、Endpoint URLは以下の通りでした。

https://{OpenAIリソース名}.openai.azure.com/openai/deployments/{デプロイメント名}/chat/completions?api-version={APIバージョン}

私はうっかりAPIバージョンをモデルバージョンと取り違えて何度か404エラーになっていました。同様のエラーになった方は注意してください。APIバージョンはこの記事の執筆時点では2023-07-01-previewです。

Elasticの設定

Elastic側ではKibanaでConnectorとして設定します。Stack Management > ConnectorsからOpenAIを選択します。

image.png

ここで先ほど取得したエンドポイントのURLとAPIキーを設定します。また、Select an OpenAI providerのプルダウンからAzure OpenAIを選択します。

image.png

設定したらテストして接続を確認しましょう。

使ってみる

AI Connectorが設定できたら、セキュリティやオブザーバビリティーのAI AssistantからAI相手にチャットをすることができるようになります。

image.png

image.png

例えばセキュリティーのアラートが発生した時に、そのアラートの原因と対処方法などをAIに聞くことで、初動を早くしたりすることができる、というのが特にこの機能がリリースされた際の謳い文句で、確かにその用途が便利かつ有用だと思います。

ただもちろんそういった質問しかできないわけはないので、この投稿の最初でブログ記事を書かせようと試したように、Elasticについて詳しいAIに色々頼み事をしてみることも可能ですので、色々触って新しいユースケースを探してみてください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0