
3
テキスト抽出
まず、外部知識となる文書を選択し、それをテキストデータに変換します。文書の形式とし
てはWord、PDF、Markdown、HTML など様々なものが考えられます。これらの文書に含ま
れるテキストデータを抽出し、前処理を行います。前処理には、ヘッダ、フッタ、広告の除去
など不要なデータの削除やテキスト中の表記の統一などが含まれます。
分割
次に、テキストデータを適切なサイズのチャンクに分割します。テキストを分割するのは、
後でLLM に入力する際の制限を考慮してのことです。LLM には最大トークン数を超える入力
はできないため、適切なサイズに分割する必要があります。このため、利用するLLM に適し
た長さにテキストを分割します。チャンクの単位は、文章、段落、固定長のトークン数などが
考えられます。
ベクトル化
次に、分割した個々のチャンクを埋め込みベクトルに変換します。この埋め込みベクトル
は、文書の特徴をベクトル化したものです。埋め込みベクトルの作成にも1.3 で説明した
Transformerがしばしば用いられます。文書をTransformerに入力し、最後のトークンの埋め
込みベクトルを取得します。最後のトークンには、文書全体の情報が集約されているため、文
書全体の特徴を表す埋め込みベクトルとして利用できます。
保存
インデックスの作成の最後の手順は、埋め込みベクトルをデータベースに保存することで
す。ここで利用するデータベースは、埋め込みベクトルを用いた高速な類似度検索に対応可能
なものです。例えば ...