利用LangChain加载微信聊天记录:从文本到AI训练样本

引言

微信是全球广泛使用的社交平台,但导出个人聊天记录却不是一件轻松的事情。对于需要少量消息用于模型微调或少样本学习的开发者,本文将展示如何构建一个自定义的聊天加载器,将复制的微信消息转换为LangChain格式的消息列表。

主要内容

1. 创建消息转储

首先,我们需要在微信桌面应用中选择要复制的消息。通过鼠标拖动或右键最多可选100条消息,然后使用Cmd/Ctrl+C复制。随后,将这些消息粘贴到本地计算机的文本文件中。

例如,创建一个wechat_chats.txt文件:

%%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
今天只干成了一件像样的事
那就是想你

女朋友 2023/09/16 3:06 PM
[动画表情]

2. 定义聊天加载器

接下来,定义一个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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值