Docs Menu
Docs Home
/ /
Atlas 아키텍처 센터
/ / /

벡터 검색과 LLM을 사용한 PDF 검색 애플리케이션 빌드

MongoDB Atlas Vector Search, Superduper.io 및 LLM을 통합하여 강력한 PDF 검색 기능으로 운영 및 청구 처리 과정을 간소화하세요.

사용 사례: Gen AI

산업: 보험, 금융 서비스, 제조 및 모빌리티, 소매

제품: MongoDB Atlas, MongoDB Atlas Vector Search

파트너: Superduper.io, FastAPI

보험 회사는 데이터 처리에 크게 의존합니다. 투자 결정을 내리거나 청구를 처리하기 위해 이들은 주로 비정형 데이터의 방대한 양을 활용합니다. 언더라이터와 손해사정인은 일반적으로 PDF 형식의 수많은 페이지에 달하는 지침서, 계약서, 보고서 등을 꼼꼼히 검토해야 합니다. 모든 정보를 수동으로 찾고 검토하는 것은 시간이 많이 걸리며 잘못된 위험 평가와 같은 비용이 큰 실수로도 쉽게 이어질 수 있습니다.

검색 증강 생성(RAG) 애플리케이션은 보험사에 있어 게임 체인저로, 이들이 비정형 데이터의 잠재력을 활용하고 접근성과 유연성을 높일 수 있도록 해줍니다. 이 기능은 특히 검색이 어려운 PDF처럼 흔하게 쓰이는 파일에 매우 유용합니다. RAG는 PDF 검색을 더 효율적이고 정확하게 만듭니다. 이제 사용자는 자연어로 질문을 입력하면 애플리케이션이 회사 데이터를 검색하여 답변을 제공하고 문서 내용을 요약합니다. 또한 정보가 포함된 페이지와 단락 등 출처까지 표시할 수 있습니다.

GitHub 리포지토리저장소에서는 MongoDB, Superduper 그리고 LLM을 결합한 PDF 검색 애플리케이션을 만드는 상세 단계별 안내를 확인할 수 있습니다. 이 솔루션의 사용 사례는 특정 사례를 처리하는 손해사정인 또는 언더라이터에 초점을 맞춥니다. 특정 고객과 관련된 가이드라인 PDF를 분석하면 사고 시 손실 금액 산정이나 갱신 시 새로운 보험료를 결정하는 데 도움이 됩니다. 애플리케이션은 질문에 답을 제공하고 문서의 관련 섹션을 표시합니다.

Atlas Vector SearchLLM을 결합해 RAG 앱을 구축하면 보험사의 수익에 직접적인 영향을 미칠 수 있습니다. 시맨틱 검색 도구를 사용해보려면 Atlas Vector Search 빠른 시작 페이지를 방문하세요.

MongoDB와 Superduper를 결합하면 손쉽게 정보 검색 시스템을 구축할 수 있습니다. 이 과정은 다음과 같은 단계로 이루어집니다.

  1. 사용자가 검색이 필요한 PDF 파일을 추가합니다.

  2. 스크립트가 PDF를 스캔해 청크로 분할하고 벡터화합니다. (그림 1 참조) 청크 사이의 전이 데이터를 잃지 않기 위해, 스크립트는 슬라이딩 윈도우 기법으로 중첩된 청크를 생성합니다.

  3. 벡터와 청크 메타데이터는 MongoDB에 저장되며, 벡터 검색 인덱스가 생성됩니다(그림 2 참조).

  4. 이제 PDF 파일들을 검색할 준비가 완료되었습니다. 사용자가 고객을 선택하고 질문을 하면 시스템은 답변을 반환합니다. 정보가 발견된 페이지와 단락을 표시하고 해당 구간을 빨간색 프레임으로 강조해 보여줍니다. (그림 2 참조)

그림 1: Superduper.io로 오케스트레이션된 PDF 청크 분할, 임베딩 생성 및 저장

그림 1. Superduper.io를 사용하여 PDF 청크화, 임베딩 생성 및 저장을 조정합니다.

각 고객은 거주 국가에 따라 계정에 연결된 지침 PDF를 보유합니다. 사용자가 고객을 선택하고 질문을 입력하면, 시스템은 해당 문서에만 벡터 검색 쿼리를 실행하고 관련 없는 문서들은 자연스럽게 필터링됩니다. 이는 인덱스와 검색 쿼리에 포함된 사전 필터링 필드 덕분에 가능합니다. (아래 코드 예시 참조)

