Cassandra는 NoSQL, row-oriented, 높은 확장성과 가용성을 가진 데이터베이스입니다. 버전 5.0부터 데이터베이스는 vector search 기능을 제공합니다.참고: 데이터베이스 접근 외에도 전체 예제를 실행하려면 OpenAI API Key가 필요합니다.
Setup 및 일반 dependencies
이 통합을 사용하려면 다음 Python package가 필요합니다.datasets, openai, pypdf, tiktoken의 최신 버전과 langchain-community가 필요합니다).
Vector Store import
Connection parameters
이 페이지에 표시된 Vector Store 통합은 Cassandra뿐만 아니라 CQL(Cassandra Query Language) protocol을 사용하는 Astra DB와 같은 파생 데이터베이스에서도 사용할 수 있습니다.DataStax Astra DB는 Cassandra를 기반으로 구축된 관리형 serverless 데이터베이스로, 동일한 인터페이스와 강점을 제공합니다.Cassandra cluster에 연결하는지 또는 CQL을 통해 Astra DB에 연결하는지에 따라 vector store 객체를 생성할 때 다른 parameters를 제공합니다.
Cassandra cluster에 연결
먼저 Cassandra driver 문서에 설명된 대로cassandra.cluster.Session 객체를 생성해야 합니다. 세부 사항은 다양하지만(예: 네트워크 설정 및 인증), 다음과 같을 수 있습니다:
cassio.init 설정을 사용하면 애플리케이션이 여러 방식으로 Cassandra를 사용하는 경우(예: vector store, chat memory, LLM response caching) 자격 증명 및 DB connection 관리를 한 곳에서 중앙 집중화할 수 있어 편리합니다.
CQL을 통해 Astra DB에 연결
이 경우 다음 connection parameters로 CassIO를 초기화합니다:- Database ID, 예:
01234567-89ab-cdef-0123-456789abcdef - Token, 예:
AstraCS:6gBhNmsk135....(“Database Administrator” token이어야 함) - 선택적으로 Keyspace 이름 (생략하면 데이터베이스의 기본값이 사용됨)
Dataset 로드
소스 dataset의 각 항목을Document로 변환한 다음 vector store에 작성합니다:
metadata dictionaries는 소스 데이터에서 생성되며 Document의 일부입니다.
이번에는 add_texts를 사용하여 더 많은 항목을 추가합니다:
add_texts 및 add_documents의 실행 속도를 높이려면 이러한 bulk operations의 동시성 수준을 높일 수 있습니다 - 자세한 내용은 메서드의 batch_size parameter를 확인하세요. 네트워크 및 클라이언트 시스템 사양에 따라 최적의 parameters 선택이 달라질 수 있습니다.
검색 실행
이 섹션에서는 metadata filtering과 similarity scores를 반환하는 방법을 보여줍니다:MMR (Maximal-marginal-relevance) search
저장된 documents 삭제
최소한의 RAG chain
다음 셀은 간단한 RAG pipeline을 구현합니다:- 샘플 PDF 파일을 다운로드하고 store에 로드합니다;
- vector store를 중심으로 LCEL(LangChain Expression Language)을 사용하여 RAG chain을 생성합니다;
- question-answering chain을 실행합니다.
Cleanup
다음은 기본적으로 CassIO에서Session 객체를 검색하고 이를 사용하여 CQL DROP TABLE 문을 실행합니다:
(저장한 데이터가 손실됩니다.)
더 알아보기
자세한 정보, 확장된 빠른 시작 가이드 및 추가 사용 예제는 LangChainCassandra vector store 사용에 대한 자세한 내용을 보려면 CassIO 문서를 방문하세요.
Attribution statement
Apache Cassandra, Cassandra 및 Apache는 미국 및/또는 기타 국가에서 Apache Software Foundation의 등록 상표 또는 상표입니다.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.