본문 바로가기
WIKI 기술 지식 베이스

Ingesting data into a vector index

원문 보기 위키 갱신

출처: 문서

본문

벡터 인덱스로 데이터 수집하기

벡터 인덱스를 생성한 후에는 원시 벡터 데이터를 수집하거나 수집하면서 데이터를 임베딩으로 변환해야 해요.

수집 방법 비교

다음 표는 두 가지 수집 방법을 비교해요.

기능 데이터 형식 수집 파이프라인 벡터 생성 추가 필드
원시 벡터 수집 사전 생성된 벡터 필요하지 않음 외부 선택적 메타데이터
수집 중 데이터를 임베딩으로 변환 텍스트 또는 이미지 데이터 필요함 내부 (수집 중) 원본 데이터 + 임베딩

원시 벡터 수집

OpenSearch 외부에서 생성된 원시 벡터나 임베딩을 사용할 때는 knn_vector 필드에 직접 벡터 데이터를 수집해요. 벡터가 이미 생성되어 있으므로 파이프라인이 필요하지 않아요:

PUT /my-raw-vector-index/_doc/1
{
  "my_vector": [0.1, 0.2, 0.3],
  "metadata": "Optional additional information"
}

{% include copy-curl.html %}

여러 벡터를 효율적으로 수집하려면 Bulk API를 사용할 수도 있어요:

PUT /_bulk
{"index": {"_index": "my-raw-vector-index", "_id": 1}}
{"my_vector": [0.1, 0.2, 0.3], "metadata": "First item"}
{"index": {"_index": "my-raw-vector-index", "_id": 2}}
{"my_vector": [0.2, 0.3, 0.4], "metadata": "Second item"}

{% include copy-curl.html %}

수집 중 데이터를 임베딩으로 변환

임베딩을 자동으로 생성하는 수집 파이프라인을 구성한 후에는 텍스트 데이터를 인덱스에 직접 수집할 수 있어요:

PUT /my-ai-search-index/_doc/1
{
  "input_text": "Example: AI search description"
}

{% include copy-curl.html %}

파이프라인이 자동으로 임베딩을 생성하여 output_embedding 필드에 저장해요.

여러 문서를 효율적으로 수집하려면 Bulk API를 사용할 수도 있어요:

PUT /_bulk
{"index": {"_index": "my-ai-search-index", "_id": 1}}
{"input_text": "Example AI search description"}
{"index": {"_index": "my-ai-search-index", "_id": 2}}
{"input_text": "Bulk API operation description"}

{% include copy-curl.html %}

희소 벡터 사용

OpenSearch는 희소 벡터도 지원해요. 자세한 내용은 Neural sparse search를 참조하세요.

텍스트 청킹

밀집 또는 희소 AI 검색 중 임베딩을 생성하기 전에 큰 문서를 더 작은 구절로 나누는 방법에 대한 자세한 내용은 Text chunking을 참조하세요.

다음 단계

더 알아보기 (Learn more)