Atlas Vector Search는 또한 MongoDB의 새로운 전용 검색 노드 아키텍처를 활용하므로 특정 워크로드 요구사항에 적합한 수준의 리소스 최적화를 지원합니다. 검색 노드는 Atlas Search 및 Vector Search 워크로드를 위한 전용 인프라를 제공하며 데이터베이스와 무관하게 컴퓨트 리소스를 최적화하고 검색 기능을 완전히 확장할 수 있습니다. 검색 노드는 워크로드 격리, 더 높은 가용성 그리고 리소스 활용 최적화 기능도 제공합니다.

그림 2: Superduper.io로 오케스트레이션된 PDF 쿼리 흐름

그림 2. Superduper.io로 오케스트레이션된 PDF 쿼리 흐름

{
"fields": [
{
"numDimensions": 1536,
"path": "_outputs.elements.text-embedding.0",
"similarity": "cosine",
"type": "vector"
},
{
"path": "_outputs.elements.chunk.0.source_elements.metadata.filename",
"type": "filter"
}
]
}
vector_query = [
{
"$vectorSearch": {
'index': INDEX_NAME,
'path': "_outputs.elements.text-embedding.0",
'queryVector': query_embedding,
'numCandidates': vector_search_top_k,
'limit': vector_search_top_k,
'filter': {'_outputs.elements.chunk.0.source_elements.metadata.filename': filename}
}
},
{
"$project": {
"_outputs.elements.text-embedding.0": 0,
"score": { "$meta": "vectorSearchScore" }
}
}
]

Superduper.io는 오픈 소스 Python 프레임워크입니다. 주요 데이터베이스와 직접적으로 통합하고 데이터베이스 간에 AI 모델과 워크플로우를 통합하여 더욱 유연하고 확장성 있는 맞춤형 엔터프라이즈 AI 솔루션을 제공합니다. 이 프레임워크를 통해 개발자는 자신이 선호하는 도구를 사용하면서도 기존 인프라와 데이터를 그대로 활용해 AI를 구축, 배포 및 관리할 수 있으므로 데이터 마이그레이션과 중복을 방지할 수 있습니다.

Superduper.io로 개발자가 할 수 있는 작업은 다음과 같습니다.

  • AI를 데이터베이스에 직접 적용함으로써 데이터 파이프라인이 사라지고 엔지니어링 노력과 프로덕션까지 걸리는 시간 그리고 계산 자원이 최소화됩니다.

  • 어떤 종류의 데이터에서도 모든 AI 모델 및 API를 사용하여 AI 워크플로를 구현할 수 있습니다

  • API에서 벗어나 자체 인프라에 직접 모델을 호스팅하고 파인튜닝함으로써 데이터를 보호할 수 있습니다.

  • 임베딩 모델에서 다른 API 제공자로 전환할 수 있습니다. 또한 HuggingFace나 다른 플랫폼에 자신의 모델을 호스팅할 수 있습니다.

Superduper.io는 개발자가 바로 시작할 수 있도록 MongoDB와 함께 사용하는 벡터 검색, 임베딩 생성, 멀티모달 검색, RAG, 전이 학습 등 다양한 샘플 용례와 노트북을 제공합니다. 이 솔루션의 데모는 Superduper.io에서 이전에 개발된 앱을 기반으로 제작되었습니다.

Github 리포지토리의 지침에 따라 솔루션을 구축할 수 있습니다. 솔루션은 두 단계로 구성되어 있습니다.

  1. 초기화 스크립트는 PDF 파일을 청크로 나눈 후 벡터 임베딩으로 변환합니다.

  2. 쿼리 단계에서는 사용자가 문서를 질의할 수 있습니다.

  • 다양한 모델 및 배포 방식을 사용할 수 있는 임베딩: 데이터가 서버 내에 남아 있어야 한다면 로컬에 모델을 배포할 수 있습니다. 그렇지 않은 경우 API를 호출하여 벡터 임베딩을 받아올 수 있으며 튜토리얼에서 해당 방법이 설명되어 있습니다. Voyage AI 또는 오픈 소스 모델을 사용할 수 있습니다. 시스템을 구축할 때 개인정보 보호 및 보안 요구 사항을 반드시 고려하세요.

  • AI 모델과 워크플로우를 통합하는 Superduper: Superduper는 벡터 검색 및 LLM과 상호작용할 수 있는 간단하고 표준화된 인터페이스를 제공하는 프레임워크입니다.

  • Luca Napoli, 산업 솔루션, MongoDB

  • Clarence Ondieki, MongoDB 솔루션 아키텍트

  • Pedro Bereilh, MongoDB 산업 솔루션

돌아가기

AI 기반 클레임 조정

이 페이지의 내용