チャットボットの進化:よりスマートなインタラクションへの1週間スプリント
1週間でチャットボットを再構築し、基本的な記事要約から全文検索にアップグレード。 チャンキング、セキュリティ、メタデータの追加と、AIのパワーとコストのバランスに ついて学んだことを共有します。
アップデート(2026年): このチャットボットはSydneyに進化しました!多くのイテレーションを経て、Sydneyは現在/ask/にいて、ブログコンテンツと製品に焦点を当てています。
先週、DIYチャットボットのバージョン0.1を初めてリリースした時、ブログ記事全体から情報を統合して質問に答える会話エージェントを作ることが目標でした。v0.1はコーディング初心者としての大きな第一歩でしたが、大きな制限がありました。知識ベースには記事の要約しか含まれておらず、数字や日付などの特定の詳細を正確に取得するのが困難でした。ハンズオンの学びを通じてチャットボットの機能を段階的に改善することが私のモチベーションでした。この記事は、1週間の最適化後のアップデートです。知識ベースを完全な記事コンテンツに拡張すること、セキュリティ対策の強化、コスト効率のためのAIモデルの最適化に焦点を当てました。チャットボットにはまだ長い道のりがありますが、これらの初期アップグレードは有望な進歩を表しています。
前回のバージョンから行われたことは以下の通りです:
1. 機能
チャットボットに2023年10月末までの最新記事がすべて含まれています
10月に6つのブログ記事を公開し、そのすべてがチャットボットの知識ベースに含まれるようになりました。例えば、「Chandlerが書いたCourseraに関する重要な洞察を教えて」といった質問をすると、2023年10月に書いた記事に基づいた回答を得ることができます。
知識ベースに要約だけでなくフルのブログ記事が含まれています
最初のバージョンでは、OpenAI APIのコンテキストウィンドウ長の制限に関する知識/経験不足のため、各ブログ記事の要約を生成してからOpenAIのEmbedding API endpointを使って埋め込む必要がありました。記事全体を小さなセクションにチャンキングし、コンテキスト(メタデータ、URL、タイトルなど)を維持しながら各セクションを埋め込む方法を知りませんでした。
今週、チャンキングの最初のイテレーションが完了しました。チャットボットの知識ベースには、要約ではなく完全なブログ記事が含まれるようになりました。長い記事の理想的なチャンキング制限とアプローチの改善を続ける余地はまだあります。現時点では、長い記事を800トークン以下の小さなセクションに分割し、「段落」を自然な区切りポイントとして使用しています。
これにより、次のバージョンでは記事に書かれた特定の数字についての質問に答えやすくなります。
ブログ記事の公開日、タイトル、URLが含まれています
ユーザーが質問を入力した後、検索プロセス中にブログ記事のタイトル、公開日、URLもチャットボットに提供されます。そのため、チャットボットは質問されれば特定のURLや公開日をユーザーに返すことができるようになりました。
ユーザーが確認したい場合やブログ記事全体を読みたい場合の検証に役立ちます。
2. セキュリティ
以下のような超基本的なセキュリティ対策を実装しました:
- APIに送信される前に入力をバリデーション
- 基本的なレートリミッター機能(1分あたりチャットボットに質問できる回数)
- クエリとチャットボットの応答はOpenAIのmoderation APIでバリデーション
3. GPT-4 vs GPT-3.5
コストの関係でチャットボットにはGPT-3.5モデルを引き続き使用します。GPT-4の回答はGPT-3.5よりはるかに優れています。しかし、会話履歴を維持しながらコンテキストウィンドウ長を扱う最善の方法をまだ見つけていないため、チャットボットが複数の記事を参照する必要がある複雑な質問の場合、GPT-4からの回答あたりのコストは$0.15から$0.2と高額です。このペットプロジェクトにそこまでの費用はまだかけられません。T.T
以上です。チャットボットを試したい方は、こちらからどうぞ。チャットボットについての前回の記事はこちらです。良い週末をお過ごしください。
自分のチャットボットを作ったり、EmbeddingやChunkingを使ったことがある方にお聞きしたいのですが — どのチャンクサイズとアプローチが一番うまくいきましたか?まだ実験中です :)
チャットボットの旅の続き: 数ヶ月後、LangChainとFAISSを使ってチャットボット全体をゼロから再構築しました — コーディングの流砂からAIエージェントで脱出した話。
よろしくお願いします、Chandler
追伸:Andrew Ngが教えるGenerative AI for Everyoneの新コースは期待を裏切りません。無料コースで、Generative AIの一般知識、典型的なGen AIソフトウェアやウェブアプリケーションがどのように構築されるかなどを学べます。かなり短いので、週末にすべての動画を見ることができます。





