다음을 통해 공유


Azure Logic Apps의 워크플로에서 Azure AI 서비스에 연결

적용 대상: Azure Logic Apps(사용량 + 표준)

엔터프라이즈 서비스, 시스템 및 데이터를 AI 기술과 통합하기 위해 논리 앱 워크플로는 이러한 통합 시나리오에 사용하는 Azure OpenAIAzure AI Search 리소스에 연결할 수 있습니다.

이 가이드에서는 워크플로에서 Azure OpenAI 및 Azure AI Search 커넥터 작업을 사용하는 방법을 보여 주는 개요 및 예제를 제공합니다.

AI 서비스에서 Azure Logic Apps를 사용하는 이유는 무엇인가요?

일반적으로 AI 솔루션을 빌드하려면 몇 가지 주요 단계가 필요하며 몇 가지 구성 요소를 필요로 합니다. 주로 동적 수집 파이프라인과 LLM(대규모 언어 모델) 및 벡터 데이터베이스와 통신할 수 있는 채팅 인터페이스가 있어야 합니다.

자세한 내용은 Azure Copilot에 다음 질문을 하면 됩니다.

  • AI의 동적 수집 파이프라인이란?
  • AI의 벡터 데이터베이스란?

Azure Copilot을 찾으려면 Azure Portal 도구 모음에서 Copilot을 선택합니다.

데이터 수집을 수행할 뿐만 아니라 채팅 인터페이스에 대한 강력한 백 엔드를 제공하기 위해 다양한 구성 요소를 어셈블할 수 있습니다. 이 백 엔드는 프롬프트를 쉽게 입력하고 상호 작용 중에 신뢰할 수 있는 응답을 생성합니다. 그러나 이러한 모든 요소를 관리하고 제어하는 코드를 만들면 대부분의 솔루션에 문제가 발생할 수 있습니다.

Azure Logic Apps는 낮은 코드 접근 방식을 제공하고 백 엔드 프로세스를 간소화하기 위해 구성 요소로 사용하는 미리 빌드된 커넥터를 제공하여 백 엔드 관리를 간소화합니다. 이 방법을 사용하면 데이터를 소싱하고 검색 결과가 현재 및 관련 정보를 제공하는지 확인하는 데 집중할 수 있습니다. 이러한 AI 커넥터를 사용하면 워크플로는 AI 서비스와 통합하려는 다른 구성 요소 간에 데이터를 전송하는 오케스트레이션 엔진 역할을 합니다.

자세한 내용은 다음 리소스를 참조하세요.

필수 조건

  • Azure 계정 및 구독 Azure 구독이 없는 경우 체험 Azure 계정에 등록합니다.

  • 연결 정보를 포함하여 워크플로에 액세스하고 사용할 Azure AI Search 및 Azure OpenAI 리소스:

  • Azure OpenAI 및 Azure AI Search 리소스에 액세스하려는 논리 앱 워크플로입니다.

    이러한 서비스에 대한 커넥터는 현재 트리거가 아닌 작업만 제공합니다. Azure AI 커넥터 작업을 추가하려면 먼저 워크플로가 시나리오에 적합한 트리거로 시작하는지 확인합니다.

커넥터 기술 참조

소비 워크플로 에서 Azure OpenAIAzure AI Search 관리형 또는 "공유" 커넥터는 현재 미리 보기 상태이며 Microsoft Azure 미리 보기에 대한 추가 사용 약관의 적용을 받 습니다.

Azure OpenAI

Azure OpenAI 서비스는 GPT-4, GPT-4 Turbo with Vision, GPT-3.5-Turbo 및 Embeddings 모델 시리즈를 포함하는 OpenAI의 언어 모델에 대한 액세스를 제공합니다. Azure OpenAI 커넥터를 사용하면 워크플로가 Azure OpenAI 서비스에 연결하고 데이터에 대한 OpenAI 포함을 얻거나 채팅 완료를 생성할 수 있습니다.

자세한 내용은 Azure Copilot에 다음 질문을 하면 됩니다.

  • AI에 포함이란?
  • AI에서 채팅 완료란?

