다음을 통해 공유


Mosaic AI 에이전트 프레임워크란?

Important

이 기능은 공개 미리 보기 상태입니다.

Agent Framework는 개발자가 RAG(검색 증강 세대) 애플리케이션과 같은 프로덕션 품질 에이전트를 빌드, 배포 및 평가하는 데 도움이 되도록 설계된 Databricks의 도구 집합으로 구성됩니다.

이 문서에서는 에이전트 프레임워크의 정의와 Azure Databricks에서 RAG 애플리케이션을 개발할 때의 이점에 대해 설명합니다.

LLMOps 다이어그램 간소화

에이전트 프레임워크를 사용하면 개발자가 엔드 투 엔드 LLMOps 워크플로를 사용하여 RAG 개발의 모든 측면을 신속하게 반복할 수 있습니다.

프로덕션 수준 RAG 개발

다음 기능을 사용하여 에이전트 개발을 신속하게 반복합니다.

라이브러리 및 MLflow를 사용하여 에이전트를 만들고 로그합니다. 에이전트를 매개 변수화하여 에이전트 개발을 신속하게 실험하고 반복합니다.

토큰 스트리밍 및 요청/응답 로깅에 대한 기본 지원과 에이전트에 대한 사용자 피드백을 얻기 위한 기본 제공 검토 앱을 사용하여 프로덕션에 에이전트를 배포합니다.

에이전트 추적을 사용하면 에이전트 코드에서 추적을 기록, 분석 및 비교하여 에이전트가 요청에 응답하는 방식을 디버그하고 이해할 수 있습니다.

모자이크 AI 에이전트 평가

Important

이 기능은 공개 미리 보기 상태입니다.

에이전트 프레임워크에는 개발자가 생성 AI 애플리케이션의 품질, 비용 및 대기 시간을 평가하는 데 도움이 되는 AI 지원 에이전트 평가 가 포함되어 있습니다. 에이전트 평가에는 다음 기능이 포함됩니다.

  • 검토 앱을 사용하여 애플리케이션의 전문가 관련자로부터 피드백을 수집합니다. 전문가 검토자는 RAG 앱 답변의 품질과 안전을 보장하는 데 도움을 줍니다.
  • 독점 LLM 심사위원 및 에이전트 메트릭 을 사용하여 검색 및 요청 품질뿐만 아니라 대기 시간 및 토큰 비용과 같은 전반적인 성능 메트릭을 평가합니다.

RAG란?

RAG는 외부 지식으로 LLM(대규모 언어 모델)을 향상시키는 생성 AI 디자인 기술입니다. 이 기술은 다음과 같은 방법으로 LLM을 향상시킵니다.

  • 독점 지식: RAG는 도메인 관련 질문에 답변하기 위해 메모, 이메일 및 문서와 같이 LLM을 학습시키는 데 처음 사용되지 않는 독점 정보를 포함할 수 있습니다.
  • 최신 정보: RAG 애플리케이션은 업데이트된 데이터 원본의 정보를 LLM에 제공할 수 있습니다.
  • 출처 인용: RAG를 사용하면 LLM이 특정 원본을 인용할 수 있으므로 사용자가 응답의 사실 정확도를 확인할 수 있습니다.
  • ACL(데이터 보안 및 액세스 제어 목록): 검색 단계는 사용자 자격 증명에 따라 개인 또는 독점 정보를 선택적으로 검색하도록 설계할 수 있습니다.

복합 AI 시스템

RAG 애플리케이션은 복합 AI 시스템의입니다. 다른 도구 및 절차와 결합하여 LLM의 언어 기능을 확장합니다.

가장 간단한 형식으로 RAG 애플리케이션은 다음을 수행합니다.

  1. 검색: 사용자의 요청은 벡터 저장소, 텍스트 키워드 검색 또는 SQL 데이터베이스와 같은 외부 데이터 저장소를 쿼리하는 데 사용됩니다. 목표는 LLM의 응답에 대한 지원 데이터를 가져오는 것입니다.
  2. 확대: 검색된 데이터는 사용자의 요청과 결합되며, 종종 추가 서식 및 지침이 있는 템플릿을 사용하여 프롬프트를 만듭니다.
  3. 생성: 프롬프트가 LLM에 전달된 다음 쿼리에 대한 응답을 생성합니다.

RAG 및 Gen AI 사용 사례

다음 표에서는 몇 가지 RAG 사용 사례를 나열합니다.

