LangChainでRAGを試す でRAGを動かしてみました
うまくいかないときなどRAGで試せることをまとめます
RAGの流れは
データロード -> テキスト分割 -> Vector database化 -> プロンプトでLLMに問い合わせ -> 結果を返す
読み込みたい文章によってデータローダーを変えます
これはCSVやHTMLなど文章によって最適なものが選べると思います
LangChainにはたくさんデータローダーが用意されています
Document loaders | 🦜️🔗 LangChain
分割する方法がいくつかあります
再帰的に文字で分割したり、HTMLで分割したりです
分割するチャンク数など、分割する大きさも指定できます
LangChainの例です
Text Splitters | 🦜️🔗 LangChain
テキスト分割のイメージは
ChunkViz を見るとわかりやすいです
OpenAIEmbeddingsなどembedding modelを選びます
Chroma, FAISS, lancedb などどのVectorDBにするかも影響します
modelでの差の記事
RAG における埋め込みモデルの比較|alexweberk
使うプロンプトでも結果に影響が出そうです
RAGを使う時に試すことが多いです
PR
このリンクは、アフィリエイトリンクです