Azure Copilot을 찾으려면 Azure Portal 도구 모음에서 Copilot을 선택합니다.

Azure OpenAI 커넥터에는 논리 앱 유형 및 호스팅 모델에 따라 다른 버전이 있습니다.

논리 앱 환경 커넥터 버전
소비 다중 테넌트 Azure Logic Apps 공유 필터 아래 의 커넥터 갤러리에 표시되는 관리형 Azure 호스팅 커넥터입니다.

자세한 내용은 Azure OpenAI 관리 커넥터 참조를 참조하세요.
표준 단일 테넌트 Azure Logic Apps, App Service Environment v3(Windows 플랜에만 해당) 또는 자체 인프라인 하이브리드 배포 기본 제공 커넥터는 기본 제공 필터 아래의 커넥터 갤러리에 표시되고 서비스 공급자 기반입니다. 기본 제공 커넥터에는 다음과 같은 기능이 있습니다.

- 여러 인증 유형 지원

- 방화벽 뒤에 있는 Azure OpenAI에 대한 Azure 가상 네트워크 및 엔드포인트의 리소스에 직접 액세스합니다.

자세한 내용은 Azure OpenAI 기본 제공 커넥터 참조를 참조하세요.

Azure AI Search는 개발자가 대규모 언어 모델과 엔터프라이즈 데이터를 결합하여 풍부한 검색 환경 및 생성 AI 앱을 빌드할 수 있도록 도와주는 AI 기반 정보 검색을 위한 플랫폼입니다. Azure AI Search 커넥터를 사용하면 워크플로가 Azure AI Search에 연결하여 문서를 인덱싱하고 데이터에 대한 벡터 검색을 수행할 수 있습니다.

Azure AI Search 커넥터에는 논리 앱 유형 및 호스팅 모델에 따라 다른 버전이 있습니다.

논리 앱 환경 커넥터 버전
소비 다중 테넌트 Azure Logic Apps 공유 필터 아래 의 커넥터 갤러리에 표시되는 관리형 Azure 호스팅 커넥터입니다.

자세한 내용은 Azure AI Search 관리 커넥터 참조를 참조하세요.
표준 단일 테넌트 Azure Logic Apps, App Service Environment v3(Windows 플랜에만 해당) 또는 자체 인프라인 하이브리드 배포 기본 제공 커넥터는 기본 제공 필터 아래의 커넥터 갤러리에 표시되고 서비스 공급자 기반입니다. 기본 제공 커넥터에는 다음과 같은 기능이 있습니다.

- 여러 인증 유형 지원

- 방화벽 뒤에 있는 Azure OpenAI에 대한 Azure 가상 네트워크 및 엔드포인트의 리소스에 직접 액세스합니다.

자세한 내용은 Azure AI Search 기본 제공 커넥터 참조를 참조하세요.

인증

AI 관리형 커넥터는 인증을 위해 API 키가 필요합니다. 그러나 AI 기본 제공 커넥터는 AI 서비스 엔드포인트에 대해 여러 인증 유형을 지원합니다. 이러한 옵션은 대부분의 고객의 요구를 충족하는 강력한 인증을 제공합니다. 두 기본 제공 커넥터는 가상 네트워크 내부 또는 방화벽 뒤에 있는 Azure OpenAI 및 Azure AI Search 리소스에 직접 연결할 수도 있습니다.

다음 표에서는 AI 서비스 엔드포인트에 대한 URL을 제공해야 하는 기본 제공 커넥터 인증 옵션에 대해 설명합니다.

인증 유형 설명
URL 및 키 기반 인증 AI 서비스에서 생성한 API 키 또는 관리자를 제공합니다.
Active Directory OAuth (Microsoft Entra ID) Entra 테넌트, 클라이언트 ID 및 암호와 같은 정보를 제공하여 Entra 사용자로 인증합니다.
관리 ID AI 서비스 리소스 및 논리 앱 리소스에서 관리 ID 인증을 설정한 후 해당 ID를 사용하여 커넥터에 대한 액세스를 인증할 수 있습니다.

경고

