Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elasticsearchにおけるベクトル検索(第57回Elasticsearch勉強会)
Search
樋口慎
December 18, 2023
Technology
690
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Elasticsearchにおけるベクトル検索(第57回Elasticsearch勉強会)
第57回 Elasticsearch勉強会(LT大会)の発表資料です。
樋口慎
December 18, 2023
More Decks by 樋口慎
See All by 樋口慎
Elasticsearchで作る生成AIエージェントの“記憶” ~RAG・会話履歴・エージェントメモリの実例~
shin_higuchi
0
140
ChatGPTをどう使うか?(JJUGナイトセミナー5/23)
shin_higuchi
1
2.4k
elasticsearch_semantic_search.pdf
shin_higuchi
0
350
ElasticsearchでECサイトにおける高速検索/集計を実現する
shin_higuchi
4
1.7k
Elasticsearchによる質問応答~NLP機械学習モデルの利用~
shin_higuchi
1
9.4k
Other Decks in Technology
See All in Technology
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
240
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
400
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
420
プロダクトエンジニアに必要な「いい感じ」に作る能力 〜たくさん作れる時代に、どこまで作るかの決め方〜
jnishime_dresscode
2
1.4k
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
1
1.1k
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.2k
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
170
Tab5をRubyで動くパソコンにする
kishima
1
190
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
310
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
160
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
140
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Design in an AI World
tapps
1
300
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Music & Morning Musume
bryan
47
7.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Amusing Abliteration
ianozsvald
1
290
Game over? The fight for quality and originality in the time of robots
wayneb77
1
260
RailsConf 2023
tenderlove
30
1.5k
Transcript
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 第57回Elasticsearch勉強会
Elasticsearchにおけるベクトル検索 Acroquest Technology 株式会社 Elastic Certified Engineer 樋口 慎 @shin0higuchi 1
自己紹介 ⚫ 名前:樋口 慎 ⚫ 所属:Acroquest Technology株式会社 ⚫ 業務:Elasticコンサルティング全般、データ分析、システム開発 ⚫
資格/執筆: 世界初「Elastic Certification」3種取得 Azure Solutions Architect Elasticsearch NEXT STEP 執筆
ベクトル検索のメリット Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3
名称を知らないものを自然言語で検索するのは困難... Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4 バッグクロージャー 袖ビーム グレービーボート ランチャーム
ベクトル化することで、自然言語に依らず検索が可能 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
5 画像1: [0.8, 0.2, 0.3, ....] 画像2: [0.0, 0.5, 0.2, ....] 画像3: [0.3, 0.4, 0.1, ....] 画像4: [0.4, 0.6, 0.2, ....] ベクトル化
文書のベクトル検索 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
6 ▪Elasticsearchの通常の検索 検索クエリを 形態素解析 AWS上でElasticsearchを使うには? AWS/上/で/Elasticsearch/ を/使う/に/は/? 検索対象ドキュメント群 検索 「AWS」「Elasticsearch」 といったキーワードを含むド キュメントのみがヒットする ▪セマンティック検索 機械学習モデルで ベクトル化(embedding) AWS上でElasticsearchを使うには? [0.8, 0.2, 0.3, ....] 検索対象ドキュメント群 検索 意味的に近い ドキュメントがヒットする ※検索ドキュメント群が事前に ベクトル化されている必要がある
Elasticsearchにおけるベクトル検索 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
7
Elasticsearchで学習済みモデルを利用するには Copyright © Acroquest Technology Co., Ltd. All rights reserved.
8 Kibana Elasticsearch 学習済みモデル ② Elandを利用して、 学習済みモデルを Elasticsearchに登録する ① 学習済みモデルを用意する (Hugging Face等を利用す る場合、適切なモデルを選 ぶのみ) ③ ドキュメント登録時/検 索時に登録済みモデルを 呼び出して利用する (ベクトル化)
Elasticsearch内でモデルを呼び出し可能 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
9
Elasticsearchでのベクトル検索 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
10 1. HNSWと呼ばれるアルゴリズムによって、 大量のベクトルが対象でも高速な類似検索が可能 ※script scoreクエリによるブルートフォースkNNも利用可能だが 高レイテンシーのため、厳密性を求めない限りは利用機会が少ないと思われる 2. バージョンアップとともに、利用可能なベクトル次元数も増加 (ver.8.11では4096次元のベクトルまで登録可能) 3. 詳細なクエリ記法はリファレンス参照 k-nearest neighbor (kNN) search | Elasticsearch Guide [8.11] | Elastic を参照
ご清聴ありがとうございました。 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
11
余談ですが.... Copyright © Acroquest Technology Co., Ltd. All rights reserved.
13 • 8.11で sparse_vector型が復活しました(実体はrank_feature型)