dsRAG: 비정형 데이터 및 복잡한 쿼리를 위한 검색 엔진

최신 AI 리소스6개월 전 업데이트 AI 공유 서클
2K 00

일반 소개

dsRAG는 비정형 데이터에 대한 복잡한 쿼리를 처리하도록 설계된 고성능 검색 엔진입니다. 재무 보고서, 법률 문서, 학술 논문과 같이 밀도가 높은 텍스트의 까다로운 쿼리를 처리할 때 특히 뛰어난 성능을 발휘합니다. dsRAG는 시맨틱 세그먼트, 문맥 자동 생성, 관련 세그먼트 추출이라는 세 가지 주요 접근 방식을 사용해 성능을 개선합니다. 이러한 접근 방식을 통해 dsRAG는 복잡한 오픈북 퀴즈 작업에서 기존 RAG 기준선보다 훨씬 더 높은 정확도를 달성할 수 있습니다. 또한 dsRAG는 사용자의 필요에 따라 사용자 정의할 수 있는 다양한 구성 옵션을 지원합니다. 모듈식 설계를 통해 사용자는 벡터 데이터베이스, 임베딩 모델, 재정렬기 등 다양한 구성 요소를 쉽게 통합하여 최적의 검색 결과를 얻을 수 있습니다.

기존의 RAG(검색 증강 생성) 기준선에 비해 dsRAG는 복잡한 오픈북 퀴즈 작업에서 훨씬 더 높은 정확도를 달성합니다. 예를 들어, FinanceBench 벤치마크 테스트에서 dsRAG는 96.61 TP3T의 정확도를 달성한 반면, 기존 RAG 기준선의 경우 321 TP3T를 기록했습니다. dsRAG는 시맨틱 세그먼트, 자동 문맥 및 관련 세그먼트 추출과 같은 주요 방법을 통해 검색 성능을 크게 향상시킵니다.

dsRAG:用于处理非结构化数据和复杂查询的检索引擎

 

기능 목록

  • 시맨틱 세분화LLM을 사용하여 문서를 세분화하여 검색 정확도를 개선하세요.
  • 자동 컨텍스트 생성문서 및 단락 수준의 컨텍스트를 포함하는 블록 헤더를 생성하여 임베딩 품질을 향상시킵니다.
  • 관련 세그먼트 추출쿼리 시 관련 텍스트 블록을 지능적으로 결합하여 더 긴 단락을 생성합니다.
  • 다중 벡터 데이터베이스 지원예: BasicVectorDB, WeaviateVectorDB, ChromaDB 등.
  • 여러 임베디드 모델 지원예: 오픈에이아이임베딩, 코히어임베딩 등.
  • 다중 재주문자 지원예: 코히어랭커, 보야지랭커 등
  • 영구 지식창고나중에 로드 및 쿼리할 수 있도록 지식창고 개체를 디스크에 영구 저장하는 기능을 지원합니다.
  • 여러 문서 형식 지원PDF, 마크다운 및 기타 문서 형식(예: 구문 분석 및 처리)을 지원합니다.

 

도움말 사용

마운팅

dsRAG용 Python 패키지를 설치하려면 다음 명령을 실행하면 됩니다:

pip install dsrag

OpenAI 및 Cohere의 API 키가 있는지 확인하고 이를 환경 변수로 설정하세요.

빠른 시작

다음을 사용할 수 있습니다.create_kb_from_file함수는 파일에서 바로 새 지식창고를 만듭니다:

from dsrag.create_kb import create_kb_from_file
file_path = "dsRAG/tests/data/levels_of_agi.pdf"
kb_id = "levels_of_agi"
kb = create_kb_from_file(kb_id, file_path)

지식창고 개체는 자동으로 디스크에 유지되므로 명시적으로 저장할 필요가 없습니다.

이제 더 잘 이해할 수 있습니다.kb_id지식창고를 로드하고query메소드가 쿼리됩니다:

from dsrag.knowledge_base import KnowledgeBase
kb = KnowledgeBase("levels_of_agi")
search_queries = ["What are the levels of AGI?", "What is the highest level of AGI?"]
results = kb.query(search_queries)
for segment in results:
print(segment)

기본 사용자 지정

예를 들어 OpenAI만 사용하여 지식창고의 구성을 사용자 지정할 수 있습니다:

from dsrag.llm import OpenAIChatAPI
from dsrag.reranker import NoReranker
llm = OpenAIChatAPI(model='gpt-4o-mini')
reranker = NoReranker()
kb = KnowledgeBase(kb_id="levels_of_agi", reranker=reranker, auto_context_model=llm)

그런 다음add_document메서드를 사용하여 문서를 추가합니다:

file_path = "dsRAG/tests/data/levels_of_agi.pdf"
kb.add_document(doc_id=file_path, file_path=file_path)

빌드

지식창고 개체는 원시 텍스트 형태의 문서를 받아 청크 및 임베딩을 비롯한 기타 전처리 작업을 수행합니다. 쿼리가 입력되면 시스템은 벡터 데이터베이스 검색, 재정렬 및 관련 세그먼트 추출을 수행한 후 최종적으로 결과를 반환합니다.

지식창고 개체는 기본적으로 영구적이며 전체 구성이 JSON 파일로 저장되어 쉽게 재구축하고 업데이트할 수 있습니다.

© 저작권 정책

관련 문서

댓글 없음

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