사용 사례 설명
Q&A 챗봇 챗봇과 함께 LLM을 사용하여 회사 문서 및 기술 자료 정확한 답변을 도출합니다. 챗봇은 고객 지원을 자동화하고 웹 사이트에 대한 후속 조치를 통해 질문에 신속하게 답변하고 문제를 해결할 수 있습니다.
검색 확대 검색 엔진에서 LLM을 사용하여 LLM 생성 답변으로 검색 결과를 보강하여 사용자가 필요한 정보를 더 쉽게 찾을 수 있도록 합니다.
기술 엔진 HR 및 규정 준수 문서와 같은 회사 데이터를 LLM의 컨텍스트로 사용하여 직원이 혜택, 정책, 보안 및 규정 준수에 대한 질문에 대한 답변을 쉽게 얻을 수 있도록 합니다.

구조화되지 않은 데이터와 구조화된 RAG 데이터 비교

RAG 아키텍처는 비정형 또는 구조화된 지원 데이터에서 작동할 수 있습니다. RAG에서 사용하는 데이터는 사용 사례에 따라 달라집니다.

구조화되지 않은 데이터: 특정 구조나 조직이 없는 데이터입니다. 텍스트 및 이미지 또는 멀티미디어 콘텐츠(예: 오디오 또는 비디오)가 포함된 문서입니다.

  • PDF
  • Google/Office 문서
  • Wiki
  • 이미지
  • 동영상

구조적 데이터: 데이터베이스의 테이블과 같이 특정 스키마가 있는 행 및 열로 정렬된 테이블 형식 데이터입니다.

  • BI 또는 데이터 웨어하우스 시스템의 고객 레코드
  • SQL 데이터베이스의 트랜잭션 데이터
  • 애플리케이션 API의 데이터(예: SAP, Salesforce 등)

다음 섹션에서는 구조화되지 않은 데이터에 대한 RAG 애플리케이션에 대해 설명합니다.

RAG 데이터 파이프라인

RAG 데이터 파이프라인은 빠르고 정확한 검색을 위해 문서를 미리 처리하고 인덱싱합니다.

아래 다이어그램은 의미 체계 검색 알고리즘을 사용하여 구조화되지 않은 데이터 세트에 대한 샘플 데이터 파이프라인을 보여 줍니다. Databricks 워크플로는 각 단계를 오케스트레이션합니다.

RAG 데이터 파이프라인

  1. 데이터 수집 - 소유 원본에서 데이터를 수집합니다. 이 데이터를 델타 테이블 또는 Unity 카탈로그 볼륨에 저장합니다.
  2. 문서 처리: Databricks 워크플로, Databricks Notebook 및 Delta Live Tables를 사용하여 이러한 작업을 수행할 수 있습니다.
    • 원시 문서 구문 분석: 원시 데이터를 사용 가능한 형식으로 변환합니다. 예를 들어 PDF 컬렉션에서 텍스트, 테이블 및 이미지를 추출하거나 광학 문자 인식 기술을 사용하여 이미지에서 텍스트를 추출합니다.
    • 메타데이터 추출: 검색 단계 쿼리를 보다 정확하게 수행할 수 있도록 문서 제목, 페이지 번호 및 URL과 같은 문서 메타데이터를 추출합니다.
    • 청크 문서: LLM 컨텍스트 창에 맞는 청크로 데이터를 분할합니다. 전체 문서가 아닌 이러한 포커스가 있는 청크를 검색하면 LLM이 응답을 생성할 수 있는 더 많은 대상 콘텐츠를 제공합니다.
  3. 청크 포함 - 포함 모델은 청크를 사용하여 벡터 포함이라는 정보의 숫자 표현을 만듭니다. 벡터는 표면 수준 키워드뿐만 아니라 텍스트의 의미 체계 의미를 나타냅니다. 이 시나리오에서는 포함을 계산하고 모델 제공을 사용하여 포함 모델을 제공합니다.
  4. 스토리지 포함 - 벡터 검색과 동기화된 델타 테이블에 벡터 포함 및 청크 텍스트를 저장합니다.
  5. 벡터 데이터베이스 - 벡터 검색의 일부로 포함 및 메타데이터는 RAG 에이전트에서 쉽게 쿼리할 수 있는 인덱싱되고 벡터 데이터베이스에 저장됩니다. 사용자가 쿼리를 만들면 해당 요청이 벡터에 포함됩니다. 그런 다음 데이터베이스는 벡터 인덱스를 사용하여 가장 유사한 청크를 찾아 반환합니다.

각 단계에는 RAG 애플리케이션의 품질에 영향을 주는 엔지니어링 결정이 포함됩니다. 예를 들어 단계(3)에서 적절한 청크 크기를 선택하면 LLM이 특정 아직 컨텍스트화된 정보를 수신하고, 단계(4)에서 적절한 포함 모델을 선택하면 검색 중에 반환되는 청크의 정확도가 결정됩니다.

