Spaces:
Build error
Build error
Backend Scripts
Reprocess All Documents
重新處理所有已上傳的文檔,使用新的 chunking 參數。
使用方式
# 確保 backend API 正在運行
python backend/scripts/reprocess_all_docs.py
功能
- 自動獲取資料庫中所有文檔
- 為每個文檔調用
/api/ingest/reprocess/{doc_id}endpoint - 使用新的參數重新切割文本(chunk_size=400, overlap=80)
- 重新生成 embeddings
- 顯示詳細進度和統計數據
輸出範例
🔄 Reprocessing All Documents with New Chunk Parameters
================================================================================
New chunk_size: 400
New overlap: 80
================================================================================
📋 Fetching document list...
✅ Found 3 documents
[1/3] Processing: 職涯諮詢師初階培訓簡報.pdf (ID: 1)
✅ Success!
Old chunks: 9
New chunks: 28
Embeddings: 28
[2/3] Processing: 職涯諮詢師進階培訓簡報.pdf (ID: 2)
✅ Success!
Old chunks: 4
New chunks: 15
Embeddings: 15
================================================================================
📊 SUMMARY
================================================================================
✅ Successful: 2
❌ Failed: 0
📈 Total old chunks deleted: 13
📈 Total new chunks created: 43
📈 Chunk increase: +30 (+230.8%)
注意事項
- 需要 API 運行: 確保 backend API 在
http://localhost:8000運行 - 時間較長: 處理過程需要為每個 chunk 生成 embedding,可能需要數分鐘
- OpenAI API: 會消耗 OpenAI API credits
- 無法復原: 舊的 chunks 會被刪除,請確認後再執行
疑難排解
如果遇到 pgbouncer 錯誤:
- 等待幾分鐘讓 Supabase 緩存清除
- 確認
.env中的DATABASE_URL正確 - 重啟 backend API
如果遇到 timeout:
- 增加
httpx.AsyncClient(timeout=300.0)的 timeout 值 - 確認網路連接穩定
- 檢查 OpenAI API key 是否有效