Cloud SQL은 고성능, 원활한 통합 및 인상적인 확장성을 제공하는 완전 관리형 관계형 데이터베이스 서비스입니다. PostgreSQL, MySQL 및 SQL Server 데이터베이스 엔진을 제공합니다. Cloud SQL의 LangChain 통합을 활용하여 AI 기반 경험을 구축하도록 데이터베이스 애플리케이션을 확장하세요.이 노트북은
PostgresVectorStore 클래스를 사용하여 Cloud SQL for PostgreSQL로 vector embedding을 저장하는 방법을 다룹니다.
GitHub에서 패키지에 대해 자세히 알아보세요.
시작하기 전에
이 노트북을 실행하려면 다음을 수행해야 합니다:- Google Cloud Project 생성
- Cloud SQL Admin API 활성화
- Cloud SQL 인스턴스 생성
- Cloud SQL 데이터베이스 생성
- 데이터베이스에 사용자 추가
🦜🔗 라이브러리 설치
통합 라이브러리인langchain-google-cloud-sql-pg와 embedding 서비스용 라이브러리인 langchain-google-vertexai를 설치합니다.
🔐 인증
Google Cloud Project에 액세스하기 위해 이 노트북에 로그인한 IAM 사용자로 Google Cloud에 인증합니다.- Colab을 사용하여 이 노트북을 실행하는 경우 아래 셀을 사용하고 계속 진행하세요.
- Vertex AI Workbench를 사용하는 경우 여기에서 설정 지침을 확인하세요.
☁ Google Cloud Project 설정
이 노트북 내에서 Google Cloud 리소스를 활용할 수 있도록 Google Cloud 프로젝트를 설정합니다. 프로젝트 ID를 모르는 경우 다음을 시도해보세요:gcloud config list를 실행합니다.gcloud projects list를 실행합니다.- 지원 페이지를 참조하세요: 프로젝트 ID 찾기.
기본 사용법
Cloud SQL 데이터베이스 값 설정
Cloud SQL 인스턴스 페이지에서 데이터베이스 값을 찾으세요.PostgresEngine Connection Pool
Cloud SQL을 vector store로 설정하기 위한 요구 사항 및 인수 중 하나는PostgresEngine 객체입니다. PostgresEngine은 Cloud SQL 데이터베이스에 대한 connection pool을 구성하여 애플리케이션에서 성공적인 연결을 가능하게 하고 업계 모범 사례를 따릅니다.
PostgresEngine.from_instance()를 사용하여 PostgresEngine을 생성하려면 다음 4가지만 제공하면 됩니다:
project_id: Cloud SQL 인스턴스가 위치한 Google Cloud Project의 Project ID.region: Cloud SQL 인스턴스가 위치한 Region.instance: Cloud SQL 인스턴스의 이름.database: Cloud SQL 인스턴스에서 연결할 데이터베이스의 이름.
PostgresEngine.from_instance()에 선택적 user 및 password 인수를 제공하기만 하면 됩니다:
user: 기본 제공 데이터베이스 인증 및 로그인에 사용할 데이터베이스 사용자password: 기본 제공 데이터베이스 인증 및 로그인에 사용할 데이터베이스 비밀번호.
테이블 초기화
PostgresVectorStore 클래스는 데이터베이스 테이블이 필요합니다. PostgresEngine 엔진에는 적절한 스키마로 테이블을 생성하는 데 사용할 수 있는 헬퍼 메서드 init_vectorstore_table()이 있습니다.
embedding 클래스 인스턴스 생성
모든 LangChain embeddings 모델을 사용할 수 있습니다.VertexAIEmbeddings를 사용하려면 Vertex AI API를 활성화해야 할 수 있습니다. 프로덕션 환경에서는 embedding 모델의 버전을 설정하는 것이 좋습니다. Text embeddings 모델에 대해 자세히 알아보세요.
기본 PostgresVectorStore 초기화
텍스트 추가
텍스트 삭제
문서 검색
vector로 문서 검색
Index 추가
vector index를 적용하여 vector 검색 쿼리 속도를 높입니다. vector indexes에 대해 자세히 알아보세요.재인덱싱
index 제거
사용자 정의 Vector Store 생성
Vector Store는 관계형 데이터를 활용하여 유사도 검색을 필터링할 수 있습니다. 사용자 정의 metadata 컬럼이 있는 테이블을 생성합니다.metadata 필터로 문서 검색
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.