Bigtable은 구조화, 반구조화 또는 비구조화 데이터에 빠르게 액세스하기에 이상적인 key-value 및 wide-column store입니다. Bigtable의 LangChain 통합을 활용하여 AI 기반 경험을 구축하도록 데이터베이스 애플리케이션을 확장하세요.이 노트북은 Bigtable을 사용하여
BigtableLoader와 BigtableSaver로 langchain 문서를 저장, 로드 및 삭제하는 방법을 다룹니다.
GitHub에서 패키지에 대해 자세히 알아보세요.
시작하기 전에
이 노트북을 실행하려면 다음을 수행해야 합니다: 이 노트북의 런타임 환경에서 데이터베이스에 대한 액세스를 확인한 후, 다음 값을 입력하고 예제 스크립트를 실행하기 전에 셀을 실행하세요.🦜🔗 라이브러리 설치
이 통합은 자체langchain-google-bigtable 패키지에 있으므로 설치해야 합니다.
☁ Google Cloud Project 설정
이 노트북 내에서 Google Cloud 리소스를 활용할 수 있도록 Google Cloud 프로젝트를 설정하세요. 프로젝트 ID를 모르는 경우 다음을 시도해 보세요:gcloud config list를 실행하세요.gcloud projects list를 실행하세요.- 지원 페이지를 참조하세요: 프로젝트 ID 찾기.
🔐 인증
Google Cloud Project에 액세스하기 위해 이 노트북에 로그인한 IAM 사용자로 Google Cloud에 인증하세요.- Colab을 사용하여 이 노트북을 실행하는 경우 아래 셀을 사용하고 계속 진행하세요.
- Vertex AI Workbench를 사용하는 경우 여기에서 설정 지침을 확인하세요.
기본 사용법
Saver 사용하기
BigtableSaver.add_documents(<documents>)로 langchain 문서를 저장하세요. BigtableSaver 클래스를 초기화하려면 다음 2가지가 필요합니다:
instance_id- Bigtable의 인스턴스.table_id- langchain 문서를 저장할 Bigtable 내의 테이블 이름.
Bigtable에서 문서 쿼리하기
Bigtable 테이블에 연결하는 방법에 대한 자세한 내용은 Python SDK 문서를 확인하세요.테이블에서 문서 로드하기
BigtableLoader.load() 또는 BigtableLoader.lazy_load()로 langchain 문서를 로드하세요. lazy_load는 반복 중에만 데이터베이스를 쿼리하는 generator를 반환합니다. BigtableLoader 클래스를 초기화하려면 다음을 제공해야 합니다:
instance_id- Bigtable의 인스턴스.table_id- langchain 문서를 저장할 Bigtable 내의 테이블 이름.
문서 삭제하기
BigtableSaver.delete(<documents>)로 Bigtable 테이블에서 langchain 문서 목록을 삭제하세요.
고급 사용법
반환되는 행 제한하기
반환되는 행을 제한하는 두 가지 방법이 있습니다:Custom client
기본적으로 생성되는 client는 admin=True 옵션만 사용하는 default client입니다. 기본이 아닌 custom client를 생성자에 전달할 수 있습니다.Custom content
BigtableLoader는langchain이라는 column family가 있고, UTF-8로 인코딩된 값을 포함하는 content라는 column이 있다고 가정합니다. 이러한 기본값은 다음과 같이 변경할 수 있습니다:
Metadata mapping
기본적으로Document 객체의 metadata map에는 행의 rowkey 값을 값으로 하는 rowkey라는 단일 키가 포함됩니다. 해당 map에 더 많은 항목을 추가하려면 metadata_mapping을 사용하세요.
Metadata as JSON
출력 문서 metadata에 추가하려는 JSON 문자열을 포함하는 Bigtable의 column이 있는 경우, BigtableLoader에 다음 매개변수를 추가할 수 있습니다. 참고로metadata_as_json_encoding의 기본값은 UTF-8입니다.
BigtableSaver 커스터마이징
BigtableSaver도 BigtableLoader와 유사하게 커스터마이징할 수 있습니다.Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.