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

LLMを用いたPloneベクター検索 アドオンの開発の説明

LLMを用いたPloneベクター検索 アドオンの開発の説明

「オープンソースカンファレンス2024 Online/Spring 」 2024年3月2日
Plone Users Group Japan 寺田 学

Manabu TERADA

March 02, 2024
Tweet

More Decks by Manabu TERADA

Other Decks in Technology

Transcript

  1. CC BY 4.0 LLMを用いたPloneベクター検索 アドオンの開発の説明 ─イントラネット最適化─ Plone Users Group Japan

    寺田 学 「オープンソースカンファレンス2024 Online/Spring 」 2024年3月2日
  2. CC BY 4.0 自己紹介 寺田 学 (Manabu TERADA) • Pythonエンジニア

    • Podcast 「terapyon channel」(https://podcast.terapyon.net) • 主な関連書籍(共著・監修・監訳) ◦ Pythonデータ分析 実践ハンドブック (インプレス: 2023年9月) ◦ Pythonによるあたらしいデータ分析の教科書第 2版(翔泳社:2022年10月) ◦ Python実践レシピ (技術評論社: 2022年1月) ◦ スラスラわかるPython第2版(翔泳社:2021年11月) ◦ 機械学習図鑑(翔泳社 : 2019年4月)
  3. CC BY 4.0 本日のトークと関連組織 Plone Users Group Japan として、トークします。 •

    一般社団法人PyCon JP Association理事 • 株式会社 CMSコミュニケーションズ 代表取締役 • 一般社団法人Pythonエンジニア育成推進協会顧問理事 • Plone Foundation Ambassador • PSF Fellow member
  4. CC BY 4.0 モチベーション • 高機能な検索を提供したい • 単語検索ではなく、自然文でコンテンツを探したい • 外部のAPIを使わずに、内部で処理したい

    • イントラで、使えるものを目指す • Ploneにはセキュリティ機能があるので融合したい • Ploneにはコンテンツ管理の仕組みがあるので融合したい
  5. CC BY 4.0 目指す姿 Plone • コンテンツ管理 • 公開状態管理 •

    ベクター検索機能 LLM • 大規模言語モデル • 多言語Embedding • ベクター永続化 • 近似ベクトル探索 ✖
  6. CC BY 4.0 Plone Conferenceでコンセプト LT • 年1回のPlone Foundation公式イベント •

    コア開発者なども集まる年1回のイベント • このトークで紹介するシステムコンセプトをLTで説明 • 多くの人に興味・関心を持ってもらった
  7. CC BY 4.0 Ploneが提供する主な機能 • エンタープライズ環境との統合 • 柔軟なワークフロー・強固なセキュリティ • すぐれた拡張性

    • 高いスケーラビリティ • 多言語対応 • アクセシビリティ対応 • 認証とシングルサインオン
  8. CC BY 4.0 Plone 6.0 の過去資料 詳細 を知りたい方は OSC2021 東京春

    Plone is SPA https://speakerdeck.com/terapyon/plone-is-spa
  9. CC BY 4.0 Plone 6 を一言で Plone 6は SPA CMS

    Volto (Reactベース) と Ploneを完全融合
  10. CC BY 4.0 LLM (Large Language Model)とは 大規模言語モデル • ChatGPTに代表される

    • 無料で使えるもの日本語に特化したものもある • 開発にはPythonが使われていることが多い • Pythonインターフェースが提供される
  11. CC BY 4.0 LLM (Large Language Model)でできること • テキスト生成: LLMは与えられたプロンプトに基づいてテキストを生成することができます。

    • 質問応答: ユーザーからの質問に対して情報を提供することができます。 • 文章の要約: 長い文章やドキュメントを短く要約することができます。 • 翻訳: 一定の精度で言語を翻訳することが可能です。 • 文章校正: 文法や綴りのミスを指摘・修正する能力があります。 • コードの生成・助言: 簡単なプログラミングの質問に答えたり、コードのスニペットを生成。 • 知識の検索: トレーニングデータに基づく情報や事実を提供することができます。 • クリエイティブライティング: 物語、詩、台本などのクリエイティブなテキストを生成 • 学習・教育のサポート: 学習者の質問に答える、学習コンテンツを補完する情報を提供 • ゲームや趣味のアドバイス: ボードゲームの戦略や趣味に関する質問に答える • 一般的な会話: ユーザーと一般的な会話を楽しむことができます。 Chat GPT4によると (文言の末尾を一部修正 )
  12. CC BY 4.0 ベクター検索 with Plone 機能説明 • Ploneにコンテンツを登録 •

    自動的に文章のベクトルデータを生成しDBに登録 • 検索文章をベクトルデータ化し、登録済みデータと比較 • ベクトルの近似計算をし、似たベクトルを抽出 • 似たベクトルを持つコンテンツを一覧表示
  13. CC BY 4.0 ベクター検索 with Plone 技術背景 • ZOPE ◦

    コンテンツの監視 ◦ キューが自動で出る → Indexの自動化 • Plone ◦ カタログ機能 (portal_catalog) ◦ 他の条件が組み合わせで検索 ◦ 既存の内部APIに融合 ◦ 閲覧権限で結果が変わる
  14. CC BY 4.0 ベクター検索 with Plone セットアップ • パッケージをbuildoutでインストール •

    Ploneのアドオンセットアップ方法に準拠 ◦ アドオン追加ボタンで自動セットアップ
  15. CC BY 4.0 ベクター検索 with Plone の開発 • Ploneのアドオンを管理する collective

    レポジトリで開発 ◦ https://github.com/collective/collective.vectorsearch • 完成していない • 今後の構想 ◦ ストアの変更 ◦ モデルの変更 ◦ インデックスを活用した自動タグ付けの実装
  16. CC BY 4.0 ベクター検索 with Plone の現状 使える?: もう少し時間が必要 協力者:

    実装・テスト・アイデア 開発加速: 案件にする? 開発費をもらう?
  17. CC BY 4.0 課題・今後の展開 スケーラビリティ • メモリの消費を抑えたい >> Plone外にモデルを出すか? •

    GPUありマシンでPloneを動作 >> Plone外にするか? • データベースが肥大化する可能性がある >> 専用ベクトルDB? • ベクトル近似計算の効率化 >> 専用アルゴリズム or DB?
  18. CC BY 4.0 PyCon JP 2024 9月後半に東京で開催予定 • 私自身も共同座長として、イベント運営する •

    主催メンバー(旧コアスタッフ)を募集中 • これから募集 ◦ スピーカー ◦ スポンサー ◦ 参加者