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

Sycamore

원문 보기 위키 갱신

출처: 문서

본문

Sycamore

Sycamore는 Python을 사용해 비정형 데이터를 검색 증강 생성(RAG)과 시맨틱 검색에 활용할 수 있도록 준비하기 위해 설계된 오픈소스 AI 기반 문서 처리 엔진이에요. Sycamore는 보고서, 프레젠테이션, 전사본, 매뉴얼 등 다양한 복잡한 문서 유형의 청킹과 인리치먼트를 지원해요. 또한 Sycamore는 표, 그림, 그래프, 기타 인포그래픽 같은 임베디드 요소를 추출하고 처리할 수 있어요. 그런 다음 OpenSearch connector 같은 커넥터를 사용해 벡터 인덱스와 키워드 인덱스를 포함한 대상 인덱스에 데이터를 로드할 수 있어요.

시작하려면 Sycamore documentation을 방문하세요.

Sycamore ETL 파이프라인 구조

Sycamore의 추출, 변환, 로드(ETL) 파이프라인은 DocSet에 일련의 변환을 적용해요. DocSet은 문서와 그 구성 요소(예: 표, 텍스트 블록, 헤더)의 모음이에요. 파이프라인의 마지막에는 DocSet이 OpenSearch 벡터 인덱스와 키워드 인덱스에 로드돼요.

OpenSearch에서 벡터 또는 하이브리드 검색을 위해 비정형 데이터를 준비하는 일반적인 파이프라인은 다음 단계로 구성돼요:

  • 문서를 DocSet으로 읽어 들여요.
  • 문서를 구조화된 JSON 요소로 분할해요.
  • transforms를 사용해 메타데이터를 추출하고 데이터를 필터링하고 정제해요.
  • 요소 그룹에서 chunks를 만들어요.
  • 선택한 모델을 사용해 청크를 임베딩해요.
  • 임베딩, 메타데이터, 텍스트를 OpenSearch 벡터 인덱스와 키워드 인덱스에 로드해요.

이 워크플로를 사용하는 예제 파이프라인은 this notebook을 참조하세요.

Sycamore 설치

pip을 사용해 Sycamore 라이브러리를 설치하는 것을 권장해요. OpenSearch용 커넥터는 extras를 사용해 지정하고 설치할 수 있어요. 예를 들면 다음과 같아요:

pip install sycamore-ai[opensearch]

{% include copy.html %}

기본적으로 Sycamore는 Aryn Partitioning Service와 함께 작동해 PDF를 처리해요. 파티셔닝이나 임베딩에 대해 로컬에서 추론을 실행하려면 다음과 같이 local-inference extra로 Sycamore를 설치하세요:

pip install sycamore-ai[opensearch,local-inference]

{% include copy.html %}

다음 단계

자세한 내용은 Sycamore documentation을 방문하세요.

더 알아보기 (Learn more)