分割 Python 檔案
雖然文字檔與程式碼檔都由相同的字元組成,但程式碼檔包含超出自然語言的結構。為了在文件分割時保留這些與程式碼相關的脈絡,你應該讓分割器先嘗試依最常見的程式碼結構來分割。所幸,LangChain 已提供可直接達成此目的的功能!
所有必要的類別都已為你匯入完畢,包括來自 langchain_text_splitters 的 Language。
本練習屬於課程
使用 LangChain 的 Retrieval Augmented Generation(RAG)
練習說明
- 建立一個遞迴字元分割器,能依常見的 Python 程式碼結構進行分割。
- 將
python_data文件載入器分割成數個區塊。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create a Python-aware recursive character splitter
python_splitter = RecursiveCharacterTextSplitter.____(
____, chunk_size=300, chunk_overlap=100
)
# Split the Python content into chunks
chunks = ____
for i, chunk in enumerate(chunks[:3]):
print(f"Chunk {i+1}:\n{chunk.page_content}\n")