語意式切分
到目前為止你用過的所有切分策略都有同一個缺點:切分時不會考量周遭文字的脈絡,因此很容易在切分過程中遺失語境。
在這個練習中,你會建立並套用一個語意文字切分器。這是一種以語意為基礎來切分文字的前沿實驗方法。當切分器偵測到文字的意義偏離超過特定閾值時,就會進行切分。
本練習屬於課程
使用 LangChain 的 Retrieval Augmented Generation(RAG)
練習說明
- 建立來自 OpenAI 的
'text-embedding-3-small'嵌入向量模型。 - 建立一個語意文字切分器,使用向量梯度判斷語意相似度,並將切分閾值設為
0.8。 - 使用這個語意切分器來切分
document。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Instantiate an OpenAI embeddings model
embedding_model = ____(api_key="", model='____')
# Create the semantic text splitter with desired parameters
semantic_splitter = ____(
embeddings=____, breakpoint_threshold_type="____", breakpoint_threshold_amount=____
)
# Split the document
chunks = ____
print(chunks[0])