目次
この記事について
本記事は、Agent Builder を使用したデータストア参照型対話エージェントの作成に関する調査記録です。
やりたいこと
Agent Builder を用いたデータストア参照型対話エージェントの作成において、
既存のデータストア機能だとデータ数増加により回答率の低下が発生する為、elastic + dataflow + bigqueryで作成した検索が可能なデータストアを実装したい。
elastic + kibanaのinstallと仕様を軽く学ぶ。
- やりたいこと
- elastic + dataflow + bigqueryを使って検索が可能なデータストアを作るうえで、elasticとkibanaのインストールをしておきたいのと、使い方を軽く学んでおきたい。
- 試したこと
- 下記記事を参考にelasticとkibanaをインストールし、使い方を少し学んだ
- 手順
- Elasticsearch と日本語検索プラグイン「 kuromoji 」をインストール
# wgetをインストール
brew install wget# Elasticsearch と日本語検索プラグイン「 kuromoji 」をインストール wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.0-darwin-x86_64.tar.gz tar -xzf elasticsearch-8.1.0-darwin-x86_64.tar.gz cd elasticsearch-8.1.0 bin/elasticsearch-plugin install analysis-kuromoji
- elasticsearchを起動
bin/elasticsearch
- ブラウザを開いて、http://localhost:9200/ にアクセスしてみる、下記jsonが表示されていれば起動は成功しているらしい
- 続いて、Kibana をインストール
#kibanaをインストール
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.1.0-darwin-x86_64.tar.gz
tar -xzf kibana-8.1.0-darwin-x86_64.tar.gz
cd kibana-8.1.0/
# kibana起動コマンド
bin/kibana- 起動後ブラウザを開いて、http://localhost:5601/ にアクセス、Kibanaの管理画面が表示されていたら起動は成功。
- Elasticsearch と日本語検索プラグイン「 kuromoji 」をインストール
- 手順
- 下記記事を参考にelasticとkibanaをインストールし、使い方を少し学んだ
- 分かったこと
- 下記の記事を参考にelasticsearchの使い方を軽く学んでみて、ざっくり以下の事が分かった。
- 主な機能
- Discover(データ探索)
- Elasticsearchに入っている生データ(ログなど)を一覧表示し、検索したりフィルタリングしたりが可能
- 特定のキーワードを含むログを探したり、特定の期間のデータに絞り込んだりするのに使えるらしい
- KQL (Kibana Query Language) という簡単な記法や、より高度な Luceneクエリ、あるいは Dev Tools で使う Query DSL を使って検索条件を指定可能
- Visualize(可視化)
- Discoverで見つけたデータや検索結果をもとに、グラフや表を作成する機能
- 円グラフ、棒グラフ、折れ線グラフ、ヒートマップ、地図など、様々な形式でデータを分かりやすくまとめられるらしい
- 例えば、「時間ごとのアクセス数推移」や「エラー種別ごとの件数割合」などをグラフ化するなど
- Dashboard(ダッシュボード)
- Visualizeで作成した複数のグラフや表を自由に配置して、一枚の画面にまとめる機能
- システムの状態やサービスの状況などを一目で把握できるように、関連する情報を組み合わせて表示してくれるらしい
- リアルタイムに更新されるダッシュボードを作成することも可能
- Dev Tools(開発ツール)
- Elasticsearchに対して、直接リクエスト(クエリ)を送信して、その結果を確認できる機能で、
- 複雑な検索やデータ集計、インデックスの設定変更などを試したい場合に便利みたい
match
,term
,bool
,range
などの Query DSL は、主にこのDev Toolsで実行して動作を確認できる。
- Discover(データ探索)
- Kibanaではどのような検索が可能なのか
- キーワード検索 (match)
- 特定の単語を含むデータを検索。
- フレーズ検索 (match_phrase)
- 複数の単語が特定の順番で出現するデータを検索。
- 完全一致検索 (term)
- 指定した値と完全に一致するデータを検索。
- 複数条件の組み合わせ (bool)
- 「AかつB」「AまたはC」「Dを含まない」といった複雑な条件を指定できる
- 範囲指定 (range)
- 数値や日付がある範囲内のデータを検索可能。
- キーワード検索 (match)
- 次やること
- ElasticsearchとKibanaのインストールと基本的な使い方を学んだので、次はElastic+Dataflow+BigQueryを使って検索可能なデータストアを作るために、Dataflowを使ったBigQueryとElasticsearchの同期を試してみる。
elasticとkibanaをインストールするのに参考にさせてもらった記事
Qiita


はじめての Elasticsearch - Qiita
この記事は全文検索エンジン「Elasticsearch」の入門チュートリアルです。Elasticsearch とはElasticsearch は Elastic 社が開発しているオープンソースの…
http://localhost:9200/ アクセス時の成功ログ
{
"name" : "username.local",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "qJnOX-ukSU-nX6hjUViLnA",
"version" : {
"number" : "8.1.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "3700f7679f7d95e36da0b43762189bab189bc53a",
"build_date" : "2022-03-03T14:20:00.690422633Z",
"build_snapshot" : false,
"lucene_version" : "9.0.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
elasticsearchの使い方について参考にさせてもらった記事
Qiita


触って学ぶElasticsearch - Qiita
全文検索システムを搭載した検索エンジンである Elasticsearch を使用するにあたって抑えておくべきことをまとめました。今回は簡単な仕組みを説明した後に、実際に Elasti...