Spanner는 무제한 확장성과 보조 인덱스, 강력한 일관성, 스키마, SQL과 같은 관계형 의미론을 결합하여 하나의 쉬운 솔루션으로 99.999%의 가용성을 제공하는 고도로 확장 가능한 데이터베이스입니다.이 노트북은
SpannerVectorStore 클래스를 사용하여 Vector Search를 위해 Spanner를 사용하는 방법을 다룹니다.
GitHub에서 패키지에 대해 자세히 알아보세요.
시작하기 전에
이 노트북을 실행하려면 다음을 수행해야 합니다:🦜🔗 라이브러리 설치
이 통합은 자체langchain-google-spanner 패키지에 있으므로 설치해야 합니다.
🔐 인증
이 노트북에 로그인한 IAM 사용자로 Google Cloud에 인증하여 Google Cloud Project에 액세스하세요.- Colab을 사용하여 이 노트북을 실행하는 경우 아래 셀을 사용하고 계속하세요.
- Vertex AI Workbench를 사용하는 경우 여기에서 설정 지침을 확인하세요.
☁ Google Cloud Project 설정
이 노트북 내에서 Google Cloud 리소스를 활용할 수 있도록 Google Cloud 프로젝트를 설정하세요. 프로젝트 ID를 모르는 경우 다음을 시도해보세요:gcloud config list를 실행하세요.gcloud projects list를 실행하세요.- 지원 페이지를 참조하세요: 프로젝트 ID 찾기.
💡 API 활성화
langchain-google-spanner 패키지를 사용하려면 Google Cloud Project에서 Spanner API를 활성화해야 합니다.
기본 사용법
Spanner 데이터베이스 값 설정
Spanner Instances 페이지에서 데이터베이스 값을 찾으세요.테이블 초기화
SpannerVectorStore 클래스 인스턴스는 id, content 및 embeddings 열이 있는 데이터베이스 테이블이 필요합니다.
적절한 스키마로 테이블을 생성하는 데 사용할 수 있는 헬퍼 메서드 init_vector_store_table()이 있습니다.
embedding 클래스 인스턴스 생성
모든 LangChain embeddings model을 사용할 수 있습니다.VertexAIEmbeddings를 사용하려면 Vertex AI API를 활성화해야 할 수 있습니다. 프로덕션 환경에서는 embedding 모델의 버전을 설정하는 것이 좋으며, Text embeddings models에 대해 자세히 알아보세요.
SpannerVectorStore
SpannerVectorStore 클래스를 초기화하려면 4개의 필수 인수를 제공해야 하며, 다른 인수는 선택 사항이며 기본값과 다른 경우에만 전달하면 됩니다.
instance_id- Spanner 인스턴스의 이름database_id- Spanner 데이터베이스의 이름table_name- 문서와 해당 embeddings를 저장할 데이터베이스 내 테이블의 이름embedding_service- embeddings를 생성하는 데 사용되는 Embeddings 구현
Document 추가
vector store에 문서를 추가합니다.Document 검색
유사도 검색으로 vector store에서 문서를 검색합니다.Document 검색
최대 한계 관련성 검색으로 vector store에서 문서를 검색합니다.Document 삭제
vector store에서 문서를 제거하려면 VectorStore를 초기화할 때row_id 열의 값에 해당하는 ID를 사용하세요.
Document 삭제
vector store에서 문서를 제거하려면 문서 자체를 활용할 수 있습니다. VectorStore 초기화 중에 제공된 content 열과 metadata 열이 문서에 해당하는 행을 찾는 데 사용됩니다. 일치하는 행은 삭제됩니다.Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.