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

SpringAI と Yuga でRAG

YugabyteDB Japan
February 02, 2024
14

SpringAI と Yuga でRAG

Spring AIは、Springフレームワークを使ってAIアプリの開発を効率化します。YugabyteDBでサポートされているpgvectorを使って、YugabyDBをVector DBとしてRAGを構成し、Spring AIを使ってAIアプリを開発するデモをご紹介します。

YugabyteDB Japan

February 02, 2024
Tweet

More Decks by YugabyteDB Japan

Transcript

  1. © 2024 Tanzu by Broadcom 2 Agenda Spring で AI

    Yugabyte で Pgvector Spring AI と YugaByte で RAG
  2. © 2024 Tanzu by Broadcom 3 Agenda Spring で AI

    Yugabyte で Pgvector Spring AI と YugaByte で RAG
  3. © 2024 Tanzu by Broadcom OPTIMIZE OPERATE DEVELOP Tanzu Application

    Service Tanzu Application Platform Tanzu Data Services Tanzu Intelligence Services Tanzu Labs Tanzu Portfolio
  4. © 2024 Tanzu by Broadcom OPTIMIZE OPERATE DEVELOP Tanzu Application

    Service Tanzu Application Platform Tanzu Data Services Tanzu Intelligence Services Tanzu Labs Tanzu Portfolio
  5. © 2024 Tanzu by Broadcom 7 Springの歴史 2002 2004 1.0

    2006 2.0 2009 3.0 2014 4.0 Spring Framework Spring Boot 201 7 2024 1.0 201 1 2013 買収 スピンアウト 買収 創業 Interface21 改名 SpringSource J2EEのアンチテーゼとして登場 5.0 5.3 5.2 5. 1 2.0 2. 1 2.2 2.3 2.4 2.5 2.6 2.7 6.0 3.0 3. 1 15年以上の歴史をもって 進化し続けている Broadcomが現在の コアコントリビュータ 3.2 買収
  6. © 2024 Tanzu by Broadcom 9 Spring AI - AI

    と Java コミュニティの連携 オープンソースJavaである Spring と AI を連携する 実験プロジェクトの発足 https://github.com/spring-projec ts-experimental/spring-ai Githubの紹介文より AI には長い歴史があるにもかかわらず、Java の役割は比較的小さいものでした。(中略) Generative AI の最近の進歩により、HTTP を介した事前トレーニングされたモデルとの対話が普及 しました。これにより、 ... Java などのプログラミング言語の使用への道が開かれます。 (中略) Spring AI プロジェクトは、AI ドメインの Spring 開発者に同様のエクスペリエンスを提供することを目 的としています。
  7. © 2024 Tanzu by Broadcom 10 Agenda Spring で AI

    Yugabyte で Pgvector Spring AI と YugaByte で RAG
  8. © 2024 Tanzu by Broadcom 14 非構造データのベクトル化および意味的検索 動画/音声ファイル 長文 画像

    関連性を持った座標配置 オープンソース モデル 近いほど、近似 遠いほど無関係 データ前処理が ほぼ不要
  9. © 2024 Tanzu by Broadcom 17 pgvector によるSQLをつかった意味的検索 椅子と犬 SELECT

    image_embeddings <-> embeddings(‘椅子と犬’) AS distance FROM table ORDER BY distance LIMIT 1; pgvectorによる2点間のベクトル計測方法 - <-> : ユークリッド距離 - <#> : 内積 - <=> : コサイン距離 pgvector を利用したイメージと文章の意味的検索 高次元ベクトル 計算が非常にシンプル
  10. © 2024 Tanzu by Broadcom 18 Agenda Spring で AI

    Yugabyte で Pgvector Spring AI と YugaByte で RAG
  11. © 2024 Tanzu by Broadcom 19 AI/ML の変遷 2000s アルゴリズム

    ハイパフォーマンス コンピューティング R&D データ サイエンス 2010s モデル 2020s データ API 基盤モデル 企業データ 生成AI Web アプリ 汎用機
  12. © 2024 Tanzu by Broadcom 20 ファインチューニング vs RAG(検索・拡張・生成) ファインチューニング

    • 時間と知識が要求される重いタスク • データサイエンスの知識要 • 高い処理能力(e.g. GPU) が必要 • 大量の事前データの用意が必要 RAG(検索・拡張・生成) • シンプルに始められる軽量なタスク • データサイエンスの知識低 • 求められる処理能力はある程度限定的 • ベクトルデータベースの活用 RAG から始めることをおすすめ 強い AI 活用基盤のための Web アプリ化や監視システム のパイロットの構築
  13. © 2024 Tanzu by Broadcom 21 デモ.Explore US セッションを日本語で検索・サマリーアプリ Explore

    US Session 概要
 Explore US Session 台本
 Transformer Model を使用したベクトル情報の付与
 概要
 テーブル
 台本
 テーブル
 WizardLM (LLM) 質問+検索結果情報から プロンプトをビルド 6 もっと詳しく教えて
 Hugging Face 1 セッションを検索 3 関連セッションの表 示 4 ボタンを押す 7 台本の要約を 生成 8 セッションの 詳細情報表示 2 pgvectorを使用した セマンティック検索 1. ユーザーが UI を通じて知りたいワー ドを検索 2. pgvector にてクエリと概要のベクト ルを比較し、関連セッションを検索 3. UI に関連セッション一覧を表示 4. 詳しく知りたいセッションの 「もっと 詳しくボタン」を押す 5. 該当セッションの台本を検索 6. Greenplum DB より取得された台本 から LLM へのプロンプトを生成し、 LLM へクエリ 7. セッション台本の要約を生成 8. UI にセッションの詳細を表示 該当セッションの 台本を検索 5 Xxx について教えて