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

LLMを用いたPloneベクター検索 アドオンの開発状況の紹介

Manabu TERADA
September 29, 2023

LLMを用いたPloneベクター検索 アドオンの開発状況の紹介

「オープンソースカンファレンス2023 Online/Fall 」 2023年9月29日

─イントラネット最適化─
LLMを用いたPloneベクター検索 アドオンの開発状況の紹介

Plone Users Group Japan 寺田 学

Manabu TERADA

September 29, 2023
Tweet

More Decks by Manabu TERADA

Other Decks in Technology

Transcript

  1. 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月)
  2. CC BY 4.0 本日のトークと関連組織 Plone Users Group Japan として、トークします。 •

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

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

    ベクター検索機能 LLM • 大規模言語モデル • 多言語Embedding • ベクター永続化 • 近似ベクトル探索 ✖
  5. CC BY 4.0 Ploneが提供する主な機能 • エンタープライズ環境との統合 • 柔軟なワークフロー・強固なセキュリティ • すぐれた拡張性

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

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

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

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

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

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

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

    Ploneのアドオンセットアップ方法に準拠 ◦ アドン追加ボタンで自動セットアップ
  13. CC BY 4.0 ベクター検索 with Plone の開発 • GitHubで公開。ただし、今後パッケージングの方法を変更 ◦

    https://github.com/cmscom/c2.search.llm • あくまでも、サンプル実装中 (PoC) • テスト方法を模索中
  14. CC BY 4.0 ベクター検索 with Plone の現状 使える?: もう少し時間が必要 協力者:

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

    GPUありマシンでPloneを動作 >> Plone外にするか? • データベースが肥大化する可能性がある >> 専用ベクトルDB? • ベクトル近似計算の効率化 >> 専用アルゴリズム or DB?
  16. CC BY 4.0 課題・今後の展開 実装 • パッケージの整理 >> 現状一つのパッケージを分割? •

    LLMをパッケージ内で決めている >> 入れ替え可能に • ライセンス・パッケージオーナーを見直す >> Plone系へ
  17. CC BY 4.0 PyCon APAC 2023 チケット発売中 • https://2023-apac.pycon.jp/ •

    日程: 10/27(金)〜29(日) の3日間 • チケット: 12,000円(ランチ付き) ◦ https://pretix.eu/pyconjp/2023-apac/