Skip to content

AI 輔助轉換指南

如果你的聊天記錄格式(如 CSV, HTML, TXT 或其他資料庫匯出)目前不被 ChatLab 直接支援,你可以利用 AI(如 ChatGPT, Claude, DeepSeek 等)快速編寫一個轉換腳本,將你的資料轉換為 ChatLab 標準格式。

準備工作

  1. 查看標準規範ChatLab 標準格式規範 v0.0.2
  2. 準備資料:準備好你匯出的原始聊天記錄檔案(如果是線上服務,建議僅提供幾百條脫敏後的樣本即可)。

選擇目標格式

請根據你的資料量大小,選擇合適的提示詞。

場景一:中小規模資料 (推薦)

  • 目標格式:JSON (.json)
  • 適用場景:記錄數 < 100 萬條,檔案體積 < 100MB。
  • 特點:結構清晰,相容性最好。

複製 JSON 轉換提示詞

markdown
**角色設定**:你是一個精通資料處理和腳本編寫的專家。

**任務目標**:請根據我提供的【ChatLab 標準格式規範】(chatlab-format.md),編寫一個腳本,將我上傳的【原始聊天記錄】轉換為符合該規範的 **JSON 格式**

**執行要求**

1.  **分析結構**:分析原始聊天記錄的文字規律或資料結構。
2.  **欄位映射**
    - 將原始欄位映射到 ChatLab 標準欄位(`timestamp`, `sender`, `content`, `type` 等)。
    - 如果原始資料缺少 `sender` (使用者 ID),請根據 `accountName` (使用者名) 自動產生一個唯一的雜湊值或虛擬 ID。
    - `type` 預設為 0 (文字)。如果能從內容中識別出圖片、語音等類型,請嘗試映射。
3.  **腳本產生**
    - 請編寫一個**完整的、可執行的腳本**(推薦 Python 或 Node.js)。
    - **輸出結構**:腳本應建構一個包含 `chatlab`, `meta`, `members`, `messages` 的完整 JSON 物件,並一次性寫入檔案。
    - 腳本需包含必要的錯誤處理,並列印進度。
4.  **結果驗證**
    - 請確保產生的 JSON 結構嚴格符合 `chatlab-format.md` 中的定義。

**輸出**:請直接提供程式碼,並簡要說明如何執行該腳本。

場景二:超大規模資料

  • 目標格式:JSONL (.jsonl)
  • 適用場景:記錄數 > 100 萬條,或檔案體積巨大。
  • 特點:串流讀寫,記憶體佔用極低,不會因為資料量大而崩潰。

複製 JSONL 轉換提示詞

markdown
**角色設定**:你是一個精通大資料處理和串流計算的專家。

**任務目標**:請根據我提供的【ChatLab 標準格式規範】(chatlab-format.md),編寫一個腳本,將我上傳的【原始聊天記錄】轉換為符合該規範的 **JSONL (JSON Lines) 格式**

**執行要求**

1.  **分析結構**:分析原始聊天記錄的文字規律。
2.  **串流處理**
    - **必須採用串流讀寫**(Line-by-Line)的方式,不要一次性將所有資料載入到記憶體中。
    - 逐行讀取原始檔案,逐行寫入目標檔案。
3.  **JSONL 結構要求**
    - **第一行**:必須寫入 `_type: "header"` 行(包含 `chatlab``meta` 資訊)。
    - **成員資訊**:如果可能,先掃描一遍或在處理過程中收集成員資訊,寫入 `_type: "member"` 行。
    - **訊息記錄**:每一條聊天記錄寫入一行 `_type: "message"`
4.  **腳本產生**
    - 請編寫一個**高效的 Python 腳本**
    - 確保處理過程記憶體佔用恆定,適合處理 GB 級別的大檔案。

**輸出**:請直接提供程式碼,並簡要說明如何執行該腳本。

後續步驟

  1. 執行腳本:在本機環境中執行 AI 產生的腳本。
  2. 檢查結果:開啟產生的檔案,確認格式是否正確。
  3. 匯入 ChatLab:將產生的檔案匯入 ChatLab 進行分析。