Multi Vector Retrieverの概要
以下のlangchainのMulti Vector Retrieverの記事を読んでまとめました.
MultiVector Retriever | 🦜️🔗 Langchain
ドキュメントごとに複数の埋め込みベクトルを保存したいときにどのようにするのが良いか? 以下の方法が考えられ,Multi Vector Retrieverではその方法を提供する.
- Smaller chunks: ドキュメントを小さなチャンクに分割し,埋め込む(ParentDocumentRetriever)
- Summary: 各文書の要約を作成し、文書と一緒に(または文書の代わりに)埋め込む
- Hypothetical questions: 各文書が答えるのに適切であろう仮定の質問を作成し、その質問を文書とともに(または文書の代わりに)埋め込む。
Smaller Chunks
小さなチャンクにすることで,できるだけ意味的に近いものを取得し、 かつできるだけ多くのコンテキストを下流に渡すことができるようになる.
Summary
LLMによる要約を行い,その内容を埋め込む.要約はチャンクの内容をより正確に抽出することができ、より良い検索につながる。
Hypothetical Queries
LLMはまた、特定の文書に尋ねられる可能性のある仮定の質問のリストを生成するために使用することができる。それらの質問を埋め込む.