PostgreSQL Vector 검색

김윤수·2024년 11월 28일
0

laravel

목록 보기
14/15

GitHub - benbjurstrom/pgvector-scout: ✨ Pgvector driver for Laravel Scout

해당 패키지를 설치해보고 이해가 안가는 부분들이 생겨서 관련 내용을 정리해둡니다.

결론: 저장하는 벡터 값이나 질의하는 벡터 값은 openai의 같은 임베딩 모델로 처리하고 있다.

추가설명: NLP(자연어 처리)가 되어야 "식사"를 검색할때 "식사"와 관련된 글들이 나올테니까

쉽게 설명한 글

What is pgvector, and How Can It Help You?

이 글이 도움이 많이 됨. openai은 1536개의 차원이므로 스키마로 embedding vector(1536)

인덱스는 HNSW 인덱스가 효율이 좋음

유사도

  • ↔ : 유클리드 거리
  • <#> : 음의 내적
  • <=> : 코사인 거리

활용 분야

  • 콘텐츠 기반 필터링
  • 자연어 처리: 텍스트의 의미를 벡터로 변환하여 유사한 내용 검색1
  • 컴퓨터 비전: 이미지를 벡터로 변환하여 유사 이미지 검색 1
  • 추천 시스템: 사용자 행동이나 콘텐츠 유사도 기반 추천 2
  • 이상 탐지: 정상 패턴과 다른 벡터 탐지 1
  • AI 기반 유사도 검색 2

PostgreSQL pgvector 확장 설치법

# 설치되어 있는지
SELECT * FROM pg_extension WHERE extname = 'vector';
# 설치가능한 확장
SELECT * FROM pg_available_extensions WHERE name = 'vector';
# vector 확장 설치
CREATE EXTENSION vector;

점점 MySQL에서 갈아타야 할 시점이 다가오는 것 같다.

profile
안녕하세요

1개의 댓글

comment-user-thumbnail
2025년 7월 23일

One of the most compelling aspects of speed stars is how it manages to make improvement feel tangible. As you practice, your times improve incrementally

답글 달기