적용 대상: Azure Logic Apps(사용량 + 표준)
엔터프라이즈 서비스, 시스템 및 데이터를 AI 기술과 통합하기 위해 논리 앱 워크플로는 이러한 통합 시나리오에 사용하는 Azure OpenAI 및 Azure 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 OpenAI 및 Azure 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 검색
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를 사용하여 커넥터에 대한 액세스를 인증할 수 있습니다. |
경고
항상 자격 증명, 비밀, 액세스 키, 연결 문자열, 인증서, 지문 및 보안 수준이 가장 높거나 지원되는 유사한 정보와 같은 중요한 개인 데이터를 보호하고 보호합니다.
인증 및 권한 부여의 경우 관리 ID로 Microsoft Entra ID를 설정하거나 사용합니다. 이 솔루션은 Azure가 관리 ID를 처리하므로 자격 증명, 비밀, 액세스 키 등을 수동으로 제공하고 관리할 필요 없이 최적의 우수한 보안을 제공합니다. Azure Logic Apps용 관리 ID를 설정하려면 Azure Logic Apps에서 관리 ID를 사용하여 Azure 리소스에 대한 액세스 및 연결 인증을 참조하세요.
관리 ID를 사용할 수 없는 경우 사용 가능한 다음 최고 수준의 보안 솔루션을 선택합니다. 예를 들어 리소스, 서비스 또는 시스템에 액세스하는 데 필요한 정보가 포함된 연결 문자열을 사용해야 하는 경우 이 문자열에는 루트 암호와 유사한 액세스 키가 포함되어 있어야 합니다.
Microsoft Entra ID 및 Azure Key Vault를 사용하여 이러한 정보를 안전하게 저장해야 합니다. 이 정보를 하드 코딩하거나, 다른 사용자와 공유하거나, 다른 사용자가 액세스할 수 있는 모든 곳에 일반 텍스트로 저장하지 마세요. 비밀 정보가 손상되는 경우 이를 순환하거나 폐기할 계획을 수립합니다. 자세한 내용은 다음 리소스를 참조하세요.
자세한 내용은 다음 리소스를 참조하세요.
- Azure AI 서비스에 대한 요청 인증
- Microsoft Entra ID란
- Azure 리소스에 대한 관리 ID란?
- Azure Logic Apps에서 관리 ID를 사용하여 Azure 리소스에 대한 액세스 인증
워크플로에 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가 데이터 파일에서 모든 중요한 정보를 원활하게 추출할 수 있도록 합니다. 상태 비지정 워크플로로 실행하는 경우 이 패턴은 더 빠른 성능을 제공합니다. 이 방법은 코딩 측면뿐만 아니라 워크플로에 효과적인 인증, 모니터링 및 배포 프로세스가 적용되도록 보장합니다.
단계 | 작업 | 기본 작업 | 설명 |
---|---|---|---|
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 작업입니다. |
채팅 워크플로
벡터 데이터베이스가 계속해서 데이터를 수집함에 따라 사용자가 질문을 할 때 백 엔드 표준 논리 앱 워크플로가 프롬프트를 처리하고 신뢰할 수 있는 응답을 생성할 수 있도록 데이터를 쉽게 검색할 수 있는지 확인합니다.
다음 패턴은 채팅 워크플로의 모양을 보여 주는 한 가지 예일 뿐입니다.
단계 | 작업 | 기본 작업 | 설명 |
---|---|---|---|
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 | 응답을 반환합니다. | 응답 | 요청 트리거를 사용할 때 호출자에게 결과를 반환하는 요청 작업입니다. |