RAGLite: 여러 데이터베이스와 언어 모델을 지원하는 효율적인 검색 증강 생성(RAG) 도구입니다.

최신 AI 리소스12개월 전에 게시됨 AI 공유 서클
36.8K 00
堆友AI

일반 소개

RAGLite는 검색 증강 생성(RAG)을 위한 Python 툴킷으로, PostgreSQL 또는 SQLite 데이터베이스를 지원합니다. 사용자가 다양한 언어 모델과 재주문자를 선택할 수 있는 유연한 구성 옵션을 제공하며, 가볍고 효율적인 기능으로 잘 알려져 있고 광범위한 운영 체제에서 작동하며 Metal 및 CUDA와 같은 다양한 가속 옵션을 지원합니다.

RAGLite:高效的检索增强生成(RAG)工具,支持多种数据库和语言模型。

 

기능 목록

  • 네이티브 llama-cpp-python 모델을 포함한 여러 언어 모델 지원
  • 키워드 및 벡터 검색 데이터베이스로 PostgreSQL 및 SQLite 지원
  • 다국어 플래시랭크를 포함한 다양한 재정렬 옵션 제공
  • 가벼운 종속성, 파이토치나 랭체인이 필요 없습니다!
  • PDF를 마크다운으로 변환 지원
  • 멀티 벡터 임베딩 및 컨텍스트 블록 제목
  • 사용자 지정 가능한 ChatGPT 웹, Slack 및 Teams를 지원하는 클래스 프런트엔드
  • 여러 파일 형식에 대한 문서 삽입 및 검색 지원
  • 성과 평가 검색 및 생성을 위한 도구 제공

 

도움말 사용

설치 프로세스

  1. spaCy의 다국어 문장 모델을 설치합니다:
    pip install https://github.com/explosion/spacy-models/releases/download/xx_sent_ud_sm-3.7.0/xx_sent_ud_sm-3.7.0-py3-none-any.whl
    
  2. 가속화된 llama-cpp-python 사전 컴파일된 바이너리를 설치합니다(선택 사항이지만 권장):
    LLAMA_CPP_PYTHON_VERSION=0.2.88 PYTHON_VERSION=310 ACCELERATOR=metal | cu121 | cu122 | cu123 | cu124 PLATFORM=macosx_11_0_arm64 | linux_x86_64 | win_amd64
    pip install "https://github.com/abetlen/llama-cpp-python/releases/download/v$LLAMA_CPP_PYTHON_VERSION-$ACCELERATOR/llama_cpp_python-$LLAMA_CPP_PYTHON_VERSION-cp$PYTHON_VERSION-cp$PYTHON_VERSION-$PLATFORM.whl"
    
  3. RAGLite를 설치합니다:
    pip install raglite
    
  4. 사용자 지정 가능한 ChatGPT와 같은 프런트엔드 지원을 설치하세요:
    pip install raglite[chainlit]
    
  5. 추가 파일 형식 지원을 설치합니다:
    pip install raglite[pandoc]
    
  6. 설치 평가 지원:
    pip install raglite[ragas]
    

사용 가이드라인

  1. RAGLite 구성::
    • PostgreSQL 또는 SQLite 데이터베이스 및 지원되는 모든 언어 모델을 구성합니다:
      from raglite import RAGLiteConfig
      my_config = RAGLiteConfig(
      db_url="postgresql://my_username:my_password@my_host:5432/my_database",
      llm="gpt-4o-mini",
      embedder="text-embedding-3-large"
      )
      
  2. 문서 삽입::
    • PDF 문서를 삽입하고 변환하여 삽입하세요:
      from pathlib import Path
      from raglite import insert_document
      insert_document(Path("On the Measure of Intelligence.pdf"), config=my_config)
      
  3. 검색 및 생성::
    • 쿼리에 벡터 검색, 키워드 검색 또는 하이브리드 검색을 사용합니다:
      from raglite import hybrid_search, keyword_search, vector_search
      prompt = "How is intelligence measured?"
      chunk_ids_hybrid, _ = hybrid_search(prompt, num_results=20, config=my_config)
      
  4. 질문 재주문 및 답변::
    • 검색 결과의 순서를 바꾸고 답변을 생성하세요:
      from raglite import rerank_chunks, rag
      chunks_reranked = rerank_chunks(prompt, chunk_ids_hybrid, config=my_config)
      stream = rag(prompt, search=chunks_reranked, config=my_config)
      for update in stream:
      print(update, end="")
      
  5. 평가 검색 및 생성::
    • Ragas를 사용하여 성능 평가를 검색하고 생성할 수 있습니다:
      from raglite import answer_evals, evaluate, insert_evals
      insert_evals(num_evals=100, config=my_config)
      answered_evals_df = answer_evals(num_evals=10, config=my_config)
      evaluation_df = evaluate(answered_evals_df, config=my_config)
      
  6. ChatGPT와 유사한 프런트엔드 배포하기::
    • 사용자 지정 가능한 ChatGPT와 유사한 프런트엔드를 배포하세요:
      raglite chainlit --db_url sqlite:///raglite.sqlite --llm llama-cpp-python/bartowski/Llama-3.2-3B-Instruct-GGUF/*Q4_K_M.gguf@4096 --embedder llama-cpp-python/lm-kit/bge-m3-gguf/*F16.gguf
      
© 저작권 정책

관련 문서

댓글 없음

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