2023/08/31に開催された、「みんなのLLM活用実践LT編〜エンジニアのためのLLM実践ガイド #5」の登壇内容です。
ChatGPTとLangChainを活用して1週間で個人開発をした話KNR
View Slide
この発表で学べることChatGPTを使った開発アシスタントのやり方LangChainを使った開発のやり方や応用例
目次自己紹介実際に開発したアプリChatGPTを使った開発アシスタントLangChainの活用最後に1.2.3.4.5.
KNR新卒でWeb系開発会社に入社 (2021)現在は執行役員 (2023)2022年にQiita 年間 TOP Contributorを受賞自己紹介
実際に開発したアプリ
開発した理由いつでも見返せる「ストック型」のAIツール紹介サービスが欲しかった
ChatGPTとLangChainを活用した概要CHatGPTを使って要件定義、設計などの開発アシスタントをしてもらうLangChainを利用しAIツールの紹介記事を自動生成ChatGPT LangChain
ChatGPTで生成したもの要件定義基本設計
要件定義の成果物機能の洗い出し非機能要件の洗い出し
前提条件を伝えて機能洗い出し (プロンプト)
前提条件を伝えて機能を洗い出してもらう (回答)
各機能の工数見積もりと優先度付けをしてもらう (プロンプト)
非機能要件の洗い出し (プロンプト)
非機能要件の洗い出し (回答)
最終的な成果物をまとめてもらう (回答)
設計の成果物データベース設計ER図APIドキュメント画面設計書
データベース設計 (プロンプト)
データベース設計 (回答)
ER図の作成 (プロンプト)
ER図の作成 (回答)
API仕様書 (プロンプト)
API仕様書 (回答)
画面設計書 (プロンプト)
画面設計書 (回答)
設計フェーズの成果物ER図テーブル設計書API仕様書 画面設計
技術選定・構成図
LangChainとはChatGPTなどの言語系モデルの機能拡張を効率的に実装するためのライブラリ
LangChainの活用例様々な言語モデルを使える (Models)プロンプトをテンプレート化できる (Prompt)少数の教師データを入れる (few-shot learning)PDFやURLなど外部データを使える (Indexes)
LangChainの活用例LangChainで実装した機能
記事の自動生成 (前)
記事の自動生成 (中)
記事の自動生成 (後)
使用したライブラリ
モデルの選択 (Models)
プロンプトテンプレートとFewShotPrompt (Prompt)Few shot Promptprompt template
プロンプトテンプレートとFewShotPrompt (Prompt)
プロンプトテンプレートとFewShotPromptの出力 (Prompt)
リクエストで送られてきたURLの解析 (Indexes)urlのバリデーションチェックurl先のコンテンツを取得
リクエストで送られてきたURLの解析 (Indexes)
APIを作成し処理をまとめるバリデーションチェックURL先のコンテンツ取得GPTへプロンプトをリクエスト
リクエストを送り一連の処理を確認
まとめGPTを開発アシスタントとして使うことで工数を大幅に削減できたLangChainとGPTを組み合わせることで拡張性のある開発を実現できる
まとめご清聴ありがとうございました今回の内容をより詳しく解説した記事です(Zenn)