AI 엔지니어링 아카데미: 2.3BM25 RAG(검색 증강 세대)

AI 기술 자료9개월 전 업데이트 AI 공유 서클
7.4K 00

개요

BM25 BM25 RAG(검색 강화 생성)는 정보 검색을 위한 BM25(베스트 매칭 25) 알고리즘과 텍스트 생성을 위한 대규모 언어 모델을 결합한 고급 기술입니다. 이 방법은 검증된 확률적 검색 모델을 사용하여 생성된 응답의 정확도와 관련성을 향상시킵니다.

 

BM25 RAG 워크플로우

AI工程学院:2.3BM25 RAG (检索增强生成)

 

빠른 시작

노트북

이 코드 베이스에 제공된 Jupyter 노트북을 실행하여 BM25 RAG를 자세히 살펴볼 수 있습니다. https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/01_BM25_RAG

채팅 애플리케이션

  1. 종속성을 설치합니다:
    pip install -r requirements.txt
    
  2. 애플리케이션을 실행합니다:
    python app.py
    
  3. 동적 데이터 수집:
    python app.py --ingest --data_dir /path/to/documents
    

서버(컴퓨터)

서버를 실행합니다:

python server.py

서버에는 두 개의 엔드포인트가 있습니다:

  • /api/ingest새 문서 수집용
  • /api/query문의용 BM25 RAG 시스템

 

BM25 RAG의 주요 기능

  1. 확률적 검색BM25는 확률 모델을 사용해 문서 순위를 매기므로 이론적으로 타당한 검색 기반을 제공합니다.
  2. 단어 빈도 포화도:: BM25는 중복 용어의 한계 수익률 감소를 고려하여 검색 품질을 개선합니다.
  3. 문서 길이 정규화이 알고리즘은 문서 길이를 고려하여 긴 문서에 대한 편향을 줄입니다.
  4. 문맥 관련성검색된 정보를 기반으로 응답을 생성함으로써 BM25 RAG는 보다 정확하고 관련성 높은 답변을 제공합니다.
  5. 확장성BM25 검색 단계는 대용량 문서 세트를 효율적으로 처리합니다.

 

BM25 RAG의 장점

  1. 정확도 향상: 확률적 검색과 신경망 텍스트 생성의 장점을 결합합니다.
  2. 해석 가능성BM25의 채점 메커니즘은 고밀도 벡터 검색 방법보다 해석이 더 쉽습니다.
  3. 롱테일 쿼리 처리하기특정 정보나 희귀한 정보가 필요한 쿼리에 탁월합니다.
  4. 임베딩 필요 없음벡터 기반 RAG와 달리 BM25는 문서 임베딩이 필요하지 않아 계산 오버헤드가 줄어듭니다.

 

사전 조건

  • Python 3.7+
  • 주피터 노트북 또는 주피터랩(노트북 실행용)
  • 필수 파이썬 패키지( requirements.txt)
  • 선택한 언어 모델에 대한 API 키(예: OpenAI API 키)
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...