2024년 6월부로 Rockset은 OpenAI에 인수되었으며 공개 서비스를 종료했습니다. Rockset은 세계적 수준의 인덱싱 및 검색 기능으로 알려진 실시간 분석 데이터베이스였습니다. 현재 핵심 팀과 기술은 OpenAI의 인프라에 통합되어 향후 AI 제품을 지원하고 있습니다. 이 LangChain 통합은 더 이상 작동하지 않으며 아카이브 목적으로만 보존됩니다.
Rockset은 운영 부담 없이 대규모 반구조화 데이터에 대한 쿼리를 가능하게 하는 실시간 분석 데이터베이스입니다. Rockset을 사용하면 수집된 데이터를 1초 이내에 쿼리할 수 있으며, 해당 데이터에 대한 분석 쿼리는 일반적으로 밀리초 단위로 실행됩니다. Rockset은 컴퓨팅에 최적화되어 있어 100TB 미만 범위(또는 롤업을 사용하면 100TB 이상)의 높은 동시성 애플리케이션을 제공하는 데 적합합니다.이 노트북은 langchain에서 Rockset을 document loader로 사용하는 방법을 보여줍니다. 시작하려면 Rockset 계정과 사용 가능한 API key가 있는지 확인하세요.
환경 설정
- Rockset console로 이동하여 API key를 받으세요. API reference에서 API region을 확인하세요. 이 노트북에서는
Oregon(us-west-2)에서 Rockset을 사용한다고 가정합니다. - 환경 변수
ROCKSET_API_KEY를 설정하세요. - langchain이 Rockset 데이터베이스와 상호작용하는 데 사용할 Rockset python client를 설치하세요.
Document 로드하기
LangChain과 Rockset 통합을 사용하면 SQL 쿼리로 Rockset collection에서 document를 로드할 수 있습니다. 이를 위해서는RocksetLoader 객체를 생성해야 합니다. 다음은 RocksetLoader를 초기화하는 예제 코드입니다.
text 컬럼은 page content로 사용되고, 레코드의 id와 date 컬럼은 metadata로 사용됩니다 (metadata_keys에 아무것도 전달하지 않으면 전체 Rockset document가 metadata로 사용됩니다).
쿼리를 실행하고 결과 Document들에 대한 iterator에 접근하려면 다음을 실행하세요:
Document들에 한 번에 접근하려면 다음을 실행하세요:
loader.load()의 예제 응답입니다:
여러 컬럼을 content로 사용하기
여러 컬럼을 content로 사용하도록 선택할 수 있습니다:"This is the first sentence."이고 “sentence2” 필드가 "This is the second sentence."라고 가정하면, 결과 Document의 page_content는 다음과 같습니다:
RocksetLoader 생성자에서 content_columns_joiner 인자를 설정하여 content 컬럼을 결합하는 자체 함수를 정의할 수 있습니다. content_columns_joiner는 (컬럼 이름, 컬럼 값)의 튜플 리스트를 나타내는 List[Tuple[str, Any]]]를 인자로 받는 메서드입니다. 기본적으로 이것은 각 컬럼 값을 새 줄로 결합하는 메서드입니다.
예를 들어, sentence1과 sentence2를 새 줄 대신 공백으로 결합하려면 다음과 같이 content_columns_joiner를 설정할 수 있습니다:
Document의 page_content는 다음과 같습니다:
page_content에 컬럼 이름을 포함하고 싶을 때가 있습니다. 다음과 같이 할 수 있습니다:
page_content가 생성됩니다:
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.