Azure Logic Apps를 사용하여 에이전트 워크플로의 파일을 처리하는 Python 코드 실행(미리 보기)

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

비고

이 기능은 미리 보기로 제공되고 Microsoft Azure 미리 보기에 대한 보충 사용 약관이 적용됩니다.

표준 논리 앱에서 에이전트 워크플로는 에이전트 루프 작업을 사용하여 채팅 인터페이스를 통해 자연어 요청을 처리할 수 있을 뿐만 아니라 코드 인터프리터(Python Container Apps 세션) 기본 제공 커넥터 작업을 사용하여 에이전트 도구를 만들 때 파일을 처리할 수도 있습니다. 이러한 작업을 통해 에이전트 워크플로에서 Python 코드를 생성 및 실행하고 파일을 업로드, 다운로드 및 삭제할 수 있습니다. 시나리오 관점에서 에이전트 루프는 동일한 워크플로 내에서 지침을 수신하고, 파일을 수락하고, 격리된 환경에서 코드를 생성 및 실행하고, 요약, 예측 또는 기타 요청된 데이터 변환과 같은 사용 가능한 결과를 반환할 수 있습니다.

비고

이 가이드에서는 에이전트 워크플로를 사용하고 에이전트 루프에서 필요한 Python 코드를 생성할 수 있도록 에이전트 도구 내에서 코드 인터프리터 작업을 사용한다고 가정합니다.

다음 예제에서는 Sales Report Agent라는 에이전트 루프 작업이 있는 워크플로를 보여 줍니다. 에이전트 루프는 판매 데이터 업로드라는 도구를 사용하여 파일 업로드Python 코드 실행이라는 코드 인터프리터 작업을 실행할 수 있습니다.

스크린샷은 컨테이너 앱 세션 풀에 파일을 업로드하고 파일 처리를 위해 Python 코드를 실행하는 코드 인터프리터 작업을 사용하는 에이전트 루프 및 도구가 있는 워크플로를 보여줍니다.

워크플로가 요청 트리거를 통해 지정된 파일에 대한 HTTPS 요청을 받으면 HTTP 작업은 요청된 파일을 가져옵니다. 에이전트 루프에는 컨테이너 앱 세션 풀에 파일을 업로드하고, Python 코드를 생성하여 파일을 처리하고, 받은 지침에 따라 결과를 반환하는 지침이 있습니다.

비고

에이전트 루프 작업 외부 또는 표준 논리 앱의 비 에이전트 워크플로에서 코드 인터프리터(Python Container Apps 세션) 작업을 사용할 수 있습니다. 그러나 Python 코드 실행 작업에 사용할 고유한 Python 코드를 제공해야 합니다. 이러한 경우 코드 인터프리터 작업은 자연어 상호 작용 및 모델 생성 코드를 포함하는 에이전트 루프 연결 AI 모델에서 제공하는 에이전트 기능에 액세스할 수 없습니다.

에이전트 워크플로는 다양하거나 조각화된 데이터를 포함하고 CSV, Excel 또는 JSON과 같은 형식이 있는 파일을 처리할 수 있으며, 여기에는 수천~수백만 개의 행이 포함될 수 있습니다. 그러나 유용한 정보와 인사이트를 추출하려면 원시 데이터에 추가 작업이 필요한 경우가 많습니다. 예를 들면 다음과 같습니다.

  • 정리 및 변환
  • 인사이트를 추출하는 사용자 지정 논리
  • 데이터를 실행 가능하게 만드는 시각화 또는 요약

이러한 작업에는 특히 데이터 과학 또는 엔지니어링 전문 지식이 없는 사용자를 위해 오류가 발생하기 쉽고 시간이 많이 걸리는 수동으로 수행된 단계가 필요합니다. 워크플로는 코드 인터프리터(Python Container Apps 세션) 작업을 사용하여 이러한 작업을 자동화하고 코드 인터프리터 기능을 기본적으로 Azure Logic Apps 런타임에 직접 가져올 수 있습니다. Python 코드를 실행하는 작업은 Azure Container Apps 세션 풀에서 구동됩니다. Azure Container Apps의 동적 세션은 코드 인터프리터에 빠르고 확장 가능한 액세스를 제공합니다. 각 코드 해석기 세션은 Hyper-V 경계로 완전히 격리되며 신뢰할 수 없는 코드를 실행하도록 설계되었습니다. 앱 컨테이너에서 네트워크 격리를 사용하도록 설정하면 데이터가 정의된 네트워크 경계를 벗어나지 않습니다.

이러한 기능을 활용하면 다음 예제와 같은 시나리오를 사용할 수 있습니다.

