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

최신 AI 리소스8 개월 전에 게시 됨 AI 공유 서클
2.1K 00

일반 소개

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
      
© 저작권 정책
AiPPT

관련 문서

댓글 없음

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