$30 off During Our Annual Pro Sale. View Details »

ChatGPTとLLMを活用して1週間で個人開発をした話

KNR
August 30, 2023

 ChatGPTとLLMを活用して1週間で個人開発をした話

2023/08/31に開催された、「みんなのLLM活用実践LT編〜エンジニアのためのLLM実践ガイド #5」の登壇内容です。

KNR

August 30, 2023
Tweet

More Decks by KNR

Other Decks in Technology

Transcript

  1. ChatGPTとLangChainを活用
    して1週間で個人開発をした話
    KNR

    View Slide

  2. この発表で学べること
    ChatGPTを使った開発アシスタントのやり方
    LangChainを使った開発のやり方や応用例

    View Slide

  3. 目次
    自己紹介
    実際に開発したアプリ
    ChatGPTを使った開発アシスタント
    LangChainの活用
    最後に
    1.
    2.
    3.
    4.
    5.

    View Slide

  4. 目次
    自己紹介
    実際に開発したアプリ
    ChatGPTを使った開発アシスタント
    LangChainの活用
    最後に
    1.
    2.
    3.
    4.
    5.

    View Slide

  5. KNR
    新卒でWeb系開発会社に入社 (2021)
    現在は執行役員 (2023)
    2022年にQiita 年間 TOP Contributorを受賞
    自己紹介

    View Slide

  6. 目次
    自己紹介
    実際に開発したアプリ
    ChatGPTを使った開発アシスタント
    LangChainの活用
    最後に
    1.
    2.
    3.
    4.
    5.

    View Slide

  7. 実際に開発したアプリ

    View Slide

  8. 実際に開発したアプリ

    View Slide

  9. 開発した理由
    いつでも見返せる「ストック型」のAIツール紹介サービスが欲しかった

    View Slide

  10. ChatGPTとLangChainを活用した概要
    CHatGPTを使って要件定義、設計などの開発アシスタントをしてもらう
    LangChainを利用しAIツールの紹介記事を自動生成
    ChatGPT LangChain

    View Slide

  11. 目次
    自己紹介
    実際に開発したアプリ
    ChatGPTを使った開発アシスタント
    LangChainの活用
    最後に
    1.
    2.
    3.
    4.
    5.

    View Slide

  12. ChatGPTで生成したもの
    要件定義
    基本設計

    View Slide

  13. 要件定義の成果物
    機能の洗い出し
    非機能要件の洗い出し

    View Slide

  14. 前提条件を伝えて機能洗い出し (プロンプト)

    View Slide

  15. 前提条件を伝えて機能を洗い出してもらう (回答)

    View Slide

  16. 各機能の工数見積もりと優先度付けをしてもらう (プロンプト)

    View Slide

  17. 各機能の工数見積もりと優先度付けをしてもらう (プロンプト)

    View Slide

  18. 非機能要件の洗い出し (プロンプト)

    View Slide

  19. 非機能要件の洗い出し (回答)

    View Slide

  20. 最終的な成果物をまとめてもらう (回答)

    View Slide

  21. 設計の成果物
    データベース設計
    ER図
    APIドキュメント
    画面設計書

    View Slide

  22. データベース設計 (プロンプト)

    View Slide

  23. データベース設計 (回答)

    View Slide

  24. ER図の作成 (プロンプト)

    View Slide

  25. ER図の作成 (回答)

    View Slide

  26. ER図の作成 (回答)

    View Slide

  27. API仕様書 (プロンプト)

    View Slide

  28. API仕様書 (回答)

    View Slide

  29. 画面設計書 (プロンプト)

    View Slide

  30. 画面設計書 (回答)

    View Slide

  31. 設計フェーズの成果物
    ER図
    テーブル設計書
    API仕様書 画面設計

    View Slide

  32. 技術選定・構成図

    View Slide

  33. 技術選定・構成図

    View Slide

  34. 目次
    自己紹介
    実際に開発したアプリ
    ChatGPTを使った開発アシスタント
    LangChainの活用
    最後に
    1.
    2.
    3.
    4.
    5.

    View Slide

  35. LangChainとは
    ChatGPTなどの言語系モデルの機能拡張を
    効率的に実装するためのライブラリ

    View Slide

  36. LangChainの活用例
    様々な言語モデルを使える (Models)
    プロンプトをテンプレート化できる (Prompt)
    少数の教師データを入れる (few-shot learning)
    PDFやURLなど外部データを使える (Indexes)

    View Slide

  37. LangChainの活用例
    LangChainで実装した機能

    View Slide

  38. 記事の自動生成 (前)

    View Slide

  39. 記事の自動生成 (中)

    View Slide

  40. 記事の自動生成 (後)

    View Slide

  41. 使用したライブラリ

    View Slide

  42. モデルの選択 (Models)

    View Slide

  43. プロンプトテンプレートとFewShotPrompt (Prompt)
    Few shot Prompt
    prompt template

    View Slide

  44. 記事の自動生成 (後)

    View Slide

  45. プロンプトテンプレートとFewShotPrompt (Prompt)
    Few shot Prompt
    prompt template

    View Slide

  46. プロンプトテンプレートとFewShotPrompt (Prompt)

    View Slide

  47. プロンプトテンプレートとFewShotPromptの出力 (Prompt)

    View Slide

  48. リクエストで送られてきたURLの解析 (Indexes)
    urlのバリデーションチェック
    url先のコンテンツを取得

    View Slide

  49. リクエストで送られてきたURLの解析 (Indexes)

    View Slide

  50. APIを作成し処理をまとめる
    バリデーションチェック
    URL先のコンテンツ取得
    GPTへプロンプトを
    リクエスト

    View Slide

  51. リクエストを送り一連の処理を確認

    View Slide

  52. 目次
    自己紹介
    実際に開発したアプリ
    ChatGPTを使った開発アシスタント
    LangChainの活用
    最後に
    1.
    2.
    3.
    4.
    5.

    View Slide

  53. まとめ
    GPTを開発アシスタントとして使うことで工数を大幅に削減できた
    LangChainとGPTを組み合わせることで拡張性のある開発を実現できる

    View Slide

  54. まとめ
    ご清聴ありがとうございました
    今回の内容をより詳しく解説した記事です(Zenn)

    View Slide