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

기능 목록
- 네이티브 llama-cpp-python 모델을 포함한 여러 언어 모델 지원
- 키워드 및 벡터 검색 데이터베이스로 PostgreSQL 및 SQLite 지원
- 다국어 플래시랭크를 포함한 다양한 재정렬 옵션 제공
- 가벼운 종속성, 파이토치나 랭체인이 필요 없습니다!
- PDF를 마크다운으로 변환 지원
- 멀티 벡터 임베딩 및 컨텍스트 블록 제목
- 사용자 지정 가능한 ChatGPT 웹, Slack 및 Teams를 지원하는 클래스 프런트엔드
- 여러 파일 형식에 대한 문서 삽입 및 검색 지원
- 성과 평가 검색 및 생성을 위한 도구 제공
도움말 사용
설치 프로세스
- 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
- 가속화된 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"
- RAGLite를 설치합니다:
pip install raglite
- 사용자 지정 가능한 ChatGPT와 같은 프런트엔드 지원을 설치하세요:
pip install raglite[chainlit]
- 추가 파일 형식 지원을 설치합니다:
pip install raglite[pandoc]
- 설치 평가 지원:
pip install raglite[ragas]
사용 가이드라인
- 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" )
- PostgreSQL 또는 SQLite 데이터베이스 및 지원되는 모든 언어 모델을 구성합니다:
- 문서 삽입::
- PDF 문서를 삽입하고 변환하여 삽입하세요:
from pathlib import Path from raglite import insert_document insert_document(Path("On the Measure of Intelligence.pdf"), config=my_config)
- PDF 문서를 삽입하고 변환하여 삽입하세요:
- 검색 및 생성::
- 쿼리에 벡터 검색, 키워드 검색 또는 하이브리드 검색을 사용합니다:
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)
- 쿼리에 벡터 검색, 키워드 검색 또는 하이브리드 검색을 사용합니다:
- 질문 재주문 및 답변::
- 검색 결과의 순서를 바꾸고 답변을 생성하세요:
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="")
- 검색 결과의 순서를 바꾸고 답변을 생성하세요:
- 평가 검색 및 생성::
- 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)
- Ragas를 사용하여 성능 평가를 검색하고 생성할 수 있습니다:
- 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
- 사용자 지정 가능한 ChatGPT와 유사한 프런트엔드를 배포하세요:
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...