1. 学ぶ
  2. /
  3. コース
  4. /
  5. LangChain で開発する LLM アプリケーション

Connected

演習

ドキュメントとベクトルデータベースの準備

次の複数の演習で、Balaguer ら(2024)の論文「RAG VS Fine-Tuning: Pipelines, Tradeoffs, and a Case Study on Agriculture」を含む PDF ドキュメントと対話できる、完全な RAG ワークフローを構築します。これは、ドキュメントをチャンクに分割し、ベクトルデータベースに格納し、取得したドキュメントとユーザー入力を結びつけるプロンプトを定義し、LLM が外部データにアクセスできるようにリトリーバルチェーンを構築することで動作します。

この演習では、ドキュメントを保存用に準備し、Chroma のベクトルデータベースに取り込みます。RecursiveCharacterTextSplitter を使って PDF をチャンク化し、OpenAI の埋め込み関数を用いて Chroma ベクトルデータベースに取り込みます。このコースの他の部分と同様に、ご自身の OpenAI API キーを用意する必要はありません。

以下のクラスはすでにインポートされています:RecursiveCharacterTextSplitter、Chroma、OpenAIEmbeddings。

指示

100 XP
  • RecursiveCharacterTextSplitter を使い、chunk_size を 300、chunk_overlap を 50 として data 内のドキュメントを分割します。
  • 提供された OpenAI の埋め込み関数を使い、.from_documents() メソッドでドキュメントを埋め込み、Chroma ベクトルデータベースに取り込みます。
  • 最後の RAG チェーンで使用するために、上位 3 件のドキュメントを返すように vectorstore をリトリーバーオブジェクトへ構成します。