始める無料で始める

セマンティックチャンキング

これまでに使用した分割手法にはすべて同じ弱点があります。それは、分割の際に前後のコンテキストを考慮しないため、文脈が失われやすいという点です。

この演習では、意味に基づいてテキストを分割する最先端の実験的手法である、セマンティックチャンキングを適用します。このスプリッターは、テキストの意味が、しきい値を超えて変化したことを検出すると、その時点で分割を実行します。

この演習はコースの一部です

LangChainで学ぶ検索拡張生成(RAG)

コースを見る

演習の手順

  • OpenAIの'text-embedding-3-small'エンベディングモデルをインスタンス化してください。
  • ベクトルの変化の大きさを使って意味的な類似性を判定し、しきい値として0.8を使用するsemantic splitterを作成してください。
  • そのsemantic splitterを使って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])
コードを編集して実行