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에서도 검색할 수 있고, 레코드 단건 조회·삭제, 인덱스 스키마 갱신도 지원해요. 앱이 진화하면 스키마를 다시 정의해 인덱스를 업데이트하면 됩니다.

더 알아보기