昨日、GitHubのトレンドを見ていたところ、top1の「wechatmsg」というossを気づきました。
「wechatmsg」は、WeChat(中国のLINEみたいなチャットアプリ)のチャット履歴をsqlite、csv、またはword形式にまとめられるツールです、ある程度のデータ分析もできます。
開発者は、人間のチャット履歴も重要なデータであり、感情分析や言語モデルのトレーニングに役立てると考えて、このツールを開発しました。
チャット履歴をLLMとRAGして、prompt文を「質問に回答する前にこの人のチャット履歴を参照してください」でチューニングすれば、LLMがその人のように質問を回答できるではないかと思って試してみました。
まずは自分のWeChatのチャット履歴をバックアップし、wechatmsgでCSV形式に変換してみました。履歴が意外に多くて、10万件以上ありました。
できたcsvファイルは下図のようです。変数としては、チャットの相手、チャット内容、メッセージ送った時間、絵文字など、さまざまな情報が含まれています。
モデルが理解しやすくなるために、簡単な前処理も行いました。(絵文字などの読み取れない情報を削除するとか)
今回使ったLLMはGPT4で、GPTsのpromptを使ってchatbotを作りました。
RAGしたknowledgeは私の一部のチャット履歴です。
prompt文は"質問回答する前に、私のチャット履歴csvを参照し、できるだけ私のように回答してください"です。
500件程度のデータを渡せた後、モデルの回答も若干の変化が見られました。2000件くらいになると、私の中国語の口癖も模倣するようになりました。
すべてのチャット履歴はあまり渡したくないので、試してなかったですが、おそらく数万件あれば結構うまく模倣できるようになると思います。