Cloud SQL for PostgreSQL은 Google Cloud Platform에서 PostgreSQL 관계형 데이터베이스를 설정, 유지 관리, 관리 및 운영할 수 있도록 지원하는 완전 관리형 데이터베이스 서비스입니다. Cloud SQL for PostgreSQL의 LangChain 통합을 활용하여 데이터베이스 애플리케이션을 확장하고 AI 기반 경험을 구축하세요.이 노트북은
PostgresLoader 클래스를 사용하여 Cloud SQL for PostgreSQL로 Documents를 로드하는 방법을 다룹니다.
GitHub에서 패키지에 대해 자세히 알아보세요.
시작하기 전에
이 노트북을 실행하려면 다음을 수행해야 합니다:- Google Cloud Project 생성
- Cloud SQL Admin API 활성화
- Cloud SQL for PostgreSQL 인스턴스 생성
- Cloud SQL for PostgreSQL 데이터베이스 생성
- 데이터베이스에 사용자 추가
🦜🔗 라이브러리 설치
통합 라이브러리인langchain_google_cloud_sql_pg를 설치합니다.
🔐 인증
이 노트북에 로그인한 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 찾기.
기본 사용법
Cloud SQL 데이터베이스 값 설정
Cloud SQL 인스턴스 페이지에서 데이터베이스 변수를 찾습니다.Cloud SQL Engine
PostgreSQL을 document loader로 설정하기 위한 요구 사항 및 인수 중 하나는PostgresEngine 객체입니다. PostgresEngine은 Cloud SQL for PostgreSQL 데이터베이스에 대한 연결 풀을 구성하여 애플리케이션에서 성공적인 연결을 가능하게 하고 업계 모범 사례를 따릅니다.
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: 기본 제공 데이터베이스 인증 및 로그인에 사용할 데이터베이스 비밀번호.
PostgresLoader 생성
기본 테이블을 통해 Documents 로드
loader는 첫 번째 열을 page_content로, 다른 모든 열을 metadata로 사용하여 테이블에서 Documents 목록을 반환합니다. 기본 테이블은 첫 번째 열을 page_content로, 두 번째 열을 metadata(JSON)로 갖습니다. 각 행은 하나의 document가 됩니다. documents에 id를 포함하려면 직접 추가해야 합니다.사용자 정의 테이블/metadata 또는 사용자 정의 page content 열을 통해 documents 로드
page content 형식 설정
loader는 Documents 목록을 반환하며, 행당 하나의 document가 있고 page content는 지정된 문자열 형식(예: text(공백으로 구분된 연결), JSON, YAML, CSV 등)으로 제공됩니다. JSON 및 YAML 형식에는 헤더가 포함되지만 text 및 CSV에는 필드 헤더가 포함되지 않습니다.Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.