31,102절 성경을 벡터로 — RAG로 묵상 도우미 만들기
31,102절 성경을 벡터로 — RAG로 묵상 도우미 만들기
“힘들 때 위로가 되는 말씀”을 검색하면 어떤 구절이 나와야 할까? 키워드 검색으로는 “힘들”이 본문에 있는 구절만 나온다. 시편 23편 “여호와는 나의 목자시니”는 “힘들”이라는 단어가 없지만, 누구나 위로의 구절로 떠올린다.
해결: 시맨틱 검색
OpenAI text-embedding-3-small로 31,102절 전부 벡터화했다. 같은 의미의 텍스트는 벡터 공간에서 가까이 위치한다. 비용: $0.07 (전체 성경, 일회성).
메타데이터로 품질 높이기
인기 2,296구절에 GPT-4o-mini로 6축 태그를 부여했다:
1
2
3
4
5
시편 23:1
텍스트: 여호와는 나의 목자시니 내게 부족함이 없으리로다
주제: 믿음, 은혜, 돌봄
상황: 병상, 부고, 심방
감정: 위로, 평안
이 태그들이 텍스트에 합쳐져서 임베딩되면, “힘들 때” 검색에도 “위로, 평안” 태그가 있는 시편 23편이 매칭된다. 비용: $1.57 (일회성).
대화형 구절 추천(카테고리 선택 UI)은 GPT-mini 메타데이터 검색 대신 직접 큐레이션한 130개 구절로 전환했다. 품질이 더 안정적이었다. 자세한 내용은 카톡처럼 성경 구절을 고르게 했다에서.
실시간 추천
묵상 작성 중 입력이 멈추면 2초 후 관련 구절이 아래에 표시된다. 클릭하면 해시태그처럼 묵상에 태깅.
1
2
3
사용자 입력 → OpenAI 임베딩 1회 ($0.00001)
→ PostgreSQL pgvector 코사인 유사도 검색
→ 상위 5개 반환
한글로 검색해도, 영어로 검색해도 매칭된다. 임베딩 텍스트에 한영을 병기했기 때문이다.
묵상을 작성하면 내용에 맞게 추천 구절이 실시간으로 바뀐다
총 비용
| 항목 | 비용 |
|---|---|
| 임베딩 (31,102절) | $0.07 |
| 메타데이터 (2,296절) | $1.57 |
| 합계 | $1.64 |
| 검색 (매회) | $0.00001 |
전체 성경을 시맨틱 검색 가능하게 만드는 데 $1.64. 사실상 무료다.
이미지: 묵상 작성 중 관련 구절 추천 UI 스크린샷 (사용자 준비)
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