Scenario 사용 사례
데이터 살펴보기 비즈니스 사용자는 자연어를 사용하여 한 줄의 코드를 작성하거나 스프레드시트를 수동으로 조작하지 않고도 데이터에 대해 질문하고 자연어를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

- "매출별로 상위 5개 제품을 찾아 줘."
- "지역별 다음 분기에 대한 수요를 예측해 줘."
- "구매 패턴에 따라 고객 세그먼트를 강조 표시해 줘."
Operations 대용량 로그 파일을 정리하고, 예외를 표시하고, 인사이트를 생성하여 안정성을 향상시킵니다.
금융 비용 보고서를 분석하거나, 변칙을 검색하거나, Excel 내보내기에서 분기별 분석을 생성합니다.
영업 및 마케팅 원시 판매 데이터를 업로드하고 주문형 요약, 예측 또는 지역별 비교 결과를 가져옵니다.

이 가이드에서는 에이전트 워크플로에서 다양한 코드 인터프리터(Python Container Apps 세션) 작업을 설정하고 사용하는 방법을 보여 줍니다.

필수 조건

  • Azure 계정 및 구독 무료 Azure 계정을 만듭니다.

  • Azure Container Apps의 컨테이너 앱 및 코드 인터프리터 세션 풀입니다.

    • 앱을 만들려면 빠른 시작: Azure Portal을 사용하여 첫 번째 컨테이너 앱 배포를 참조하세요. 데이터가 네트워크를 벗어나지 않도록 하려면 컨테이너 앱에서 네트워크 격리를 활성화합니다.

      자세한 내용은 다음 문서를 참조하세요.

    • 세션 풀을 만들려면 Azure Container Apps에서 세션 풀 만들기를 참조하세요. Azure Portal 또는 Azure CLI를 사용할 수 있습니다.

      중요합니다

      세션 풀 형식의 경우 Python 코드 인터프리터를 선택해야 합니다.

    • 선택 사항: Azure Portal을 사용하거나 HTTPS 요청을 전송하여 세션에 파일을 업로드할 수 있습니다. 그런 다음 Python 코드에서 파일을 데이터 원본으로 참조할 수 있습니다. 자세한 내용은 파일 업로드 - Azure Container Apps의 서버리스 코드 인터프리터 세션을 참조하세요. 그렇지 않으면 코드 인터프리터(Python Container Apps 세션) 커넥터에서 파일 업로드 작업을 사용할 수 있습니다.

      비고

      세션 풀에서 파일을 관리하거나 코드를 실행하려면 세션 풀에 Azure Container Apps 세션 실행기라는 Azure 기본 제공 역할이 있는지 확인합니다. 이 작업은 리소스에 대한 ID 액세스 권한 부여를 참조하세요.

      Azure Portal을 통해 파일을 업로드하려면 다음 단계를 수행합니다.

      1. Azure Portal에서 코드 인터프리터 세션 풀 리소스를 엽니다.

      2. 리소스 사이드바에서 플레이그라운드를 선택합니다.

      3. 플레이그라운드 도구 모음에서 파일 관리를 선택합니다.

        다음 예제에서는 플레이그라운드 도구 모음의 파일 관리 명령을 보여줍니다.

        스크린샷은 Container Apps 세션 풀 리소스, 플레이그라운드가 선택된 사이드바 메뉴, 파일 관리 명령이 선택된 플레이그라운드 도구 모음을 보여줍니다.

      4. 파일 관리 창에서 파일 업로드를 선택하고 업로드할 파일을 제공합니다.

  • 표준 논리 앱 리소스 및 에이전트 워크플로. 코드 생성에 사용할 기본 에이전트 작업과 AI 모델 간에 연결을 설정했는지 확인합니다.

    이 워크플로를 만들려면 AI 모델을 사용하여 Azure Logic Apps에서 작업을 완료하는 워크플로 만들기를 참조하세요.

    비고

    에이전트 워크플로는 요청 트리거로 시작해야 합니다. 코드 인터프리터(Python Container Apps 세션) 커넥터는 작업을 제공하지만 트리거는 제공하지 않습니다.

커넥터 기술 참조

이 커넥터의 작업에 대한 기술 정보는 커넥터의 참조 설명서를 참조하세요.