항상 자격 증명, 비밀, 액세스 키, 연결 문자열, 인증서, 지문 및 보안 수준이 가장 높거나 지원되는 유사한 정보와 같은 중요한 개인 데이터를 보호하고 보호합니다.

인증 및 권한 부여의 경우 관리 IDMicrosoft Entra ID를 설정하거나 사용합니다. 이 솔루션은 Azure가 관리 ID를 처리하므로 자격 증명, 비밀, 액세스 키 등을 수동으로 제공하고 관리할 필요 없이 최적의 우수한 보안을 제공합니다. Azure Logic Apps용 관리 ID를 설정하려면 Azure Logic Apps에서 관리 ID를 사용하여 Azure 리소스에 대한 액세스 및 연결 인증을 참조하세요.

관리 ID를 사용할 수 없는 경우 사용 가능한 다음 최고 수준의 보안 솔루션을 선택합니다. 예를 들어 리소스, 서비스 또는 시스템에 액세스하는 데 필요한 정보가 포함된 연결 문자열을 사용해야 하는 경우 이 문자열에는 루트 암호와 유사한 액세스 키가 포함되어 있어야 합니다.

Microsoft Entra ID 및 Azure Key Vault를 사용하여 이러한 정보를 안전하게 저장해야 합니다. 이 정보를 하드 코딩하거나, 다른 사용자와 공유하거나, 다른 사용자가 액세스할 수 있는 모든 곳에 일반 텍스트로 저장하지 마세요. 비밀 정보가 손상되는 경우 이를 순환하거나 폐기할 계획을 수립합니다. 자세한 내용은 다음 리소스를 참조하세요.

자세한 내용은 다음 리소스를 참조하세요.

워크플로에 Azure OpenAI 또는 Azure AI Search 작업 추가

현재 Azure OpenAI 및 Azure AI Search용 커넥터는 트리거가 아닌 작업만 제공합니다. 시나리오 또는 요구 사항에 맞는 트리거를 사용하여 워크플로를 시작할 수 있습니다. 소비 또는 표준 워크플로가 있는지 여부에 따라 다음 일반적인 단계에 따라 Azure OpenAI, Azure AI Search 및 기타 작업에 대한 작업을 추가할 수 있습니다.

시나리오

다음 시나리오에서는 워크플로에서 AI 커넥터 작업을 사용할 수 있는 여러 가지 방법 중 두 가지만 설명합니다.

엔터프라이즈 데이터에 대한 기술 자료 만들기

Azure Logic Apps는 SharePoint, Oracle DB, Salesforce, OneDrive, Dropbox, SAP, IBM 등과 같은 거의 모든 데이터 원본과 안전하게 연결할 수 있도록 1,400개가 넘는 Microsoft 관리형 커넥터와 기본적으로 워크플로용 기본 제공 커넥터를 제공합니다. 각 커넥터는 워크플로에서 사용할 수 있도록 트리거, 작업 또는 둘 다를 포함하는 작업을 제공합니다.

예를 들어 여러 트리거 유형 중에서 선택하여 SharePoint 사이트에 새 문서 업로드와 같은 특정 이벤트를 기준으로 또는 일정에 따라 자동화된 워크플로를 실행할 수 있습니다. 선택할 수 있는 작업이 너무 많기 때문에 azure AI Search에서 이러한 문서에 대한 벡터 포함을 사용하여 기술 자료 만들고 문서 수집 파이프라인을 쉽게 빌드할 수 있습니다.

자세한 내용은 다음 리소스를 참조하세요.

완료 생성

Azure Logic Apps 워크플로는 입력을 수락할 수 있고 Azure OpenAI Service는 완료 작업을 수행할 수 있습니다. 이러한 기능은 워크플로가 실시간 질문을 수집하거나, 데이터에 대한 답변을 생성하거나, Azure OpenAI를 사용하여 자동화된 응답을 보낼 수 있음을 의미합니다. 확인을 위해 클라이언트 또는 승인 워크플로로 즉시 응답을 다시 보낼 수 있습니다.

자세한 내용은 다음 리소스를 참조하세요.

샘플 코드가 있는 예제 시나리오: 데이터 수집 및 채팅 상호 작용 만들기