컴퓨팅 유사성은 계산 비용이 많이 드는 경우가 많지만 Databricks Vector Search와 같은 벡터 인덱스는 포함을 효율적으로 구성하여 이를 최적화합니다. 벡터 검색은 각 포함을 사용자의 쿼리와 개별적으로 비교하지 않고도 가장 관련성이 높은 결과의 순위를 빠르게 지정합니다.

Vector Search는 델타 테이블에 추가된 새 포함을 자동으로 동기화하고 Vector Search 인덱스를 업데이트합니다.

RAG 에이전트란?

RAG(검색 증강 세대) 에이전트는 외부 데이터 검색을 통합하여 LLM(대규모 언어 모델)의 기능을 향상시키는 RAG 애플리케이션의 핵심 부분입니다. RAG 에이전트는 사용자 쿼리를 처리하고, 벡터 데이터베이스에서 관련 데이터를 검색하고, 이 데이터를 LLM에 전달하여 응답을 생성합니다.

LangChain 또는 Pyfunc와 같은 도구는 입력 및 출력을 연결하여 이러한 단계를 연결합니다.

아래 다이어그램에서는 챗봇에 대한 RAG 에이전트와 각 에이전트를 빌드하는 데 사용되는 Databricks 기능을 보여 줍니다.

RAG 챗봇 아키텍처 워크플로

  1. 쿼리 전처리 - 사용자가 쿼리를 제출한 다음, 전처리되어 벡터 데이터베이스 쿼리에 적합합니다. 여기에는 템플릿에 요청을 배치하거나 키워드를 추출하는 작업이 포함될 수 있습니다.
  2. 쿼리 벡터화 - 모델 서비스를 사용하여 데이터 파이프라인에 청크를 포함하는 데 사용되는 것과 동일한 포함 모델을 사용하여 요청을 포함합니다. 이러한 포함을 사용하면 요청과 전처리된 청크 간의 의미 체계 유사성을 비교할 수 있습니다.
  3. 검색 단계 - 관련 정보 가져오기를 담당하는 애플리케이션인 리트리버가 벡터화된 쿼리를 사용하고 벡터 검색을 사용하여 벡터 유사성 검색을 수행합니다. 가장 관련성이 높은 데이터 청크는 쿼리와 유사성에 따라 순위가 지정되고 검색됩니다.
  4. 프롬프트 확대 - 검색된 데이터 청크를 원래 쿼리와 결합하여 LLM에 추가 컨텍스트를 제공합니다. 프롬프트는 LLM이 쿼리의 컨텍스트를 이해할 수 있도록 신중하게 구성됩니다. 종종 LLM에는 응답의 서식을 지정하기 위한 템플릿이 있습니다. 프롬프트를 조정하는 이 프로세스를 프롬프트 엔지니어링이라고 합니다.
  5. LLM 생성 단계 - LLM은 검색 결과에 의해 보강된 보강된 쿼리를 사용하여 응답을 생성합니다. LLM은 사용자 지정 모델 또는 기본 모델일 수 있습니다.
  6. 사후 처리 - LLM의 응답을 처리하여 추가 비즈니스 논리를 적용하거나, 인용을 추가하거나, 미리 정의된 규칙 또는 제약 조건에 따라 생성된 텍스트를 구체화할 수 있습니다.

엔터프라이즈 정책을 준수하기 위해 이 프로세스 전체에서 다양한 가드레일을 적용할 수 있습니다. 여기에는 적절한 요청을 필터링하고, 데이터 원본에 액세스하기 전에 사용자 권한을 확인하고, 생성된 응답에 대한 con텐트 모드ration 기술을 사용하는 것이 포함될 수 있습니다.

평가 및 모니터링

평가 및 모니터링은 RAG 애플리케이션이 품질, 비용 및 대기 시간 요구 사항을 충족하는지 여부를 결정하는 데 도움이 됩니다. 애플리케이션이 프로덕션에 배포되면 모니터링이 수행되는 동안 개발 중에 평가가 수행됩니다.

구조화되지 않은 데이터에 대한 RAG에는 품질에 영향을 주는 많은 구성 요소가 있습니다. 예를 들어 데이터 서식 변경은 검색된 청크 및 관련 응답을 생성하는 LLM의 기능에 영향을 줄 수 있습니다. 따라서 전체 애플리케이션 외에도 개별 구성 요소를 평가하는 것이 중요합니다.

자세한 내용은 Mosaic AI 에이전트 평가 소개를 참조하세요.

사용 가능 지역

RAG 애플리케이션 개발을 지원하고 Databricks에서 에이전트 평가를 실행하는 기능은 다음 지역에서 사용할 수 있습니다.

  • eastusc3
  • eastus2
  • eastus2c2
  • eastus2c3
  • westus
  • westeurope
  • westeuropec2
  • australiaeast
  • canadacentral
  • southeastasia
  • ukwest