>기술 주변기기 >일체 포함 >건초 더미 프레임 워크를 사용하여 에이전트 QA Rag 시스템을 구축하는 방법

건초 더미 프레임 워크를 사용하여 에이전트 QA Rag 시스템을 구축하는 방법

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌원래의
2025-03-03 18:35:10652검색
제품에 대한 질문에 대답 해야하는 고객 지원 AI를 구축하고 있다고 상상해보십시오. 때로는 문서에서 정보를 가져와야하는 반면, 다른 시간에는 최신 업데이트를 위해 웹을 검색해야합니다. 에이전트 래그 시스템은 이러한 유형의 복잡한 AI 응용 분야에서 유용합니다. 그것들을 내부 문서를 알고있을뿐만 아니라 웹 검색을 할시기를 결정하는 현명한 연구 조교로 생각하십시오. 이 안내서에서는 Haystack 프레임 워크를 사용하여 에이전트 QA Rag 시스템을 구축하는 과정을 살펴볼 것입니다. 학습 목표

에이전트 LLM이 무엇인지 알고 걸레 시스템과 어떻게 다른지 이해하십시오. 에이전트 LLM 애플리케이션에 대한 건초 더미 프레임 워크에 익숙해집니다 템플릿에서 프롬프트 구축 과정을 이해하고 다른 프롬프트에 합류하는 방법을 배우십시오. Haystack에서 ChromADB를 사용하여 임베딩을 만드는 방법을 배우십시오 삽입에서 세대까지 완전한 지역 개발 시스템을 설정하는 방법을 배우십시오.

