freks blog

about

RAGを使う時の調整すること

created: 2024-05-07
おすすめ記事: 出会ってよかったプログラマー本

LangChainでRAGを試す でRAGを動かしてみました
うまくいかないときなどRAGで試せることをまとめます

RAGの流れは
データロード -> テキスト分割 -> Vector database化 -> プロンプトでLLMに問い合わせ -> 結果を返す

データロード

読み込みたい文章によってデータローダーを変えます
これはCSVやHTMLなど文章によって最適なものが選べると思います

LangChainにはたくさんデータローダーが用意されています
Document loaders | 🦜️🔗 LangChain

テキスト分割

分割する方法がいくつかあります
再帰的に文字で分割したり、HTMLで分割したりです
分割するチャンク数など、分割する大きさも指定できます

LangChainの例です
Text Splitters | 🦜️🔗 LangChain

テキスト分割のイメージは
ChunkViz を見るとわかりやすいです

Vector database化

OpenAIEmbeddingsなどembedding modelを選びます
Chroma, FAISS, lancedb などどのVectorDBにするかも影響します

modelでの差の記事
RAG における埋め込みモデルの比較|alexweberk

プロンプトでLLMに問い合わせ

使うプロンプトでも結果に影響が出そうです

まとめ

RAGを使う時に試すことが多いです

PR

Pythonプログラミングパーフェクトマスター

Pythonプログラミングパーフェクトマスター

このリンクは、アフィリエイトリンクです


Amazonのアソシエイトとして、blog.freks.jp は適格販売により収入を得ています。
This site is managed by freks