Slide 1

Slide 1 text

GPT, Langchain, Faiss, FastAPI を組み合わせた Chat検索システム開発 2023/04/25 しぶい https://speakerdeck.com/shibuiwilliam/gpt-langchain-faiss-fastapiwozu-mihe-waseta-chatjian-suo-sisutemukai-fa

Slide 2

Slide 2 text

自己紹介 shibui yusuke ● もともと文学部の大学院卒。 ● 本業:Launchableで色々ソフトウェアエンジニア兼 少しマーケティングとセールス ○ エンジニア募集中! ● 副業:マイベストでMLエンジニア ● 副業:NOT A HOTELでバックエンドエンジニア ● MLOpsコミュニティ運営 ● その他いろいろ ● Github: @shibuiwilliam ● FB: yusuke.shibui 2

Slide 3

Slide 3 text

● 発売中! ● https://www.amazon.co.jp/dp/4798169447/ ● 発売中! ● https://www.amazon.co.jp/dp/4798173401/ 機械学習でChat Botを作るのは 難しいからまずはルールベースで 検討したほうが良い、 と書いて出版した同じ月に ChatGPTが公開された悲劇の一冊!

Slide 4

Slide 4 text

LLMが変える機械学習の開発と運用 ● いずれにせよ開発と運用のサイクル(MLOps? LLMOps?)が必要 課題を決める データ収集 分析 前処理 モデルを探す Fine Tuning Fully training 評価する 修正 デプロイ 監視 ? これまでのMLOps LLM with MLOps 課題を決める GPTにデータを 送ってみる プロンプトを修 正 送るデータを 選定 評価 デプロイ 監視 データ収集 分析

Slide 5

Slide 5 text

たぶんよくあるアーキテクチャ 質問する 質問に関連するド キュメントを検索 する Faiss以外の ANN/KNN系 ライブラリもOK 回答する 関連ドキュメントと 質問をプロンプトに 組み込んで リクエストする

Slide 6

Slide 6 text

多様なデータのインデックスを使いたい 質問する 複数インデックスが必要になるケース - A/Bテスト - Blue/Greenデプロイメント - インデックスが巨大になるのを防ぐ - 用途・カテゴリに応じた分割 ・・・ 回答する Proxy

Slide 7

Slide 7 text

回答をストリーミングで表示したい 質問する 回答する FastAPIにStrawberryを載せて GraphQL Subscriptionで レスポンス WebSocket WebSocket

Slide 8

Slide 8 text

履歴メモリ機能がほしい 質問する 回答する WebSocket WebSocket Read/Write 過去QAの要約 →回答をリクエスト

Slide 9

Slide 9 text

監視したい 質問する 回答する WebSocket WebSocket 監視 違反となる 質問・回答を 監視通報。

Slide 10

Slide 10 text

定量評価とHallucinations対策 質問 解答 回答 回答 - 解答の距離 人間の評価 LLMで評価 おすすめのGWの 旅行先を教えて。 北海道とか箱 根とか! 北海道とかハワイと か! 0.5 OK OK 掃除機はどう選べ ば良い? XX社のYY製 品 軽くて安くてキレイに なる掃除機! 0.0 NG OK ︙ 質問:模範解答の組を作り、 LLMの回答と評価を実施。 評価 質問・回答をデータ化しつつ、 評価を自動化していくことで Hallucinations対策になるのでは?

Slide 11

Slide 11 text

モデルレイヤー データレイヤー LLM機械学習パイプライン ドキュメント 要約 ドキュメント ワークフローエンジン 要約ジョブ Embeddingジョブ ビルド・デプロイ ジョブ 質問・解答 評価ジョブ プロンプト Hallucinations

Slide 12

Slide 12 text

俺たちの LLM x MLOpsは これからだ!