RAG (Resprieval-Augmented Generation)는 정보 검색을 통합하여 큰 언어 모델 (LLM)을 강화합니다. 이를 통해 LLMS는 외부 지식 기반에 액세스 할 수 있으므로보다 정확하고 현재, 상황에 맞는 응답을 초래할 수 있습니다. 고급 래그 기술 인 CRAG (Crative Rag)는 검색된 문서에 대한 자기 반성 및 자체 평가 메커니즘을 도입하여 정확성을 더욱 향상시킵니다.
이 기사는 다음과 같습니다.
Data Science Blogathon의 일부로 게시.
목차
Crag의 기본 메커니즘
CRAG는 웹 검색을 검색 및 생성 프로세스에 통합하여 LLM 출력의 신뢰성을 향상시킵니다 (그림 1 참조).
문서 검색 :
관련성 평가 :
평가자는 검색된 문서 관련성을 평가합니다. 문서의 70% 이상이 관련이없는 것으로 간주되면 시정 조치가 시작됩니다. 그렇지 않으면 응답 생성이 진행됩니다.
웹 검색 통합 :
문서 관련성이 충분하지 않으면 Crag는 웹 검색을 사용합니다.
응답 생성 :
CRAG는 초기 검색 및 웹 검색의 데이터를 합성하여 일관되고 정확한 응답을 만듭니다.
크래그 대 전통 래그
Crag는 검증 된 문서에 의존하는 전통적인 래그와 달리 검색된 정보를 적극적으로 검증하고 개선합니다. CRAG는 종종 실시간 웹 검색을 통합하여 전통적인 Rag의 정적 지식 기반에 대한 의존과 달리 최신 정보에 대한 액세스를 제공합니다. 이로 인해 CRAG는 높은 정확도와 실시간 데이터 통합이 필요한 애플리케이션에 이상적입니다.
실제 크래그 구현
이 섹션에서는 Python, Langchain 및 Tavily를 사용한 크래그 구현에 대해 자세히 설명합니다.
1 단계 : 라이브러리 설치
필요한 라이브러리 설치 :
! PIP 설치 Tiktoken Langchain-Openai Langchainhub Chromadb langchain langgraph tavily-python ! pip install -qu pypdf langchain_community
2 단계 : API 키 구성
API 키 설정 :
OS 가져 오기 os.environ [ "tavily_api_key"] = "" " os.environ [ "Openai_api_key"] = "" "
3 단계 : 라이브러리 수입
필수 라이브러리 가져 오기 (간결성에 대해서는 코드가 생략되었지만 원래 예와 유사).
4 단계 : 문서 청킹 및 리트리버 생성
(Code는 간결하게 생략되었지만 Pypdfloader, recursivecharactertextsplitter, OpenAiembeddings 및 Chroma를 사용하여 원래 예와 유사합니다).
5 단계 : rag 체인 설정
hub.pull("rlm/rag-prompt")
및 ChatOpenAI
)를 사용하는 원래 예제와 유사하게 코드가 생략되었지만 원래 예와 유사합니다.
6 단계 : 평가자 설정
(Code는 Brevity에 대해서는 생략되었지만 Evaluator
클래스를 정의하고 평가를 위해 ChatOpenAI
사용을 사용하는 원래 예와 유사합니다).
7 단계 : 쿼리 재 작성자 설정
(Code는 간결성에 대해서는 생략되었지만 쿼리 재 작성을 위해 ChatOpenAI
사용하여 원래 예와 유사합니다).
8 단계 : 웹 검색 설정
langchain_community.tools.tavily_search import tavilysearchResults web_search_tool = tavilysearchresults (k = 3)
9-12 단계 : Langgraph 워크 플로 설정 및 실행
(간결성에 대해서는 코드가 생략되었지만 원래 예제와 개념적으로 유사하게, GraphState
, 함수 노드 ( retrieve
, generate
, evaluate_documents
, transform_query
, web_search
)를 정의하고 StateGraph
사용하여 연결) 전통적인 래그와의 최종 출력 및 비교도 개념적으로 유사합니다.
Crag의 도전
CRAG의 효과는 평가자의 정확성에 크게 의존합니다. 약한 평가자는 오류를 도입 할 수 있습니다. 확장 성과 적응성도 지속적인 업데이트 및 교육이 필요합니다. 웹 검색 통합은 편견이 있거나 신뢰할 수없는 정보의 위험을 도입하여 강력한 필터링 메커니즘이 필요합니다.
결론
CRAG는 LLM 출력 정확도와 신뢰성을 크게 향상시킵니다. 실시간 웹 데이터로 검색된 정보를 평가하고 보충하는 능력으로 인해 높은 정밀도 및 최신 정보를 요구하는 응용 프로그램에는 가치가 있습니다. 그러나 지속적인 정제는 평가자 정확도 및 웹 데이터 신뢰성과 관련된 문제를 해결하는 데 중요합니다.
주요 테이크 아웃 (원본과 유사하지만 간결함을 위해 다시 표시)
자주 묻는 질문 (원본과 유사하지만 간결함을 위해 다시 표시)
(참고 : 이미지는 변경되지 않고 원래 입력에 포함되어 있습니다.)
위 내용은 실행중인 시정 걸레 (Crag)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!