gel을 backend로 사용하는 LangChain vectorstore 추상화의 구현입니다.
Gel은 빠른 개발에서 프로덕션 사이클로의 전환에 최적화된 오픈소스 PostgreSQL 데이터 레이어입니다. 고수준의 엄격하게 타입이 지정된 그래프형 데이터 모델, 구성 가능한 계층적 쿼리 언어, 완전한 SQL 지원, 마이그레이션, Auth 및 AI 모듈을 제공합니다.
코드는 langchain-gel이라는 통합 패키지에 있습니다.
Setup
먼저 관련 패키지를 설치합니다:Initialization
VectorStore의 backend로 Gel을 사용하려면 작동하는 Gel 인스턴스가 필요합니다.
다행히도 원하지 않는 한 Docker 컨테이너나 복잡한 작업이 필요하지 않습니다!
로컬 인스턴스를 설정하려면 다음을 실행하세요:
스키마 설정
Gel schema는 애플리케이션의 데이터 모델에 대한 명시적인 고수준 설명입니다. 데이터 레이아웃을 정확하게 정의할 수 있을 뿐만 아니라, link, access policy, function, trigger, constraint, index 등과 같은 Gel의 강력한 기능을 구동합니다. LangChain의VectorStore는 스키마에 대해 다음과 같은 레이아웃을 기대합니다:
GelVectorStore는 LangChain에서 사용 가능한 다른 vectorstore의 드롭인 대체품으로 사용할 수 있습니다.
Instantiation
Manage vector store
vector store에 항목 추가
ID로 문서를 추가하면 해당 ID와 일치하는 기존 문서를 덮어쓰게 됩니다.vector store에서 항목 삭제
Query vector store
vector store가 생성되고 관련 문서가 추가되면 chain이나 agent를 실행하는 동안 쿼리하고 싶을 것입니다.Filtering Support
vectorstore는 문서의 metadata 필드에 적용할 수 있는 필터 세트를 지원합니다.| Operator | Meaning/Category |
|---|---|
| $eq | Equality (==) |
| $ne | Inequality (!=) |
| $lt | Less than (<) |
| $lte | Less than or equal (<=) |
| $gt | Greater than (>) |
| $gte | Greater than or equal (>=) |
| $in | Special Cased (in) |
| $nin | Special Cased (not in) |
| $between | Special Cased (between) |
| $like | Text (like) |
| $ilike | Text (case-insensitive like) |
| $and | Logical (and) |
| $or | Logical (or) |
직접 쿼리
간단한 유사도 검색은 다음과 같이 수행할 수 있습니다:retriever로 변환하여 쿼리
chain에서 더 쉽게 사용할 수 있도록 vector store를 retriever로 변환할 수도 있습니다.Usage for retrieval-augmented generation
retrieval-augmented generation (RAG)에 이 vector store를 사용하는 방법에 대한 가이드는 다음 섹션을 참조하세요:API reference
모든 GelVectorStore 기능 및 구성에 대한 자세한 문서는 API reference를 참조하세요: python.langchain.com/api_reference/Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.