Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agentic RAG with LangGraph

Agentic RAG with LangGraph

渋谷でビール片手にLT会!のLT資料です!

Atsushi Miyamoto

December 19, 2024
Tweet

More Decks by Atsushi Miyamoto

Other Decks in Technology

Transcript

  1. © 2024 Loglass Inc. 0 © 2024 Loglass Inc. Agentic

    RAG with LangGraph 宮本 淳志 2024.12.19
  2. © 2024 Loglass Inc. 1 自己紹介 自動車整備士としてキャリアをスタートし、退職後カナダのバンクーバーへ渡航。その後、プログラ ミングを現地の学校で勉強した後に、機械学習エンジニアとして現地のスタートアップでエンジニア としてのキャリアをスタートさせる。 2年半カナダに滞在したのち、福岡へ移住。

    福岡の受託開発会社でバックエンドエンジニアとして3年ほど勤務。バックエンド・フロント・インフ ラの経験を積む。 2024年10月に株式会社ログラスへクラウドエンジニアとして入社。 生成AI入門中 株式会社ログラス クラウドエンジニア 宮本 淳志 Atsushi Miyamoto
  3. © 2024 Loglass Inc. 3 今日話すこと 0. 背景 1. RAGとは

    2. LangGraphとは 3. AI Agentとは 4. Agentic RAG + LangGraphのアプローチ 5. まとめ Agenda
  4. © 2024 Loglass Inc. 6 01|RAGとは RAG(Retrieval Augmented Generation)の概要 大規模言語モデル(LLM)の出力を最適化するプロセス

    LLMの応答生成前に外部の信頼できる知識ベースを参照して、回答の質を向上させることが可能 利点: • 最新の情報へのアクセス ◦ OpenAIのgpt-4o-2024-11-20のモデルの場合2023/10月カットオフ • 信頼性の強化 ◦ 出力へ参照元の資料のURLなども含めることが可能 • ハルシネーションの低減 ◦ 外部知識に基づいて回答を生成させるため、LLMが誤った回答をするリスクを軽減 ※参考: https://aws.amazon.com/what-is/retrieval-augmented-generation/
  5. © 2024 Loglass Inc. 7 01|RAGとは RAGの基本構成 ※参考: https://aws.amazon.com/jp/blogs/news/a-practical-guide-to-im prove-rag-systems-with-advanced-rag-on-aws/

    1. 外部データ(ドキュメント)をベクトル化して、ベクトル データベースへ保存 2. ユーザが何かしらの質問を投げる 3. 埋め込みモデルが質問をベクトル化 4. データベースから質問に類似したチャンクを検索 5. LLMへの入力コンテキスト構築 6. LLMが回答生成
  6. © 2024 Loglass Inc. 9 LLMを用いた、ステートフルなMulti Actorアプリケーションを構築可能な ライブラリー 02|LangGraphとは 概要

    主な機能 • Cycles and Branching ◦ 条件分岐やループ処理 • Persistance ◦ グラフの状態を保存可能かつ特定の状態から再実行もできる • Human-in-the-Loop ◦ 実行しようとしているアクションを人間が確認・承認可能 • Streaming Support ◦ 生成された出力を、リアルタイムでストリーミング • Integration with LangChain ◦ LangChainやLangSmithとも連携可能 例: ベクトル化されたテキスト 参考: https://www.langchain.com/langgraph
  7. © 2024 Loglass Inc. 12 仕組み • 目標の決定 ◦ ユーザから受け取った目標を小さなタスクに分割

    特定の順序または条件に基づいてでそれらを実行 • 情報を取得 ◦ タスクを実行するために、必要な情報を取得する ▪ インターネットにアクセス ▪ 他のエージェントと対話 • タスクを実行 ◦ 取得した情報をもとに、タスクを完了させる エージェントとは、環境と対話し、データを収集し、データを使用して自己決定タスク を実行して、事前に決められた目標を達成するためのソフトウェア 03|AI Agentとは AI Agentとは 参考: https://aws.amazon.com/jp/what-is/ai-agents/
  8. © 2024 Loglass Inc. 13 • Replit Agent ◦ https://replit.com

    • Lovable ◦ https://lovable.dev • Bolt.new ◦ https://bolt.new • Google Agentspace ◦ https://cloud.google.com/products/ag entspace?hl=ja 03|AI Agentとは AI Agent関連のサービス
  9. © 2024 Loglass Inc. 15 RAGの実装にAI Agentを組み込んだもの 外部の情報を取得させるかを動的にエージェントに判断させることも可能 04|Agentic RAG

    + LangGraphのアプローチ Agentic RAGとは 参考: https://langchain-ai.github.io/langgraph/tutorials/rag/langgra ph_agentic_rag/#nodes-and-edges Self-Reflective RAG
  10. © 2024 Loglass Inc. 16 Self-Reflective RAGの実装例 04|Agentic RAG +

    LangGraphのアプローチ 実際の処理 グラフ定義 定義したグラフ構造 参考: https://langchain-ai.github.io/langgraph/tutorials/rag/langgraph_agentic_rag/ #nodes-and-edges
  11. © 2024 Loglass Inc. 17 Agentic RAGでできること 03|GCP Vertex AI

    Agent BuilderからSupabaseに乗り換えた話 • 複数の処理を組み合わせることで、複雑なタスク処理が可能 • Agent自体が、処理を行うか否かの判断可能 • リアルタイムで外部のデータを取得、使用可能 • 実装は複雑になりそう 参考: https://www.analyticsvidhya.com/blog/2024/11/rag-vs-agentic-rag/#h-agen tic-rag-workflow