이 기사는 데이터 과학 블로그 톤의
  • 의 일부로 출판되었습니다. 목차
  • 에이전트 LLM이란 무엇입니까?
  • rag vs 에이전트 rag
  • Haystack 프레임 워크 구성 요소 이해

    Haystack을 사용하여 무엇을 구축 할 수 있습니까? Stack Building 블록 구성 요소 파이프 라인 노드 커넥션 그래프 Question-Aangswer Rag 프로젝트

      . 파이프 라인
    • 라우터 구현 라우터 구현
        프롬프트 템플릿 생성
      • 구현 쿼리 파이프 라인 구현
    • > 쿼리 파이프 라인 그리기 그래프
      • 결론
      • 에이전트 LLM이란 무엇입니까?
      • 에이전트 LLM은 자율적으로 결정을 내리고 작업에 대한 이해를 바탕으로 조치를 취할 수있는 AI 시스템입니다. 주로 텍스트 응답을 생성하는 기존 LLM과 달리 에이전트 LLM은 더 많은 일을 할 수 있습니다. 최소한의 인간 입력으로 생각하고 계획하고 행동 할 수 있습니다. 더 많은 정보 나 외부 도구가 필요한시기를 인식하면서 지식을 평가합니다. 에이전트 LLMS
      • 정적 데이터 나 색인 지식에 의존하지 않고 대신 신뢰할 소스와 최고의 통찰력을 수집하는 방법을 결정합니다. 이 유형의 시스템은 작업에 적합한 도구를 선택할 수도 있습니다. 문서를 검색하거나 계산을 실행하거나 작업을 자동화 해야하는시기를 결정할 수 있습니다. 그것들을 차별화시키는 것은 복잡한 문제를 단계로 분해하고 독립적으로 실행하는 능력으로서 연구, 분석 및 워크 플로 자동화에 가치가 있습니다. agr vs 에이전트 래그 전통적인 걸레 시스템은 선형 프로세스를 따릅니다. 쿼리가 수신되면 시스템은 먼저 요청 내의 주요 요소를 식별합니다. 그런 다음 지식 기반을 검색하여 정확한 응답을 설계하는 데 도움이되는 관련 정보를 스캔합니다. 관련 정보 또는 데이터가 검색되면 시스템은이를 처리하여 의미 있고 상황에 맞는 응답을 생성합니다. 아래 다이어그램으로 프로세스를 쉽게 이해할 수 있습니다.

        이제 에이전트 래그 시스템은이 과정을 다음과 같이 향상시킵니다

        쿼리 요구 사항 평가 여러 지식 소스 사이의 결정 다른 소스에서 정보를 결합 할 수 있습니다 응답 전략에 대한 자율 결정 소스 부여 응답 제공

      • 주요 차이점은 고정 된 검색 생성 패턴을 따르지 않고 쿼리를 처리하는 방법에 대한 지능적인 결정을 내릴 수있는 시스템의 능력에 있습니다. 건초 더미 프레임 워크 구성 요소 이해 Haystack은 생산 준비 AI, LLM 응용 프로그램, RAG 파이프 라인 및 검색 시스템을 구축하기위한 오픈 소스 프레임 워크입니다. LLM 애플리케이션 구축을위한 강력하고 유연한 프레임 워크를 제공합니다. Huggingface, OpenAi, Cohere, Mistral 및 Local Ollama와 같은 다양한 플랫폼의 모델을 통합 할 수 있습니다. AWS Sagemaker, Bedrock, Azure 및 GCP와 같은 클라우드 서비스에 모델을 배포 할 수도 있습니다.
      • Haystack은 효율적인 데이터 관리를위한 강력한 문서 저장소를 제공합니다. 또한 애플리케이션의 모든 계층에서 원활한 성능을 보장하는 평가, 모니터링 및 데이터 통합을위한 포괄적 인 도구 세트가 제공됩니다. 또한 다양한 서비스 제공 업체의 새로운 서비스 통합을 주기적으로 강력한 커뮤니티 협업을 보유하고 있습니다.

        건초 더미 프레임 워크를 사용하여 에이전트 QA Rag 시스템을 구축하는 방법 건초 더미를 사용하여 무엇을 만들 수 있습니까?

        강력한 검색 및 생성 기술을 사용하여 데이터에서 래그를 전진시키는 간단합니다. chatbot 및 gpt-4, llama3.2, deepseek-r1과 같은 최신 Genai 모델을 사용하는 에이전트. 혼합 유형 (이미지, 텍스트, 오디오 및 테이블)에 대한 생성 멀티 모달 질문 분석 지식 기반. 문서 또는 지식 그래프 구축에서 정보 추출

        건물 빌딩 블록 Haystack에는 컴포넌트 및 파이프 라인 (구성 요소 및 파이프 라인)을 완전히 기능하는 Genai LLM 시스템을 구축하기위한 두 가지 주요 개념이 있습니다. 일본 애니메이션 캐릭터에 대한 헝겊의 간단한 예로 그들을 이해해 봅시다

        구성 요소

        구성 요소는 Haystack의 핵심 빌딩 블록입니다. 문서 저장, 문서 검색, 텍스트 생성 및 임베딩과 같은 작업을 수행 할 수 있습니다. Haystack에는 설치 직후에 사용할 수있는 많은 구성 요소가 있으며 파이썬 클래스를 작성하여 자체 구성 요소를 만드는 API를 제공합니다. 파트너 회사와 커뮤니티의 통합 모음이 있습니다.

        라이브러리를 설치하고 Ollama

        를 설정하십시오

        일부 구성 요소를 가져옵니다

        문서 및 문서 저장소를 만듭니다

        파이프 라인 파이프 라인은 Haystack의 프레임 워크의 중추입니다. 다른 구성 요소 간의 데이터 흐름을 정의합니다. 파이프 라인은 본질적으로 지시 된 acyclic 그래프 (DAG)입니다. 여러 출력이있는 단일 구성 요소는 여러 입력으로 다른 단일 구성 요소에 연결할 수 있습니다. 당신은 에 의해 파이프 라인을 정의 할 수 있습니다
        $ pip install haystack-ai ollama-haystack
        
        # On you system download Ollama and install LLM
        
        ollama pull llama3.2:3b
        
        ollama pull nomic-embed-text
        
        
        # And then start ollama server
        ollama serve
        파이프 라인을 시각화 할 수 있습니다

        파이프 라인은 다음을 제공합니다 모듈 식 워크 플로 관리 유연한 구성 요소 배열 쉬운 디버깅 및 모니터링 확장 가능한 처리 아키텍처

        노드 노드는 파이프 라인에 연결할 수있는 기본 처리 장치입니다.이 노드는 특정 작업을 수행하는 구성 요소입니다. 위 파이프 라인의 노드의 예
        from haystack import Document, Pipeline
        from haystack.components.builders.prompt_builder import PromptBuilder
        from haystack.components.retrievers.in_memory import InMemoryBM25Retriever
        from haystack.document_stores.in_memory import InMemoryDocumentStore
        from haystack_integrations.components.generators.ollama import OllamaGenerator

        연결 그래프 ConnectionGraph는 구성 요소가 상호 작용하는 방식을 정의합니다 위의 파이프 라인에서 연결 그래프를 시각화 할 수 있습니다.

        .
        document_store = InMemoryDocumentStore()
        documents = [
            Document(
                content="Naruto Uzumaki is a ninja from the Hidden Leaf Village and aspires to become Hokage."
            ),
            Document(
                content="Luffy is the captain of the Straw Hat Pirates and dreams of finding the One Piece."
            ),
            Document(
                content="Goku, a Saiyan warrior, has defended Earth from numerous powerful enemies like Frieza and Cell."
            ),
            Document(
                content="Light Yagami finds a mysterious Death Note, which allows him to eliminate people by writing their names."
            ),
            Document(
                content="Levi Ackerman is humanity’s strongest soldier, fighting against the Titans to protect mankind."
            ),
        ]
        애니메이션 파이프 라인의 연결 그래프

        <: :>이 그래프 구조 :

        구성 요소 간의 데이터 흐름을 정의합니다 입력/출력 관계를 관리합니다 가능한 경우 병렬 처리를 활성화합니다 는 유연한 처리 경로를 만듭니다

        이제 프롬프트를 사용하여 애니메이션 지식 기반을 쿼리 할 수 ​​있습니다.

        프롬프트 템플릿을 만듭니다
        pipe = Pipeline()
        
        pipe.add_component("retriever", InMemoryBM25Retriever(document_store=document_store))
        pipe.add_component("prompt_builder", PromptBuilder(template=template))
        pipe.add_component(
            "llm", OllamaGenerator(model="llama3.2:1b", url="http://localhost:11434")
        )
        pipe.connect("retriever", "prompt_builder.documents")
        pipe.connect("prompt_builder", "llm")

        이 프롬프트는 문서 기반에서 정보를받는 답변을 제공합니다. Prompt 및 Retriever를 사용한 Query
        image_param = {
            "format": "img",
            "type": "png",
            "theme": "forest",
            "bgColor": "f2f3f4",
        }
        pipe.show(params=image_param)
        응답 :

          이 헝겊은 단순하지만 개념적으로 새로 온 사람들에게 가치가 있습니다. 이제 우리는 Haystack 프레임 워크의 대부분을 이해 했으므로 주요 프로젝트에 깊이 빠져들 수 있습니다. 새로운 일이 나오면 길을 따라 설명하겠습니다.
        • 고등 2 차 물리학을위한 Question-Aangwer Rag 프로젝트 우리는 고등학생을위한 NCERT Physics Books 기반 질문 답변을 만들 것입니다. NCERT 책에서 정보를 가져 와서 쿼리에 대한 답변을 제공 할 것이며, 정보가 없으면 해당 정보를 얻기 위해 웹을 검색합니다. 로컬 llama3.2 : 3b 또는 llama3.2 : 1b

          저장 저장을위한 ChromADB 로컬 임베딩을위한 nomic embed 텍스트 모델 DuckDuckgo 웹 검색 또는 tavily 검색 (선택 사항) 를 검색합니다

          나는 완전히 현지화 된 무료 시스템을 사용합니다 개발자 환경 설정 우리는 Conda Env Python 3.12 를 설정합니다
        • 필요한 패키지를 설치하십시오
        • 이제 Qagent 프로젝트에 일반 Python 파일을 사용할 수 있습니다. 일반 파이썬 파일을 사용하겠습니다.
        • 프로젝트 루트에서 파일을 만듭니다 필요한 라이브러리 가져 오기
        • 시스템 패키지 Core Haystack 구성 요소
        • 성분을 포함시키기위한 ChromADB 국소 추론에 대한 ollama 구성 요소
        웹 검색을위한 및 Duckduckgo

        문서 저장소 만들기 문서 저장소는 여기서 가장 중요합니다. 여기서 우리는 검색을 위해 우리의 임베딩을 저장할 것이며, 우리는 삽입 스토어에
        $ pip install haystack-ai ollama-haystack
        
        # On you system download Ollama and install LLM
        
        ollama pull llama3.2:3b
        
        ollama pull nomic-embed-text
        
        
        # And then start ollama server
        ollama serve
        ChromADB

        를 사용합니다. 이전 예에서 볼 수 있듯이, 우리는 빠른 검색에 InmemoryDocumentStore를 사용하여 빠른 검색을 위해 사용합니다. 왜냐하면 우리의 데이터는 강력한 체계를 위해서는 우리의 수감자에 의존하지 않을 것입니다. 시스템을 시작하십시오. 솔루션은 Pinecode, Weaviate, Postgres 벡터 DB 또는 ChromADB와 같은 벡터 데이터베이스입니다. 나는 무료, 오픈 소스, 사용하기 쉽고 강력하기 때문에 ChromADB를 사용합니다.

        persist_path
        from haystack import Document, Pipeline
        from haystack.components.builders.prompt_builder import PromptBuilder
        from haystack.components.retrievers.in_memory import InMemoryBM25Retriever
        from haystack.document_stores.in_memory import InMemoryDocumentStore
        from haystack_integrations.components.generators.ollama import OllamaGenerator
        는 삽입을 저장하려는 곳입니다 PDF 파일 경로

        PDF 파일로 구성된 데이터 폴더에서 파일 목록을 작성합니다. 문서 전처리 구성 요소 우리는 Cleaner, Splitter 및 File Converter와 같은 Haystack의 내장 문서 전 처리기를 사용한 다음 작가를 사용하여 데이터를 매장에 작성합니다. 클리너 :

        문서에서 여분의 공간, 반복 선, 빈 줄 등을 청소합니다.
        document_store = InMemoryDocumentStore()
        documents = [
            Document(
                content="Naruto Uzumaki is a ninja from the Hidden Leaf Village and aspires to become Hokage."
            ),
            Document(
                content="Luffy is the captain of the Straw Hat Pirates and dreams of finding the One Piece."
            ),
            Document(
                content="Goku, a Saiyan warrior, has defended Earth from numerous powerful enemies like Frieza and Cell."
            ),
            Document(
                content="Light Yagami finds a mysterious Death Note, which allows him to eliminate people by writing their names."
            ),
            Document(
                content="Levi Ackerman is humanity’s strongest soldier, fighting against the Titans to protect mankind."
            ),
        ]
        스플리터 :

        그것은 단어, 문장, para, 페이지와 같은 다양한 방식으로 문서를 분할합니다.

        파일 변환기 :

        는 pypdf를 사용하여 pdf를 문서로 변환합니다.

        $ pip install haystack-ai ollama-haystack
        
        # On you system download Ollama and install LLM
        
        ollama pull llama3.2:3b
        
        ollama pull nomic-embed-text
        
        
        # And then start ollama server
        ollama serve
        작가 :

        는 문서를 저장하려는 문서를 저장하고 중복 문서는 이전 문서와 덮어 씁니다. 이제 문서 인덱싱을 위해 임베더를 설정합니다 imentder : nomic embed text 우리는 매우 효과적이고 무료 인 억제 과장과 Ollama 인 Nomic-embed-Text Embedder를 사용할 것입니다. 인덱싱 파이프 라인을 실행하기 전에 터미널을 열고 아래를 입력하여 Ollama 모델 스토어에서 Nomic-embed-text 및 llama3.2 : 3B 모델을 당기려면 아래를 입력하십시오.

        그리고 말단 from haystack import Document, Pipeline from haystack.components.builders.prompt_builder import PromptBuilder from haystack.components.retrievers.in_memory import InMemoryBM25Retriever from haystack.document_stores.in_memory import InMemoryDocumentStore from haystack_integrations.components.generators.ollama import OllamaGenerator

        를 입력하여 Ollama를 시작하십시오. 이제 임베더 구성 요소

        우리는 문서를 포함시키기 위해 ollamadocumentembedder

        구성 요소를 사용하지만 텍스트 문자열을 포함 시키려면

        ollamatextembedder를 사용해야합니다.

        인덱싱 파이프 라인 생성 이전 장난감 래그 예와 마찬가지로 파이프 라인 클래스를 시작하여 시작합니다.

        document_store = InMemoryDocumentStore()
        documents = [
            Document(
                content="Naruto Uzumaki is a ninja from the Hidden Leaf Village and aspires to become Hokage."
            ),
            Document(
                content="Luffy is the captain of the Straw Hat Pirates and dreams of finding the One Piece."
            ),
            Document(
                content="Goku, a Saiyan warrior, has defended Earth from numerous powerful enemies like Frieza and Cell."
            ),
            Document(
                content="Light Yagami finds a mysterious Death Note, which allows him to eliminate people by writing their names."
            ),
            Document(
                content="Levi Ackerman is humanity’s strongest soldier, fighting against the Titans to protect mankind."
            ),
        ]
        이제 우리는 구성 요소를 파이프 라인에 하나씩 추가합니다.

        파이프 라인에 구성 요소를 추가하는 것은 순서에 신경 쓰지 않으므로 어떤 순서로든 구성 요소를 추가 할 수 있습니다. 그러나 연결은 중요합니다. 구성 요소를 파이프 라인 그래프 에 연결합니다 여기서, 순서가 중요합니다. 구성 요소를 연결하는 방법은 파이프 라인에 데이터가 파이프 라인을 통해 흐르는 방법을 알려줍니다. 마치 주문이나 배관 품목을 구입하는 곳에서는 중요하지 않지만 물을 모으는 방법은 물을 얻는 지 여부를 결정합니다. 컨버터는 PDF를 변환하여 청소를 위해 청소하도록 보냅니다. 그런 다음 클리너는 청소 문서를 스플리터에 보냅니다. 그런 다음 해당 청크는 벡터화를 위해 임베디드로 전달되며 마지막 임베디드는이 내장을 저장을 위해 작가에게 넘겨 줄 것입니다.

        이해! 자, 데이터 흐름을 검사 할 수 있도록 인덱싱의 시각적 그래프를 알려 드리겠습니다.

        . 인덱싱 파이프 라인을 그리십시오

        예, 건초 더미 파이프 라인에서 멋진 인어 그래프를 쉽게 만들 수 있습니다.
        pipe = Pipeline()
        
        pipe.add_component("retriever", InMemoryBM25Retriever(document_store=document_store))
        pipe.add_component("prompt_builder", PromptBuilder(template=template))
        pipe.add_component(
            "llm", OllamaGenerator(model="llama3.2:1b", url="http://localhost:11434")
        )
        pipe.connect("retriever", "prompt_builder.documents")
        pipe.connect("prompt_builder", "llm")
        인덱싱 파이프 라인의 그래프

        이제 건초 더미 파이프 라인 뒤에 아이디어를 완전히 파악했다고 생각합니다. 배관공에게 감사합니다. 라우터 구현 이제 다른 경로를 통해 데이터를 라우팅하려면 라우터를 만들어야합니다. 이 경우 특정 조건에서 라우팅 작업을 수행하는 조건부 라우터를 사용합니다. 조건부 라우터는 구성 요소 출력에 따라 조건을 평가합니다. 동적 의사 결정을 가능하게하는 다른 파이프 라인 분기를 통해 데이터 흐름을 지시합니다. 또한 강력한 폴백 전략이 있습니다

        $ pip install haystack-ai ollama-haystack
        
        # On you system download Ollama and install LLM
        
        ollama pull llama3.2:3b
        
        ollama pull nomic-embed-text
        
        
        # And then start ollama server
        ollama serve
        시스템이 포함 된 매장 컨텍스트에서 no_answer 답장을 받으면 인터넷에서 관련 데이터를 수집하기 위해 웹 검색 도구로 이동합니다. 웹 검색의 경우 Duckduckgo API 또는 Tavily를 사용합니다. 여기서 Duckduckgo를 사용했습니다.

        좋아, 대부분의 무거운 리프팅이 완료되었습니다. 이제 프롬프트 엔지니어링 시간 프롬프트 템플릿을 만듭니다 우리는 템플릿에서 프롬프트를 구축하기 위해 Haystack Promptbuilder 구성 요소를 사용합니다. 먼저, qa

        에 대한 프롬프트를 만들 것입니다

        는 문서에서 컨텍스트를 가져 와서 질문에 대답하려고합니다. 그러나 문서에서 관련 컨텍스트를 찾지 못하면 no_answer에 답장을합니다. 이제 LLM에서 NO_ANSWER를 얻은 후 두 번째 프롬프트에서 시스템은 인터넷에서 컨텍스트를 수집하기 위해 웹 검색 도구를 사용합니다.
        from haystack import Document, Pipeline
        from haystack.components.builders.prompt_builder import PromptBuilder
        from haystack.components.retrievers.in_memory import InMemoryBM25Retriever
        from haystack.document_stores.in_memory import InMemoryDocumentStore
        from haystack_integrations.components.generators.ollama import OllamaGenerator
        Duckduckgo 프롬프트 템플릿

        는 시스템이 웹 검색으로 이동하여 쿼리에 응답하도록 촉진합니다.

        .

        Haystack에서 프롬프트 빌더를 사용하여 프롬프트를 작성합니다

        우리는 Haystack 프롬프트 조향사를 사용하여 프롬프트의 분기에 가입합니다.

        쿼리 파이프 라인 구현

        쿼리 파이프 라인은 임베딩에서 맥락 리소스를 수집하고 LLM 또는 웹 검색 도구를 사용하여 쿼리에 응답하는 쿼리를 포함합니다. 인덱싱 파이프 라인과 유사합니다 파이프 라인 시작

        쿼리 파이프 라인에 구성 요소 추가
        document_store = InMemoryDocumentStore()
        documents = [
            Document(
                content="Naruto Uzumaki is a ninja from the Hidden Leaf Village and aspires to become Hokage."
            ),
            Document(
                content="Luffy is the captain of the Straw Hat Pirates and dreams of finding the One Piece."
            ),
            Document(
                content="Goku, a Saiyan warrior, has defended Earth from numerous powerful enemies like Frieza and Cell."
            ),
            Document(
                content="Light Yagami finds a mysterious Death Note, which allows him to eliminate people by writing their names."
            ),
            Document(
                content="Levi Ackerman is humanity’s strongest soldier, fighting against the Titans to protect mankind."
            ),
        ]

        여기서 LLM 생성의 경우 LLAMA3.2 : 3B 또는 1B 또는 도구 호출로 원하는 LLM을 사용하여 답을 생성하기 위해 Ollamagenerator 구성 요소를 사용합니다. 쿼리 흐름 및 답변 생성을 위해 모든 구성 요소를 함께 연결

        위의 연결 요약 :

        텍스트 _embedder의 임베딩은 리트리버의 쿼리 임베딩으로 전송됩니다. 리트리버는 데이터를 Prompt_Builder의 문서로 보냅니다 프롬프트 빌더는 프롬프트 조인너로 이동하여 다른 프롬프트와 합류합니다. 프롬프트 결합기는 데이터를 생성을 위해 LLM으로 전달합니다 no_answer

        가 있는지 확인하십시오 .if 그러면 웹 검색 모듈로 이동합니다. 웹 검색은 데이터를 쿼리로 웹 검색 프롬프트로 보냅니다. 웹 검색 문서 웹 검색 문서로 데이터를 보냅니다.

        웹 검색 프롬프트는 데이터를 프롬프트 조인에게 보냅니다. 그리고 프롬프트 조인은 답변 생성을 위해 데이터를 LLM으로 보냅니다.
        pipe = Pipeline()
        
        pipe.add_component("retriever", InMemoryBM25Retriever(document_store=document_store))
        pipe.add_component("prompt_builder", PromptBuilder(template=template))
        pipe.add_component(
            "llm", OllamaGenerator(model="llama3.2:1b", url="http://localhost:11434")
        )
        pipe.connect("retriever", "prompt_builder.documents")
        pipe.connect("prompt_builder", "llm")
        왜 자신을 보지 않겠습니까? 쿼리 파이프 라인 그래프

        쿼리 그래프

        나는 그것이 거대한 그래프라는 것을 알고 있지만 짐승의 뱃속에서 무슨 일이 일어나고 있는지 정확히 보여줄 것입니다.

        쉬운 쿼리를위한 함수를 만듭니다

        응답 생성을위한 간단한 기능입니다.

        이제 NCERT 물리 책을 색인화하기위한 메인 스크립트를 실행하십시오.

        그것은 일회성 작업입니다. 색인을 인덱싱 한 후에는이 줄에 댓글을 달아야합니다. 그렇지 않으면 책을 다시 표시하기 시작합니다.

        . 및 파일의 하단은 쿼리에 대한 드라이버 코드를 씁니다.

        이 책의 지식에서 저항에 대한 MCQ
        $ pip install haystack-ai ollama-haystack
        
        # On you system download Ollama and install LLM
        
        ollama pull llama3.2:3b
        
        ollama pull nomic-embed-text
        
        
        # And then start ollama server
        ollama serve

        책에없는 또 다른 질문

        출력

        from haystack import Document, Pipeline
        from haystack.components.builders.prompt_builder import PromptBuilder
        from haystack.components.retrievers.in_memory import InMemoryBM25Retriever
        from haystack.document_stores.in_memory import InMemoryDocumentStore
        from haystack_integrations.components.generators.ollama import OllamaGenerator

        또 다른 질문을 시도해 봅시다.

        그래서 작동합니다! 우리는 더 많은 맥락에서 인식 답변을 생성 할 임베딩을 위해 더 많은 데이터, 책 또는 PDF를 사용할 수 있습니다. 또한 GPT-4O, Anthropic 's Claude 또는 기타 클라우드 LLM과 같은 LLM은 작업을 더 잘 수행 할 것입니다.
        document_store = InMemoryDocumentStore()
        documents = [
            Document(
                content="Naruto Uzumaki is a ninja from the Hidden Leaf Village and aspires to become Hokage."
            ),
            Document(
                content="Luffy is the captain of the Straw Hat Pirates and dreams of finding the One Piece."
            ),
            Document(
                content="Goku, a Saiyan warrior, has defended Earth from numerous powerful enemies like Frieza and Cell."
            ),
            Document(
                content="Light Yagami finds a mysterious Death Note, which allows him to eliminate people by writing their names."
            ),
            Document(
                content="Levi Ackerman is humanity’s strongest soldier, fighting against the Titans to protect mankind."
            ),
        ]
        결론 우리의 에이전트 래그 시스템은 구성 요소와 파이프 라인을 결합 할 수있는 힘과 헤이 스택 프레임 워크의 유연성과 견고성을 보여줍니다. 이 래그는 웹 서비스 플랫폼에 배포하고 OpenAI 및 Nthropic과 같은 더 나은 유료 LLM을 사용하여 생산 준비를 할 수 있습니다. 더 나은 사용자 경험을 위해 Streamlit 또는 React 기반 웹 스파를 사용하여 UI를 구축 할 수 있습니다. 여기에 사용 된 모든 코드를 찾을 수 있습니다. 키 테이크 아웃

        에이전트 걸레 시스템은 전통적인 걸레보다 더 지능적이고 유연한 반응을 제공합니다.

        Haystack의 파이프 라인 아키텍처는 복잡한 모듈 식 워크 플로를 가능하게합니다 라우터는 응답 생성에서 동적 의사 결정을 가능하게합니다 연결 그래프는 유연하고 유지 관리 가능한 구성 요소 상호 작용을 제공합니다 여러 지식 소스의 통합은 응답 품질을 향상시킵니다

        이 기사에 나와있는 미디어는 Analytics Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다. 자주 묻는 질문 건초 더미 프레임 워크를 사용하여 에이전트 QA Rag 시스템을 구축하는 방법

        q1. 시스템이 알 수없는 쿼리를 어떻게 처리합니까?

        a. 이 시스템은 라우터 구성 요소를 사용하여 로컬 지식이 불충분 할 때 웹 검색으로 자동으로 돌아가서 포괄적 인 범위를 보장합니다. 파이프 라인 아키텍처는 어떤 장점을 제공합니까?

        Q3. 연결 그래프는 시스템 기능을 어떻게 향상 시키는가?
        a. 연결 그래프는 복잡한 데이터 흐름과 병렬 처리를 가능하게하여 다양한 유형의 쿼리를 처리 할 때 시스템 효율성과 유연성을 향상시킵니다. 다른 LLM API를 사용할 수 있습니까?

        .

    위 내용은 건초 더미 프레임 워크를 사용하여 에이전트 QA Rag 시스템을 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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