# 从Discord导出的聊天记录到LangChain消息:一步步教你实现!
## 引言
在进行AI应用开发时,我们常需要将来自不同平台的数据转换为模型可理解的格式。今天,我将向您展示如何将Discord聊天记录转换为LangChain框架中可使用的消息形式。这一过程分为几个简单的步骤,您可以利用这些信息来满足不同的开发需求。
## 主要内容
### 1. 创建消息转储
目前,该加载器仅支持将从Discord应用中复制的消息粘贴成的`.txt`文件格式。以下是一个示例:
```plaintext
%%writefile discord_chats.txt
talkingtower — 08/15/2023 11:10 AM
Love music! Do you like jazz?
reporterbob — 08/15/2023 9:27 PM
Yes! Jazz is fantastic. Ever heard this one?
Website
Listen to classic jazz track...
2. 定义聊天加载器
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()classDiscordChatLoader(chat_loaders.BaseChatLoader):def__init__(self, path:str):
self.path = path
self._message_line_regex = re.compile(r"(.+?) — (\w{3,9} \d{1,2}(?:st|nd|rd|th)?(?:, \d{4})? \d{1,2}:\d{2} (?:AM|PM)|Today at \d{1,2}:\d{2} (?:AM|PM)|Yesterday at \d{1,2}:\d{2} (?:AM|PM))",
flags=re.DOTALL,)def_load_single_chat_session_from_txt(self, file_path:str)-> chat_loaders.Ch