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

Agentic RAG with LangGraph

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Agentic RAG with LangGraph

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

Avatar for Atsushi Miyamoto

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