Gradio と LangChain でレスポンスがストリーミング出力される Chatbot を作る Gradio と LangChain を使うことで簡単に ChatGPT Clone を作ることができますが、レスポンスをストリーミング出力する実装サンプルがあまり見られなかったので、参考文献のコードを参考に、色々寄せて集めて見ました。同時リクエストがあった場合の挙動を確認していないため、あくまでお一人様用ということになります。
LangChain 0.0.200 での履歴を持った Chat、シンプルな Agent、長文の要約などの実装サンプル TL;DR LangChain は進化が早いということもあり、頻繁にインターフェイスが変更になります。この記事は0.0.200の時点での以下のタスクに対する実装サンプルです。
ローカルに保存した英語の PDF に日本語で質問応答する Gradio でのデモンストレーション TL;DR ローカルに保存した英語の PDF に対して日本語で質問応答する Web アプリケーションのデモンストレーションです。事前に Index 作成した上で、質問応答するための画面を Gradio で作成しています。
対話型 AI と音声認識を使って雑談してみる 音声認識を使って OpenAI の対話型 AI 用モデルと音声で雑談してみるサンプル実装です。音声認識部分はWhisper Micの実装をほぼそのまま利用しています。また、マイクに話しかけた言葉を,リアルタイムに AI が認識(whisper, whisper_mic, Python を使用)(Windows 上)を参考に日本語対応としています。
LangChain と OpenAI API を使って Slack 用のチャットボットをサーバーレスで作ってみる(ChatGPT 編) TL;DR OpenAI API で利用できるモデルとして、ChatGPT(Plus)と同様のモデルであるgpt-3.5-turboが利用できるようになったので、前回のLangChain と OpenAI API を使って Slack 用のチャットボットをサーバーレスで作ってみると同じようにサーバーレスで Slack 用チャットボットを実装してみました。
LangChain の Agent がどのように Tool を選択しているかを確認したメモ TL;DR LangChain の Agent を利用すると、単独の言語モデルだけでは実現できない計算や最新の情報を考慮した上での回答をすることができます。
LangChain と OpenAI API を使って Slack 用のチャットボットをサーバーレスで作ってみる TL;DR LangChainを使って Slack 用のチャットボットを作ってみました。AI/ML モデルは OpenAI API(text-davinci-003)を利用しています。LangChain の Memory 機能を利用しており、会話の履歴も考慮して返信することができます。この際、OpenAI 側のモデルの入力トークン制限が問題になりますが、ConversationSummaryBufferMemoryを利用することで、一定のトークン数を超える履歴は要約して保持するようになっています。
Huggingface で公開されている日本語モデルを使って QA タスクをファインチューニングする TL;DR Huggingface で公開されている事前学習済み日本語モデルを利用し、Question-Answering タスク用のデータセットでファインチューニングする際のサンプルコードです。
LangChain を使ってチャットボットとお話しするアプリを作ってみる TL;DR LangChainとGradioを使ってチャットボットとお話しするアプリケーションを作ってみました。チャットボット部分はOpenAIの API を使用しているため、ChatGPT と同じような性能です。
Gradioを使った機械学習モデルのデモンストレーションをAWS App Runnerでサービスする TL;DR Gradioを利用すると機械学習モデルをデモンストレーションするためのWebアプリを簡単に作成することが可能です。Gradioを利用したWebアプリを他の人に使ってもらう方法として、クラウド上にデプロイすることが考えられますが、比較的安価かつ簡単にデプロイする環境としてAWS App Runnerを使ってみました。