이 표준 워크플로 예제에서는 Azure OpenAI 및 Azure AI Search 기본 제공 커넥터를 사용하여 데이터를 수집하고 간단한 채팅 대화를 수행하는 백 엔드 논리를 두 가지 주요 워크플로로 나누는 방법을 보여 줍니다. 성능을 향상시키려면 기본적으로 각 실행에 대한 기록을 저장하고 저장하지 않는 상태 비저장 워크플로를 만듭니다.

샘플 코드

수집된 데이터를 사용하여 채팅 만들기

기타 필수 구성 요소

  • 표준 논리 앱 워크플로

  • 샘플 코드 요구 사항을 참조하세요.

  • 다음 환경 간 매개 변수 값 은 이 예제의 워크플로 작업에서도 사용됩니다.

    매개 변수 이름 설명
    aisearch_admin_key Azure AI Search의 관리 키
    aisearch_endpoint Azure AI Search 예제의 엔드포인트 URL
    aisearch_index_name Azure AI Search 예제에 사용할 인덱스
    openapi_api_key Azure OpenAI에 대한 API 키
    openai_deployment_id Azure OpenAI 예제의 배포 ID
    openai_endpoint Azure OpenAI 예제의 엔드포인트 URL
    tokenize_function_url 데이터를 일괄 처리하고 토큰화하는 사용자 지정 Azure 함수의 URL입니다. 이 URL은 Azure OpenAI가 이 예제에 대한 포함을 올바르게 만드는 데 필요합니다.

    이 함수에 대한 자세한 내용은 "수집된 데이터를 사용하여 채팅 만들기"에 대한 샘플 코드를 참조하세요.

비디오: 논리 앱을 사용하여 AI 애플리케이션을 빌드하는 방법 알아보기

논리 앱을 사용하여 AI 애플리케이션을 빌드하는 방법 알아보기

데이터 수집 워크플로

수집 파이프라인을 빌드할 때 상당한 시간과 노력을 절약하려면 데이터 원본을 사용하여 다음 패턴을 구현합니다. 이 패턴은 단일 테넌트 Azure Logic Apps의 표준 워크플로에서 현재 제공하는 모든 이점과 이점을 캡슐화합니다.

이 패턴의 각 단계는 AI가 데이터 파일에서 모든 중요한 정보를 원활하게 추출할 수 있도록 합니다. 상태 비지정 워크플로로 실행하는 경우 이 패턴은 더 빠른 성능을 제공합니다. 이 방법은 코딩 측면뿐만 아니라 워크플로에 효과적인 인증, 모니터링 및 배포 프로세스가 적용되도록 보장합니다.

스크린샷은 데이터 수집 기능을 구현하는 Azure Portal, 표준 워크플로 디자이너 및 워크플로 작업을 보여줍니다.

단계 작업 기본 작업 설명
1 새 데이터를 확인합니다. HTTP 요청이 수신되는 경우 예약된 되풀이 또는 특정 이벤트에 대한 응답으로 새 데이터가 도착할 때까지 폴링하거나 기다리는 트리거입니다. 이러한 이벤트는 SharePoint, OneDrive 또는 Azure Blob Storage와 같은 특정 스토리지 시스템에 업로드되는 새 파일일 수 있습니다.

이 예제 에서 요청 트리거 작업은 다른 엔드포인트에서 보낸 HTTP 또는 HTTPS 요청을 기다립니다. 요청에는 업로드된 새 문서의 URL이 포함됩니다.
2 데이터 가져오기 HTTP(HTTP) 트리거 출력에서 파일 URL을 사용하여 업로드된 문서를 검색하는 HTTP 작업입니다.
3 문서 세부 정보를 작성합니다. 구성하다 다양한 항목을 연결하는 데이터 작업 작업입니다.

