Google Memorystore for Redis는 Redis 인메모리 데이터 스토어를 기반으로 하는 완전 관리형 서비스로, 밀리초 미만의 데이터 액세스를 제공하는 애플리케이션 캐시를 구축할 수 있습니다. Memorystore for Redis의 LangChain 통합을 활용하여 AI 기반 경험을 구축하도록 데이터베이스 애플리케이션을 확장하세요.이 노트북은 Memorystore for Redis를 사용하여
MemorystoreDocumentLoader와 MemorystoreDocumentSaver로 langchain 문서를 저장, 로드 및 삭제하는 방법을 다룹니다.
GitHub에서 패키지에 대해 자세히 알아보세요.
시작하기 전에
이 노트북을 실행하려면 다음을 수행해야 합니다:- Google Cloud Project 생성
- Memorystore for Redis API 활성화
- Memorystore for Redis 인스턴스 생성. 버전이 5.0 이상인지 확인하세요.
🦜🔗 라이브러리 설치
이 통합은 자체langchain-google-memorystore-redis 패키지에 있으므로 설치해야 합니다.
☁ 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를 사용하는 경우 여기에서 설정 지침을 확인하세요.
기본 사용법
문서 저장
MemorystoreDocumentSaver.add_documents(<documents>)로 langchain 문서를 저장하세요. MemorystoreDocumentSaver 클래스를 초기화하려면 다음 2가지가 필요합니다:
client-redis.Redisclient 객체.key_prefix- Redis에 Documents를 저장하기 위한 키의 prefix.
key_prefix로 지정된 prefix를 가진 무작위로 생성된 키에 저장됩니다. 또는 add_documents 메서드에서 ids를 지정하여 키의 suffix를 지정할 수 있습니다.
문서 로드
특정 prefix로 Memorystore for Redis 인스턴스에 저장된 모든 문서를 로드하는 loader를 초기화하세요.MemorystoreDocumentLoader.load() 또는 MemorystoreDocumentLoader.lazy_load()로 langchain 문서를 로드하세요. lazy_load는 반복 중에만 데이터베이스를 쿼리하는 generator를 반환합니다. MemorystoreDocumentLoader 클래스를 초기화하려면 다음이 필요합니다:
client-redis.Redisclient 객체.key_prefix- Redis에 Documents를 저장하기 위한 키의 prefix.
문서 삭제
MemorystoreDocumentSaver.delete()로 Memorystore for Redis 인스턴스에서 지정된 prefix를 가진 모든 키를 삭제하세요. 알고 있다면 키의 suffix를 지정할 수도 있습니다.
고급 사용법
Document Page Content 및 Metadata 커스터마이징
2개 이상의 content field로 loader를 초기화할 때, 로드된 Documents의page_content는 content_fields에 지정된 필드와 동일한 최상위 필드를 가진 JSON 인코딩된 문자열을 포함합니다.
metadata_fields가 지정된 경우, 로드된 Documents의 metadata 필드는 지정된 metadata_fields와 동일한 최상위 필드만 가집니다. metadata 필드의 값 중 JSON 인코딩된 문자열로 저장된 값이 있는 경우, metadata 필드에 로드되기 전에 디코딩됩니다.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.