老铁们,今天我们来聊聊如何将WeChat聊天记录转换为LangChain消息格式。虽然目前没有简单的方法可以直接导出WeChat的个人消息,但如果你需要几百条消息来进行模型微调或选择Few-shot的例子,这篇文章能帮你搞定。
这个过程分为五个步骤,咱们一一来过。具体操作上挺丝滑的,跟着我一步步来,绝对没问题。
1. 创建消息转储
首先,在WeChat的桌面应用打开你的聊天记录。用鼠标拖动或右键选择你需要的消息,不过一次最多只能100条,老铁们这点要注意一下。然后按 CMD/Ctrl+C
复制。
然后在你的本地电脑上创建一个文本文件,把这些复制的消息粘贴进去。
%%writefile wechat_chats.txt
女朋友 2023/09/16 2:51 PM
天气有点凉
男朋友 2023/09/16 2:51 PM
珍簟凉风著,瑶琴寄恨生。嵇君懒书札,底物慰秋情。
女朋友 2023/09/16 3:06 PM
忙什么呢
男朋友 2023/09/16 3:06 PM
今天只干成了一件像样的事
那就是想你
2. 定义聊天加载器
接下来,我们需要定义一个聊天加载器。这里我们基于LangChain实现了一个简单的WeChatChatLoader
。
import logging
import re
from typing import Iterator, List
from langchain_community.chat_loaders import base as chat_loaders
from langchain_core.messages import BaseMessage, HumanMessage
logger = logging.getLogger()
class WeChatChatLoader(chat_loaders.BaseChatLoader):
def __init__(self, path: str):
self.path = path
self._message_line_regex = re.compile(
r"(?P<sender>.+?) (?P<timestamp>\d{4}/\d{2}/\d{2} \d{1,2}:\d{2} (?:AM|PM))"
)
def _append_message_to_results(