>기술 주변기기 >일체 포함 >실행중인 시정 걸레 (Crag)

실행중인 시정 걸레 (Crag)

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌원래의
2025-03-13 10:37:08402검색

RAG (Resprieval-Augmented Generation)는 정보 검색을 통합하여 큰 언어 모델 (LLM)을 강화합니다. 이를 통해 LLMS는 외부 지식 기반에 액세스 할 수 있으므로보다 정확하고 현재, 상황에 맞는 응답을 초래할 수 있습니다. 고급 래그 기술 인 CRAG (Crative Rag)는 검색된 문서에 대한 자기 반성 및 자체 평가 메커니즘을 도입하여 정확성을 더욱 향상시킵니다.

주요 학습 목표

이 기사는 다음과 같습니다.

  • CRAG의 핵심 메커니즘과 웹 검색과의 통합.
  • 이진 스코어링 및 쿼리 재 작성을 사용한 CRAG의 문서 관련성 평가.
  • 크래그와 전통적인 걸레의 주요 차이점.
  • Python, Langchain 및 Tavily를 사용한 실습 크래그 구현.
  • 검색 및 응답 정확도를 최적화하기 위해 평가자, 쿼리 재 작성자 및 웹 검색 도구를 구성하는 실용적인 기술.

Data Science Blogathon의 일부로 게시.

목차

  • Crag의 기본 메커니즘
  • 크래그 대 전통 래그
  • 실제 크래그 구현
  • Crag의 도전
  • 결론
  • 자주 묻는 질문

Crag의 기본 메커니즘

CRAG는 웹 검색을 검색 및 생성 프로세스에 통합하여 LLM 출력의 신뢰성을 향상시킵니다 (그림 1 참조).

문서 검색 :

  • 데이터 수집 : 관련 데이터가 색인화되고 웹 검색 도구 (예 : Tavily AI)는 실시간 데이터 검색을 위해 구성됩니다.
  • 초기 검색 : 문서는 사용자의 쿼리를 기반으로 정적 지식 기반에서 검색됩니다.

관련성 평가 :

평가자는 검색된 문서 관련성을 평가합니다. 문서의 70% 이상이 관련이없는 것으로 간주되면 시정 조치가 시작됩니다. 그렇지 않으면 응답 생성이 진행됩니다.

웹 검색 통합 :

문서 관련성이 충분하지 않으면 Crag는 웹 검색을 사용합니다.

  • 쿼리 정제 : 원래 쿼리는 웹 검색 결과를 최적화하도록 수정되었습니다.
  • 웹 검색 실행 : Tavily AI와 같은 도구는 추가 데이터를 가져와 현재 및 다양한 정보에 대한 액세스를 보장합니다.

응답 생성 :

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는 현재 관련 정보에 대한 웹 검색을 사용하여 LLM 응답을 향상시킵니다.
  • 평가자는 응답 생성을위한 고품질 정보를 보장합니다.
  • 쿼리 변환은 웹 검색 결과를 최적화합니다.
  • Crag는 기존 걸레와 달리 실시간 웹 데이터를 동적으로 통합합니다.
  • 크래그는 정보를 적극적으로 검증하여 오류를 줄입니다.
  • CRAG는 높은 정확도와 실시간 데이터가 필요한 응용 프로그램에 유리합니다.

자주 묻는 질문 (원본과 유사하지만 간결함을 위해 다시 표시)

  • Q1 : 크래그는 무엇입니까? A : 개선 된 정확도와 안정성을 위해 웹 검색을 통합하는 고급 래그 프레임 워크.
  • Q2 : 크래그 대 전통 헝겊? A : CRAG는 검색된 정보를 적극적으로 확인하고 개선합니다.
  • Q3 : 평가자의 역할? A : 문서 관련성 평가 및 수정을 유발합니다.
  • Q4 : 문서가 충분하지 않습니까? A : 웹 검색이있는 크래그 보충제.
  • Q5 : 신뢰할 수없는 웹 컨텐츠 처리? A : 고급 필터링 방법이 필요합니다.

(참고 : 이미지는 변경되지 않고 원래 입력에 포함되어 있습니다.)

위 내용은 실행중인 시정 걸레 (Crag)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.