LLM (Largin Language Model)을 사용하여 응용 프로그램을 구축 할 때 응답 품질은 주어진 사용자 작업에 대한 효과적인 계획 및 추론 기능에 크게 의존합니다. 전통적인 래그 기술은 강력하지만 에이전트 워크 플로를 통합하면 시스템의 쿼리 처리 및 응답 능력을 크게 향상시킬 수 있습니다.
이 기사에서는 Phidata Open-Source 에이전트 프레임 워크를 사용하여 메모리 구성 요소가있는 에이전트 래그 시스템을 구축하여 벡터 데이터베이스 IE, QDRANT, 임베딩 모델 및 지능형 에이전트를 결합하여 개선 된 결과를 제공하는 방법을 보여줍니다.
이 기사는 Data Science Blogathon 의 일부로 출판되었습니다 .
AI의 맥락에서 에이전트는 인간과 같은 사고 및 계획 능력을 모방하도록 설계된 구성 요소입니다. 에이전트 구성 요소는 다음으로 구성됩니다.
래그 (검색된 세대)는 지식 검색과 LLM 기능을 결합합니다. 에이전트를 RAG 시스템에 통합하면 다음과 같은 강력한 워크 플로를 만듭니다.
전통적인 래그와 에이전트 래그의 주요 차이점은 각 쿼리를 처리하는 방법을 결정하고 실시간 정보를 얻기 위해 도구와 상호 작용하는 의사 결정 계층에 있습니다.
이제 우리가 알았으므로 에이전트 헝겊과 같은 것이 있습니다. 어떻게 구축합니까? 고장합시다.
Phidata는 에이전트 워크 플로를 빌드, 모니터링 및 배포하도록 설계된 오픈 소스 프레임 워크입니다. 메모리, 지식, 도구 및 추론 기능이 장착 된 다중 모드 AI 에이전트를 지원합니다. 모델 공장 아키텍처는 다양한 LLM (LLM)과의 호환성을 보장하여 개발자가 모든 LLM을 기능적 AI 에이전트로 변환 할 수 있도록합니다. 또한 PHIDATA를 사용하면 Bring 자신의 클라우드 (BYOC) 접근 방식을 사용하여 에이전트 워크 플로우를 배포하여 AI 시스템에 대한 유연성과 제어 기능을 모두 제공 할 수 있습니다.
Phidata의 주요 기능에는 복잡한 문제를 해결하기 위해 협력하는 에이전트 팀을 구축 할 수있는 능력, 원활한 상호 작용 (Phidata Playground)을위한 사용자 친화적 인 에이전트 UI 및 에이전트 검색 세대 생성 (RAG) 및 구조화 된 출력에 대한 내장 지원이 포함됩니다. 이 프레임 워크는 또한 모니터링 및 디버깅을 강조하여 강력하고 안정적인 AI 응용 프로그램을 보장하는 도구를 제공합니다.
실제 응용 프로그램에서 에이전트 기반 시스템의 변형력을 탐색하여 Phidata를 활용하여 의사 결정 및 작업 자동화를 향상시킵니다.
Yfinance와 같은 도구를 통합함으로써 Phidata는 실시간 주식 가격을 가져오고 재무 데이터를 분석하며 분석가 권장 사항을 요약 할 수있는 에이전트를 생성 할 수 있습니다. 이러한 에이전트는 최신 시장 통찰력을 제공함으로써 투자자와 분석가가 정보에 입각 한 결정을 내리는 데 도움을줍니다.
Phidata는 또한 Duckduckgo, Serpapi 또는 Serper와 같은 검색 도구를 사용하여 웹에서 실시간 정보를 검색 할 수있는 에이전트를 개발하는 데 도움이됩니다. 이 에이전트는 최신 데이터를 소싱하여 사용자 쿼리에 답변하여 연구 및 정보 수집 작업에 유용합니다.
Phidata는 또한 멀티 모달 기능을 지원하여 이미지, 비디오 및 오디오를 분석하는 에이전트의 생성을 가능하게합니다. 이러한 멀티 모드 에이전트는 이미지 인식, 텍스트-이미지 생성, 오디오 전사 및 비디오 분석과 같은 작업을 처리하여 다양한 도메인에서 다재다능한 솔루션을 제공 할 수 있습니다. 텍스트-이미지 또는 텍스트-비디오 작업의 경우 Dall-E 및 Replice와 같은 도구를 통합 할 수 있으며 이미지-텍스트 및 비디오-텍스트 작업, GPT-4, Gemini 2.0, Claude AI 등의 다중 모드 LLM 등을 활용할 수 있습니다.
스타트 업에 대한 문서가 있고 해당 문서에 따라 사용자 질문에 답변 할 수있는 채팅 어시스턴트를 만들고 싶다고 상상해보십시오. 챗봇을보다 지능적으로 만들려면 실시간 데이터도 처리해야합니다. 일반적으로 실시간 데이터 쿼리에 응답하려면 지식 기반을 재건하거나 모델을 재교육해야합니다.
이곳은 에이전트가 작용하는 곳입니다. 지식 기반을 에이전트와 결합함으로써, 챗봇의 정확한 답변을 검색 할 수있는 능력을 향상시킬뿐만 아니라 전반적인 성능을 향상시키는 에이전트 래그 (검색 세대) 솔루션을 만들 수 있습니다.
우리는 지식 기반을 형성하기 위해 함께 모이는 세 가지 주요 구성 요소가 있습니다. 먼저 문서 페이지, PDF 또는 사용하려는 웹 사이트와 같은 데이터 소스가 있습니다. 그런 다음 벡터 데이터베이스 인 Qdrant가 있습니다. 이는 비슷한 정보를 빠르게 찾는 데 도움이되는 스마트 스토리지 시스템과 같습니다. 마지막으로, 텍스트를 컴퓨터가 더 잘 이해할 수있는 형식으로 변환하는 임베딩 모델이 있습니다. 이 세 가지 구성 요소는 우리 시스템의 뇌와 같은 지식 기반으로 공급됩니다.
이제 Phidata에서 에이전트 객체를 정의합니다.
에이전트는 세 가지 구성 요소에 연결됩니다.
참고 : 여기서 Knowledge Base와 Duckduckgo는 모두 도구 역할을 한 다음 작업 또는 사용자 쿼리를 기반으로 에이전트는 응답을 생성하는 데 어떤 도구를 사용할 것인지 조치를 취합니다. 또한 임베딩 모델은 기본적으로 OpenAI이므로 OpenAI-GPT-4O를 추론 모델로 사용합니다.
이 코드를 작성합시다.
지식 기반의 맥락이 없을 때 지식 기반에서 개인 정보 (웹 사이트)와 상호 작용할 수있는 DocumentAnalyzer 보조 에이전트를 구축 할 때입니다.
에이전트 래그 워크 플로를 구축하려면 다음을 포함하는 몇 가지 라이브러리를 설치해야합니다.
Pip Phidata Google-Generativeai Duckduckgo-Search Qdrant-Client를 설치하십시오
이 단계에서는 환경 변수를 설정 하고이 사용 사례를 실행하기 위해 필요한 API 자격 증명을 수집합니다. OpenAI API 키의 경우 https : //platform.openai.com/에서 얻을 수 있습니다. 계정을 만들고 새 키를 만듭니다.
phi.knowledge에서 Website import webky knowledgebase phi.vectordb.qdrant import qdrant에서 PHI. AGENT 수입 대리인 phi.storage.agent.sqlite import sqlagentStorage에서 phi.model.openai import openaichat에서 phi.tools.duckduckgo 수입 Duckduckgo에서 OS 가져 오기 os.environ [ 'Openai_api_key'] = "<prollate>"</prollate>
이제 벡터 데이터베이스의 수집 이름, URL 및 API 키를 제공하여 QDRANT 클라이언트를 초기화해야합니다. Qdrant 데이터베이스는 웹 사이트에서 지식을 저장하고 색인하여 에이전트가 사용자 쿼리를 기반으로 관련 정보를 검색 할 수 있도록합니다. 이 단계는 에이전트의 데이터 계층을 설정합니다.
Collection_Name = "Agentic-RAG" qdrant_url = "<prepart>" qdrant_api_key = "<prollate>" vector_db = qdrant ( collection = collection_name, url = qdrant_url, api_key = qdrant_api_key, ))</prollate></prepart>
여기서, 에이전트가 지식을 가져 오는 출처를 정의 할 것입니다. 이 예에서는 웹 사이트에서 질문에 쉽게 답변 할 수있는 문서 분석기 에이전트를 구축하고 있습니다. 인덱싱에 Qdrant 문서 웹 사이트 URL을 사용합니다.
웹 사이트 knowledgebase 객체는 Qdrant 벡터 데이터베이스와 상호 작용하여 제공된 URL에서 인덱스 된 지식을 저장합니다. 그런 다음 에이전트가 검색하기 위해 지식 기반에로드됩니다.
참고 :로드 함수를 사용하여 데이터 소스를 지식 기반에 색인합니다. 수집 이름을 변경하고 새 데이터를 추가하려면 각 컬렉션 이름에 대해 한 번만 실행해야합니다. 해당 시간 만로드 기능을 실행합니다.
url = "https://qdrant.tech/documentation/overview/" Knowledge_base = Websity Knowledgebase ( urls = [url], max_links = 10, vector_db = vector_db, )) Knowledge_base.load () # 한 번만 실행됩니다.
에이전트는 응답 생성에 대한 LLM (GPT-4), 정보 검색을위한 지식 기반 및 상호 작용 및 응답을 메모리로 추적하기위한 SQLITE 스토리지 시스템을 구성합니다. 또한 필요할 때 추가 웹 검색을 위해 DuckDuckgo 검색 도구를 설정합니다. 이 설정은 쿼리에 응답 할 수있는 핵심 AI 에이전트를 형성합니다.
백엔드 런타임 실행을 관찰하고 쿼리가 지식 기반 또는 DuckDuckgo 검색 도구로 라우팅되는지 여부를 추적하기 위해 show_tool_calls를 true로 설정합니다. 이 셀을 실행하면 메모리 저장을 활성화하고 add_history_to_messages를 true로 설정하여 모든 메시지가 저장되는 데이터베이스 파일을 만듭니다.
에이전트 = 에이전트 ( model = openaichat (), 지식 = Knowledge_base, 도구 = [DuckDuckgo ()], show_tool_calls = true, Markdown = true, Storage = sqlagentStorage (table_name = "agentic_rag", db_file = "agents_rag.db"), add_history_to_messages = true, ))
마지막으로 에이전트는 사용자 쿼리를 처리 할 준비가되었습니다. print_response () 함수를 호출하면 사용자 쿼리를 전달하고 에이전트는 지식 기반에서 관련 정보를 검색하여 처리하여 응답합니다. 쿼리가 지식 기반이 아닌 경우 검색 도구를 사용합니다. 변경 사항을 관찰하겠습니다.
에이전트 .print_response ( "문서에 언급 된 인덱싱 기술은 무엇입니까?", 스트림 = 참 ))
에이전트 .print_response ( "Virat Kohli는 누구입니까?", 스트림 = 참 ))
지능형 에이전트와 관계형 그래프가 결합하여 데이터 검색 및 의사 결정을 최적화하는 에이전트 래그의 주요 장점을 발견하십시오.
메모리 구성 요소를 사용하여 에이전트 래그 구현은 지능형 지식 검색 시스템 및 검색 엔진을 구축하기위한 안정적인 솔루션을 제공합니다. 이 기사에서는 요원과 헝겊이 무엇인지, 결합하는 방법을 탐구했습니다. 에이전트 래그의 조합으로 에이전트의 의사 결정 기능으로 인해 쿼리 라우팅이 향상됩니다.
A. 예, Phidata는 이미지, 비디오 및 오디오와 관련된 작업을 처리 할 수있는 멀티 모달 AI 에이전트를 지원하도록 구축되었습니다. Dall-E와 같은 도구와 텍스트-이미지 또는 텍스트-비디오 생성을 위해 복제를 통합하고 GPT-4, Gemini 2.0 및 Claude AI와 같은 멀티 모달 LLM을 이미지-텍스트 및 비디오-텍스트 작업에 사용합니다.
Q2. 에이전트 래그 시스템을 개발하기 위해 어떤 도구와 프레임 워크를 사용할 수 있습니까?A. 에이전트 검색 세대 생성 (RAG) 시스템 개발에는 자율 에이전트와 검색 기능과의 통합을 용이하게하는 다양한 도구 및 프레임 워크를 사용하는 것이 포함됩니다. 다음은 Langchain, Llamaindex, Phidata, Crewai 및 Autogen과 같은 몇 가지 도구 및 프레임 워크입니다.
Q3. Phidata가 외부 도구 및 지식 기반과 통합 할 수 있습니까?A. 예, Phidata는 다양한 도구와 지식 기반을 통합 할 수 있습니다. 예를 들어, 실시간 주식 분석을위한 Yfinance와 같은 재무 데이터 도구 또는 최신 정보를 검색하기 위해 Duckduckgo와 같은 웹 검색 도구와 연결할 수 있습니다. 이러한 유연성을 통해 특정 사용 사례에 맞는 특수 에이전트를 생성 할 수 있습니다.
이 기사에 표시된 미디어는 분석 Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다.
위 내용은 Phidata로 에이전트 걸레를 만드는 것의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!