다음은 문서에 대한 키-값 정보를 연결하는 예제입니다.
4 토큰 문자열을 만듭니다. 문서 구문 분석 Compose 작업의 출력사용하여 토큰 문자열을 생성하는 데이터 작업 작업입니다.
5 콘텐츠 청크를 만듭니다. 청크 텍스트 콘텐츠 청크당 문자 또는 토큰 수에 따라 토큰 문자열을 조각으로 분할하는 데이터 작업 작업입니다.
6 토큰화된 데이터를 JSON으로 변환합니다. JSON 구문 분석 토큰 문자열 청크를 JSON 배열로 변환하는 데이터 작업 작업입니다.
7 JSON 배열 항목을 선택합니다. 선택 JSON 배열에서 여러 항목을 선택하는 데이터 작업 작업입니다.
8 (여덟) 포함을 생성합니다. 여러 포함 가져오기 각 JSON 배열 항목에 대한 포함을 만드는 Azure OpenAI 작업입니다.
9 포함 및 기타 정보를 선택합니다. 선택 포함 및 기타 문서 정보를 선택하는 데이터 작업 작업입니다.
10 데이터를 인덱싱합니다. 문서 인덱싱 선택한 각 포함을 기반으로 데이터를 인덱싱하는 Azure AI Search 작업입니다.

채팅 워크플로

벡터 데이터베이스가 계속해서 데이터를 수집함에 따라 사용자가 질문을 할 때 백 엔드 표준 논리 앱 워크플로가 프롬프트를 처리하고 신뢰할 수 있는 응답을 생성할 수 있도록 데이터를 쉽게 검색할 수 있는지 확인합니다.

다음 패턴은 채팅 워크플로의 모양을 보여 주는 한 가지 예일 뿐입니다.

스크린샷은 채팅 상호 작용을 구현하는 Azure Portal, 표준 워크플로 디자이너 및 워크플로 작업을 보여줍니다.

단계 작업 기본 작업 설명
1 입력 프롬프트를 기다립니다. HTTP 요청이 수신되는 경우 예약된 되풀이 또는 특정 이벤트에 대한 응답으로 새 데이터가 도착할 때까지 폴링하거나 기다리는 트리거입니다.

이 예제에서 요청 트리거는 고객의 질문을 대기하고 캡처합니다.
2 모델에 대한 입력 시스템 메시지입니다. 구성하다 모델 학습을 위한 입력을 제공하는 데이터 작업 작업입니다.
3 입력 샘플 질문 및 응답입니다. 구성하다 모델 학습을 위한 샘플 고객 질문 및 관련 역할을 제공하는 데이터 작업 작업입니다.
4 검색 쿼리에 대한 입력 시스템 메시지입니다. 구성하다 모델을 학습시키는 검색 쿼리 입력을 제공하는 데이터 작업 작업입니다.
5 검색 쿼리를 생성합니다. JavaScript 코드 실행 JavaScript를 사용하여 이전 Compose 작업의 출력에 따라 벡터 저장소에 대한 검색 쿼리를 만드는 인라인 코드 작업입니다.
6 쿼리를 포함으로 변환합니다. 채팅 완료 가져오기 채팅 완료 API에 연결하는 Azure OpenAI 작업으로, 채팅 대화에서 안정적인 응답을 보장합니다.

이 예제에서 작업은 검색 쿼리 및 역할을 모델에 대한 입력으로 허용하고 벡터 포함을 출력으로 반환합니다.
7 포함을 가져옵니다. 포함 가져오기 단일 벡터 포함을 가져오는 Azure OpenAI 작업입니다.
8 (여덟) 벡터 데이터베이스를 검색합니다. 검색 벡터 벡터 저장소에서 검색을 실행하는 Azure AI Search 작업입니다.
9 프롬프트를 만듭니다. JavaScript 코드 실행 JavaScript를 사용하여 프롬프트를 빌드하는 인라인 코드 작업입니다.
10 채팅 완료를 수행합니다. 채팅 완료 가져오기 채팅 완료 API에 연결하는 Azure OpenAI 작업으로, 채팅 대화에서 안정적인 응답을 보장합니다.

이 예제에서 작업은 프롬프트 및 역할을 모델에 대한 입력으로 허용하고 모델 생성 응답을 출력으로 반환합니다.
11 응답을 반환합니다. 응답 요청 트리거를 사용할 때 호출자에게 결과를 반환하는 요청 작업입니다.