LanceDB 퀵스타트 — 테이블 만들고 검색
LanceDB 퀵스타트 — 테이블 만들고 검색
LanceDB는 하나의 데이터 레이어로 큐레이션·특성 엔지니어링·검색·모델 훈련을 다뤄요. 훈련 데이터 준비, RAG 또는 에이전트 검색 시스템 구축, 예제 검토, 모델 생성 특성 추가 — 모두 같은 테이블·검색 기본 요소를 써요.
1. 설치
pip install lancedb # 또는 uv add lancedb
2. 데이터베이스 연결
LanceDB는 여러 URI 패턴을 지원해요.
- 로컬 파일시스템 경로 (임베디드 라이브러리로 사용할 때)
db://...URI (LanceDB Enterprise)- 객체 스토리지 URI:
s3://...,gs://...,az://...
가장 간단한 방법은 임베디드 라이브러리로 로컬 경로에 연결하는 거예요.
3. 테이블 만들기
캐멀롯 왕국의 캐릭터 테이블을 만들어 볼게요. 각 행은 원문 텍스트·메타데이터·구조화 필드·벡터 임베딩을 담아요.
import lancedb
db = lancedb.connect("./camelot")
tbl = db.create_table("characters", data=[
{"id": "2", "name": "Merlin", "role": "Wizard",
"description": "Advisor and prophet with deep magical knowledge.",
"vector": [0.2, 0.9, 0.4, 0.9]}
])
LanceDB 테이블은 스키마를 요구해요. 스키마를 안 주면 데이터에서 추론해요.
4. 의미 검색
벡터 유사도 검색으로 "wise magical advisor"와 비슷한 샘플을 찾아요. to_pandas()로 결과를 Pandas DataFrame으로 받을 수도 있어요.
5. 큐레이션
메타데이터 필터로 결과를 다듬을 수 있어요. 예를 들어 큰 데이터셋에서 품질 라벨·훈련/평가 분할·숫자 필드·타임스탬프·생성 태그로 필터링하는 패턴을 써요.
6. 파생 특성 추가
특성 엔지니어링으로 power_score 같은 새 열을 추가해요. Lance는 **데이터 진화(data evolution)**를 지원해서 테이블 전체를 다시 쓰지 않고도 새 열을 추가할 수 있어요.
더 알아보기 (Learn more)
출처: LanceDB 공식 문서