파일 업로드

  1. Azure Portal에서 표준 논리 앱 리소스를 엽니다.

  2. 리소스 사이드바의 워크플로에서 워크플로를 선택한 다음 에이전트 워크플로를 선택합니다.

  3. 워크플로 사이드바의 도구에서 디자이너를 선택하여 워크플로를 엽니다.

  4. 기본 에이전트 작업에서 일반 단계에 따라 도구를 만들고 파일 업로드라는 코드 인터프리터(Python Container Apps 세션) 작업을 추가합니다.

  5. 연결을 만들라는 메시지가 표시되면 연결 만들기 창에서 세션 풀에 대한 연결 정보를 제공합니다.

  6. 작업 정보 창에서 업로드할 입력 파일을 확장하고 다음 값을 제공합니다.

    매개 변수 가치 Description
    입력 파일 이름 < file-name> 파일에 할당할 이름입니다.
    입력 파일 콘텐츠 < 파일 콘텐츠> 업로드할 파일 콘텐츠의 경로입니다.

    다음 예제에서 워크플로는 REST를 호출하여 원본 위치에서 파일을 가져오는 HTTP 작업을 사용합니다. 에이전트 루프 작업에는 파일 이름 및 콘텐츠를 매개 변수로 사용하여 파일 업로드 작업을 사용하는 도구가 있습니다. 파일 이름은 수동 입력이지만 파일 콘텐츠는 이전 HTTP 작업의 출력을 참조합니다.

    파일을 가져오는 HTTP 작업과 세션 풀에 파일을 추가하는 파일 업로드 작업을 포함하는 에이전트 워크플로를 보여 주는 스크린샷.

  7. 업로드할 파일이 더 있는 경우 새 항목 추가를 선택합니다.

  8. 완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

Python 코드 실행

  1. Azure Portal에서 표준 논리 앱 리소스를 엽니다.

  2. 리소스 사이드바의 워크플로에서 워크플로를 선택한 다음 에이전트 워크플로를 선택합니다.

  3. 워크플로 사이드바의 도구에서 디자이너를 선택하여 워크플로를 엽니다.

  4. 기본 에이전트 작업의 경우 시나리오에 대한 에이전트 루프의 이름을 바꾸고 다음 단계를 수행합니다.

    1. 이전 섹션에서 파일 업로드 작업을 사용하여 도구를 만들었는지 여부에 따라 다음 옵션 중 하나를 선택합니다.

    2. 연결을 만들라는 메시지가 표시되면 연결 만들기 창에서 세션 풀에 대한 연결 정보를 제공합니다.

    3. 새 도구에서 일반 단계에 따라 모델 생성 출력에 대한 에이전트 매개 변수를 만듭니다.

      이 에이전트 매개 변수는 런타임 시 에이전트 연결 AI 모델에서 생성된 Python 코드를 Python 코드 실행 작업에 전달합니다.

      완료되면 Python 코드 실행 작업이 이제 Python 코드 상자에 다음 코드 참조를 표시합니다. @{agentParameters('python_code')}

      Python 코드 실행 작업 내의 에이전트 워크플로 및 코드 참조를 보여 주는 스크린샷

    4. 파일 업로드 작업에서 파일을 사용하는 Python 코드 실행 작업의 경우 다음 단계를 수행하여 세션 ID 매개 변수 값을 파일 업로드 작업의 세션 ID로 설정합니다.

      1. Python 코드 실행 작업의 고급 매개 변수 목록에서 세션 ID를 선택하여 이 매개 변수를 작업에 추가합니다.

      2. 입력 옵션을 표시하는 세션 ID 매개 변수 내에서 선택하고 동적 콘텐츠 옵션(번개 아이콘)을 선택합니다.

      3. 동적 콘텐츠 목록의 파일 업로드에서 세션 ID를 선택합니다.

      다음 예제에서는 파일 업로드 작업의 세션 ID로 설정된 세션 ID 매개 변수를 보여 줍니다.

      스크린샷은 Python 코드 실행 작업에 대한 고급 매개 변수 및 세션 ID 매개 변수를 보여줍니다.

    5. 도구의 용도나 작업을 설명하기 위해 도구 이름을 바꿉니다.

  5. 완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

연결 정보

다음 표에서는 Azure Container Apps에서 세션에 연결하는 데 필요한 정보를 설명합니다.

매개 변수 필수 가치 Description
연결 이름 Yes < 연결 이름> 연결을 식별하는 이름입니다.
연결 유형 Yes 관리되는 ID 연결에 사용할 인증입니다.

참고: 관리 ID 인증을 사용하려면 원하는 리소스에 액세스할 수 있는 표준 논리 앱에서 관리 ID를 설정해야 합니다. 세션 풀 리소스에서 Azure Container Apps 세션 실행기라는 역할로 관리 ID를 설정해야 합니다. 자세한 내용은 Azure Logic Apps에서 관리 ID를 사용하여 Azure 리소스에 대한 액세스 및 연결 인증을 참조하세요.
Subscription Yes < Azure-subscription> 사용할 Azure 구독입니다.
세션 풀 Yes < session-pool> Azure Container Apps의 세션 풀(예: fabrikam-session-pool (/fabrikam-session-pool)).