Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

実際に開発したアプリ

Slide 8

Slide 8 text

実際に開発したアプリ

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

ER図の作成 (回答)

Slide 26

Slide 26 text

ER図の作成 (回答)

Slide 27

Slide 27 text

API仕様書 (プロンプト)

Slide 28

Slide 28 text

API仕様書 (回答)

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

画面設計書 (回答)

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

技術選定・構成図

Slide 33

Slide 33 text

技術選定・構成図

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

記事の自動生成 (前)

Slide 39

Slide 39 text

記事の自動生成 (中)

Slide 40

Slide 40 text

記事の自動生成 (後)

Slide 41

Slide 41 text

使用したライブラリ

Slide 42

Slide 42 text

モデルの選択 (Models)

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

記事の自動生成 (後)

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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