RedisVL 시작하기 — IndexSchema부터 벡터 검색까지
RedisVL 시작하기
RedisVL은 CLI(rvl)가 딸린 Python 라이브러리예요. 핵심 워크플로우는 스키마 정의 → 인덱스 생성 → 데이터 로드 → 벡터 검색 순서예요. 먼저 설치하고 시작할게요.
pip install redisvl
Redis 인스턴스(Redis 8+ 또는 Redis Cloud)가 실행 중이어야 해요.
IndexSchema 정의
IndexSchema는 검색에 필요한 인덱스 설정과 필드 정의를 담아요. Python 사전이나 YAML 파일로 만들 수 있어요. 사용자 데이터(직업, 나이, 신용점수, 3차원 user_embedding 벡터) 예시로 볼게요.
version: '0.1.0'
index:
name: user_simple
prefix: user_simple_docs
fields:
- name: user
type: tag
- name: credit
type: numeric
인덱스 name과 데이터 키에 붙는 prefix, 그리고 검색할 fields(타입 포함)를 지정해요.
SearchIndex 만들기와 rvl CLI
스키마로 SearchIndex 객체를 만들 수 있어요.
from redisvl.index import SearchIndex
from redisvl.schema import IndexSchema
schema = IndexSchema.from_dict({...}) # 또는 from_yaml
index = SearchIndex(schema=schema, redis_url="redis://localhost:6379")
index.create()
CLI로도 관리할 수 있어요.
rvl index createall
데이터 로드와 벡터 검색
데이터를 로드한 뒤 벡터 유사도 검색을 실행하면, 가장 가까운 이웃 문서를 거리순으로 돌려받아요. rvl search 같은 명령으로 CLI에서도 검색할 수 있고, 레코드 단건 조회·삭제, 인덱스 스키마 갱신도 지원해요. 앱이 진화하면 스키마를 다시 정의해 인덱스를 업데이트하면 됩니다.