nipeblog

「LangChain & Streamlit による ChatGPT API 徹底活用」をやってみた

Zenn Bookの「つくりながら学ぶ!AIアプリ開発入門 - LangChain & Streamlit による ChatGPT API 徹底活用」をやってみました。 Pythonにあまり詳しくなくても、PythonのLangChainとStreamlitというライブラリを使い、とても簡単にChatGPTを使ったAIアプリを作れました。 ChatGPTやLLM(大規模言語モデル)に興味あるけどさわれていない人やAIアプリ開発やChatGPTの活用方法を検討している人におすすめです!

「LangChain & Streamlit による ChatGPT API 徹底活用」とは

つくりながら学ぶ!AIアプリ開発入門 - LangChain & Streamlit による ChatGPT API 徹底活用」は、ZennのBookで、ML_Bearさんが基本無料で公開しています。

書籍内では、「GPTクローン」、「Youtube動画の要約」、「PDFをアップロードして質問」という3つのAIアプリを作ります。実際にステップバイステップで手を動かしながらつくることができ、AIアプリの開発を体感することができます。

基本的に無料で読めるのでぜひ興味ある方は読んでみてください。Zenn上では500円と書かれていますが、最後のおまけChapterの投げ銭用なのでご心配なく。

「LangChain & Streamlit による ChatGPT API 徹底活用」で作る3つのAIアプリ

基本的な用語の説明、環境準備から始まり、3つのAIアプリを作ります。

構築するAIアプリは、「GPTクローン」、「Youtube動画の要約」、「PDFをアップロードして質問」の3つです。

1. GPTクローン

1つ目のGPTクローンは、ChatGPTのようにWeb画面から質問回答ができます。

Streamlitで作ったGPTクローン

Stremlitの基本的な使い方、GPT APIの基本的な部分を学べます。具体的には、ChatGPTのモデルの種類、Temperature、メッセージの種別(Sytemってなに?)などです。

2. Youtube動画の要約

2つ目は、Youtube動画のURLを入力すると、字幕を読み取り、要約してくれるアプリです。

Streamlitで作ったYoutube動画要約アプリ

上記の画像は、フェルミ漫画大学の【要約】人生をガラリと変える「帰宅後ルーティン」【リュ・ハンビン】 - YouTubeという動画の要約です。約25分の動画を要約していることもあり若干日本語がおかしいですがそれなりに要約できていることがわかると思います。気になる方はぜひ、要約と動画を見比べてください。

個人的に、情報インプット系の動画の場合、要約してから見るか決めれたり、事前情報があるから効率的に情報インプットできるのでけっこう実用性が高そうなアプリだと感じました。上記の動画の場合、価格も$0.35ぐらいなので数本要約するぐらいなら300円以内ぐらいでできそうです。

ここでは、ChatGPT APIでトークン数の制限がある状況でも、長い字幕を分割して要約する方法を学べます。また、LangChainの様々なサービスやファイル形式に対応したLoaderの使い方についても学べます。

3. PDFをアップロードして内容を質問

3つ目は、自分でPDFをアップロードして、PDFの内容に対して質問ができるアプリです。

Streamlitで作ったPDF回答アプリ

上記の画像では、ZOZOの四半期決算書のPDFをアップロードして、それに対して質問をしています。内容的には正しいことを言ってそうです。

ChatGPTと自分たちの持っている情報を組み合わせて、簡易的に質問ができるはとても便利です。

補足までに、23年8月時点ではGPT3.5がFine tuningができるようになったので、本格的にGPTに学習をさせたい人はFine tuningが主流になっていかもです。

感想

  • 純粋にあらためてLLM(大規模言語モデル)はすごい!と思いました。これからも技術が進歩しながら、工夫次第で今までなかった面白いことが実現できそうな気配を感じています。
  • Streamlitは便利で簡単にシンプルなWebアプリをつくれるのは個人用や検証用ではとても有用に使えそうです。若干、細かいところで融通がききませんが...
  • LangChainもLoaderから始まり、LLMを扱う際の機能がまとまっていて便利です。しかし、便利ですがブラックボックス感が半端なくうまくいかないときに苦労してしまうかもしれませんが...

現場からは以上です!