Vector Document
Warning
작성 중 입니다.
sqlite-vec와 pgvector 라이브러리를 지원합니다.
SQLiteVectorDocument모델 상속을 통해sqlite-vec기반으로 텍스트 문서와 메타데이터, 임베딩 벡터를 저장하고, 유사 문서를 검색할 수 있습니다.PGVectorDocument모델 상속을 통해pgvector기반으로 텍스트 문서와 메타데이터, 임베딩 벡터를 저장하고, 유사 문서를 검색할 수 있습니다.
from pyhub.rag.models.sqlite import SQLiteVectorDocument
class TaxlawDocument(SQLiteVectorDocument):
pass
각 모델에는 다음 3개의 모델 필드가 디폴트 생성됩니다.
page_content:models.TextField타입metadata:models.JSONField타입embedding: 커스텀BaseVectorField타입
각 모델 인스턴스 생성 시에 page_content, metadata 필드만 지정하고 저장하면 embedding 필드가 자동으로 생성/저장됩니다.
물론 bulk_create를 통한 저장에서도 embedding 필드가 자동 생성/저장됩니다.
레코드 생성 이후에 쿼리셋의 .similarity_search(검색어, k=4) 메서드를 통해 유사 문서를 검색할 수 있습니다.