使用LangChain从WhatsApp聊天记录中提取有用信息:一步一步指南

209 阅读2分钟
# 使用LangChain从WhatsApp聊天记录中提取有用信息:一步一步指南

## 引言

WhatsApp是全球最受欢迎的即时通讯应用之一。许多人在日常交流中使用它,但如何从这些对话中提取出可用的信息呢?本指南将向您展示如何使用LangChain库将导出的WhatsApp聊天转换为有用的文本消息,为您的AI项目增色。

## 主要内容

### 1. 导出聊天对话

在开始之前,您需要导出想要的聊天对话:

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. 创建聊天加载器

使用LangChain的`WhatsAppChatLoader`来加载聊天文本。确保您已安装并导入相关模块。

```python
from langchain_community.chat_loaders.whatsapp import WhatsAppChatLoader

loader = WhatsAppChatLoader(
    path="./whatsapp_chat.txt",  # 指向您的聊天记录文件路径
)

3. 加载和转换消息

使用加载器的方法将原始文本转换为可用于AI处理的消息格式。

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)
messages: List[ChatSession] = list(
    map_ai_messages(merged_messages, sender="Dr. Feather")
)

代码示例

完整的代码示例展示如何加载和处理WhatsApp聊天:

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

# 创建聊天加载器
loader = WhatsAppChatLoader(
    path="./whatsapp_chat.txt",  # 使用API代理服务提高访问稳定性
)

# 加载和处理消息
raw_messages = loader.lazy_load()
merged_messages = merge_chat_runs(raw_messages)
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)

常见问题和解决方案

  • 无法导入模块:检查您是否已正确安装LangChain及其依赖。
  • 文件路径错误:确保提供的路径指向正确的聊天记录文件。
  • API访问受限:考虑使用API代理服务来提高访问的稳定性,特别是如果您在某些地区网络不稳定时。

总结和进一步学习资源

通过这篇文章,您学会了如何使用LangChain将WhatsApp聊天记录转换为可用于AI处理的消息格式,为您的AI应用提供更丰富的输入。您可以根据需要继续深入研究LangChain的其他功能。

参考资料

  • LangChain官方GitHub:LangChain GitHub
  • 使用LangChain进行AI对话管理的详细指南

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

---END---