회사에서 내부 문서가 너무 많아서 검색 엔진을 개발하게 되었음. Elasticsearch도 고려했지만, 의미 검색이 필요해서 OpenAI 임베딩 API를 적용해봤어.
우선 데이터 파이프라인 구축하는 게 제일 오래 걸렸다. 문서를 챕터별로 분할하고, 각 텍스트를 임베딩 벡터로 변환했는데, 토큰 제한에 걸려서 청크 크기 조절에 애먹었음.
실제로 적용해보니 단순 키워드 매칭이랑 결과 차이가 확 나더라. 예를 들어 "비용 절감 방안" 같은 검색어를 입력하면 "예산 최적화" 관련 문서도 매칭되는 식.
비용은 문서 수가 많아서 최적화가 필요한데, 현재는 배치 돌리고 캐시 도입해서 처리하고 있다. 개인적으로 만족하는 프로젝트였음.