🧠

AIチャットボット開発の気づき(4)

に公開

LLM へ渡す形式はヒューマンリーダブルとする

LLM と RAG を利用した Slackボット OssansNavi の開発・運用で得た気づきの記録です
今回は 2024年3月頃の開発内容を紹介します

前の記事: (3) メッセージにメタデータを含める
前の記事: (5) RAG のリランキング その1

Slackグループ内のメッセージを RAG で取得すると、各メッセージには投稿日時が含まれます。
最初はメッセージに付随する投稿日時をUNIXタイムスタンプ形式で LLM に渡していました。

当時のプロンプトは以下です

応答は JSON 形式の配列で timestamp が UNIXタイムスタンプで、name が投稿者の名前、...

しかし LLM が日時を理解する精度が低かったので、yyyy-MM-ddTHH:mm:ss 形式で入力して、説明プロンプトも変更しました。

応答は JSON 形式の配列で timestamp が投稿日時、name が投稿者の名前、...

この修正によって RAG で取得した情報の投稿日時に関する理解度が上昇して、「2023年7月10日に○○というメッセージが投稿されていました」のような応答をしてくれるようになりました。

UNIXタイムスタンプ形式は本来プログラムから扱いやすいはずですが、LLM は人間に近いものとして扱った方が良くて、この場合はヒューマンリーダブル形式の方が日時の認識精度が上昇しました。

Discussion