일반 소개
dsRAG는 비정형 데이터에 대한 복잡한 쿼리를 처리하도록 설계된 고성능 검색 엔진입니다. 재무 보고서, 법률 문서, 학술 논문과 같이 밀도가 높은 텍스트의 까다로운 쿼리를 처리할 때 특히 뛰어난 성능을 발휘합니다. dsRAG는 시맨틱 세그먼트, 문맥 자동 생성, 관련 세그먼트 추출이라는 세 가지 주요 접근 방식을 사용해 성능을 개선합니다. 이러한 접근 방식을 통해 dsRAG는 복잡한 오픈북 퀴즈 작업에서 기존 RAG 기준선보다 훨씬 더 높은 정확도를 달성할 수 있습니다. 또한 dsRAG는 사용자의 필요에 따라 사용자 정의할 수 있는 다양한 구성 옵션을 지원합니다. 모듈식 설계를 통해 사용자는 벡터 데이터베이스, 임베딩 모델, 재정렬기 등 다양한 구성 요소를 쉽게 통합하여 최적의 검색 결과를 얻을 수 있습니다.
기존의 RAG(검색 증강 생성) 기준선에 비해 dsRAG는 복잡한 오픈북 퀴즈 작업에서 훨씬 더 높은 정확도를 달성합니다. 예를 들어, FinanceBench 벤치마크 테스트에서 dsRAG는 96.61 TP3T의 정확도를 달성한 반면, 기존 RAG 기준선의 경우 321 TP3T를 기록했습니다. 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 파일로 저장되어 쉽게 재구축하고 업데이트할 수 있습니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...