다음을 통해 공유


프롬프트 흐름 시작

이 문서에서는 Azure Machine Learning 스튜디오에서 프롬프트 흐름을 사용하는 주요 사용자 경험을 안내합니다. Azure Machine Learning 작업 영역에서 프롬프트 흐름을 사용하도록 설정하고, 첫 번째 프롬프트 흐름을 만들어 개발하고, 테스트 및 평가한 다음, 프로덕션에 배포하는 방법을 알아봅니다.

필수 조건

  • 작업 영역의 기본 데이터 저장소가 Blob 형식인지 확인합니다.

  • 가상 네트워크를 사용하여 프롬프트 흐름을 보호하는 경우 프롬프트 흐름의 네트워크 격리에 따라 자세한 내용을 알아보세요.

연결 설정

먼저 연결을 설정해야 합니다.

연결은 LLM(Large Language Models) 및 기타 외부 도구(예: Azure Content Safety)와 상호 작용하는 데 필요한 비밀 키 또는 기타 중요한 자격 증명을 안전하게 저장하고 관리하는 데 도움이 됩니다.

프롬프트 흐름 홈페이지로 이동하여 연결 탭을 선택합니다. 연결은 작업 영역의 모든 멤버가 공유하는 리소스입니다. 따라서 공급자가 AzureOpenAI인 연결이 이미 표시되는 경우 이 단계를 건너뛰고 컴퓨팅 세션 시작으로 이동합니다.

아직 AzureOpenAI에 연결되지 않은 경우 만들기 단추를 선택한 다음 드롭다운에서 AzureOpenAI를 선택합니다.

만들기가 강조 표시된 연결 탭의 스크린샷.

그러면 오른쪽 패널이 나타납니다. 여기에서 저장 단추를 선택하기 전에 구독 및 리소스 이름을 선택하고, 연결 이름, API 키(인증 유형이 API 키와 같은 경우), API 기반, API 유형 및 API 버전을 제공해야 합니다. 프롬프트 흐름은 Azure OpenAI 리소스에 대한 ID 기반 인증의 인증 유형으로 Microsoft Entra ID도 지원합니다. 관리 ID를 사용하여 Azure OpenAI 서비스를 구성하는 방법에 대해 자세히 알아보세요.

추가된 Azure OpenAI 연결의 스크린샷.

API 키, 기본, 형식 및 버전을 가져오려면 Azure OpenAI 포털의 채팅 놀이터로 이동하여 코드 보기 단추를 선택합니다. 여기에서 필요한 정보를 복사하여 연결 만들기 패널에 붙여넣을 수 있습니다.

샘플 코드가 포함된 팝업을 표시하는 코드 보기 단추를 선택한 후 API 키가 강조 표시된 채팅 플레이그라운드의 스크린샷.

필수 필드를 입력한 후 저장을 선택하여 연결을 만듭니다.

프롬프트 흐름 만들기 및 개발

프롬프트 흐름 홈 페이지의 흐름 탭에서 만들기를 선택하여 첫 번째 프롬프트 흐름을 만듭니다. 갤러리에서 샘플을 복제하여 흐름을 만들 수 있습니다.

샘플에서 복제

기본 제공된 샘플이 갤러리에 표시됩니다.

이 가이드에서는 웹 분류 샘플을 사용하여 주요 사용자 경험을 안내합니다. 웹 분류 타일에서 세부 정보 보기를 선택하여 샘플을 미리 볼 수 있습니다. 그러면 미리 보기 창이 뜹니다. 샘플 소개를 찾아 샘플이 시나리오와 유사한지 확인할 수 있습니다. 또는 복제를 선택하여 샘플을 직접 복제한 다음 흐름을 확인할 수도 있습니다. 테스트하고 수정합니다.

웹 분류를 강조하는 갤러리에서 만들기 스크린샷.

복제를 선택하면 새 흐름이 만들어지고 작업 영역 파일 공유 스토리지 내의 특정 폴더에 저장됩니다. 오른쪽 패널에서 기본 설정에 따라 폴더 이름을 사용자 지정할 수 있습니다.

컴퓨팅 세션 시작

그런 다음 흐름 작성 페이지로 들어갑니다. 시작하기 전에 먼저 컴퓨팅 세션을 시작합니다.

컴퓨팅 세션은 필요한 모든 종속성 패키지가 포함된 Docker 이미지를 포함하여 애플리케이션을 실행하는 데 필요한 컴퓨팅 리소스 역할을 합니다. 흐름 실행에 꼭 필요한 요소입니다.

시작-컴퓨팅-세션 시작 스크린샷.

흐름 작성 페이지

컴퓨팅 세션이 시작되면 흐름 작성 페이지를 살펴볼 수 있습니다.

주요 작업 영역을 강조한 웹 분류 스크린샷.

작성 페이지의 왼쪽에는 흐름을 작성할 수 있는 기본 작업 영역인 평면화된 보기(예: 새 노드 추가, 프롬프트 편집, 흐름 입력 데이터 선택 등)가 있습니다.

오른쪽 위 모서리에는 흐름의 폴더 구조가 표시됩니다. 각 흐름에는 flow.dag.yaml 파일, 소스 코드 파일 및 시스템 폴더가 포함된 폴더가 있습니다. 테스트, 배포 또는 협업을 위해 흐름을 쉽게 내보내거나 가져올 수 있습니다.

평면 보기에서 노드를 인라인으로 편집하는 것 외에도 원시 파일 모드 토글을 켜고 파일 이름을 선택하여 파일 열기 탭에서 파일을 편집할 수도 있습니다.

원시 파일 모드의 파일 편집 탭 스크린샷

오른쪽 아래 모서리에서는 시각화 전용 그래프 보기가 표시됩니다. 확대, 축소, 자동 레이아웃 등을 수행할 수 있습니다.

이 가이드에서는 웹 분류 샘플을 사용하여 주요 사용자 경험을 안내합니다. 웹 분류는 LLM을 사용한 다중 클래스 분류를 보여 주는 흐름입니다. URL이 주어지면 몇 장의 샷, 간단한 요약 및 분류 프롬프트를 통해 URL을 웹 범주로 분류합니다. 예를 들어, "https://www.imdb.com/"이 지정되면 이 URL은 "영화"로 분류됩니다.

그래프 보기에서 샘플 흐름이 어떻게 보이는지 확인할 수 있습니다. 입력은 분류할 URL이고, Python 스크립트를 사용하여 URL에서 텍스트 콘텐츠를 가져오고, LLM을 사용하여 100단어 이내의 텍스트 콘텐츠를 요약한 다음, URL 및 요약된 텍스트 콘텐츠를 기반으로 분류하고 마지막으로 Python 스크립트를 사용하여 LLM 출력을 사전으로 변환합니다. prepare_examples 노드는 분류 노드의 프롬프트에 몇 가지 예를 제공하는 것입니다.

흐름 입력 데이터

입력 섹션을 펼치면 입력을 만들고 볼 수 있습니다. 아래 스크린샷에 표시된 웹 분류 샘플의 경우 흐름 입력은 문자열 형식의 URL입니다.

입력을 강조한 웹 분류 스크린샷.

입력 스키마(이름: url, 형식: 문자열) 및 값은 샘플 복제 시 이미 설정되어 있습니다. 다른 값(예: "https://www.imdb.com/")으로 수동으로 변경할 수 있습니다.

LLM 노드 설정

각 LLM 노드에 대해 LLM API 키를 설정하기 위한 연결을 선택해야 합니다.

연결 드롭다운을 보여 주는 웹 분류 스크린샷.

이 예제에서는 제공하는 프롬프트 예제가 채팅 API용이므로 API 유형이 채팅인지 확인합니다. 채팅 및 완료 API의 프롬프트 형식 차이를 알아보려면 흐름 개발을 참조하세요.

그런 다음 선택한 연결 형식에 따라 배포 또는 모델을 선택해야 합니다. Azure OpenAI 연결을 사용하는 경우 드롭다운에서 배포를 선택해야 합니다(배포가 없는 경우 Azure OpenAI를 사용하여 리소스 만들기 및 모델 배포에 따라 Azure OpenAI 포털에서 배포를 만듬). OpenAI 연결을 사용하는 경우 모델을 선택해야 합니다.

흐름에는 두 개의 LLM 노드(summarize_text_content 및 classify_with_llm)가 있으므로 각각에 대해 설정해야 합니다.

단일 노드 실행

단일 노드를 테스트하고 디버깅하려면 플랫 보기의 노드에서 실행 아이콘을 선택합니다. 실행 상태는 상단에 표시되며, 실행이 완료되면 노드 출력 섹션에서 출력을 확인합니다.

먼저 Python 노드를 실행한 후 출력을 확인하고, 다음으로 LLM 노드를 실행한 후 출력을 확인하는 것을 보여 주는 웹 분류 스크린샷.

fetch_text_content_from_url을 실행한 다음 summary_text_content를 실행하고 흐름이 웹에서 콘텐츠를 성공적으로 가져올 수 있는지 확인하고 웹 콘텐츠를 요약합니다.

단일 노드 상태는 그래프 보기에도 표시됩니다. 흐름 입력 URL을 변경하여 다양한 URL에 대한 노드 동작을 테스트할 수도 있습니다.

전체 흐름 실행

전체 흐름을 테스트하고 디버깅하려면 오른쪽 상단에 있는 실행 단추를 선택합니다.

전체 실행을 보여 주고 실행 단추가 강조 표시된 웹 분류 스크린샷.

그러면 각 노드의 실행 상태와 출력을 확인할 수 있습니다. 노드 상태는 그래프 보기에도 표시됩니다. 마찬가지로 흐름 입력 URL을 변경하여 흐름이 다양한 URL에 대해 어떻게 작동하는지 테스트할 수 있습니다.

흐름 출력 설정 및 확인

각 노드의 출력을 확인하는 대신 흐름 출력을 설정하고 여러 노드의 출력을 한 곳에서 확인할 수도 있습니다. 또한 흐름 출력은 다음과 같은 이점을 제공합니다.

  • 하나의 테이블에서 대량 테스트 결과 확인
  • 평가 인터페이스 매핑 정의
  • 배포 응답 스키마 설정

샘플을 복제하면 흐름 출력(범주 및 증거)이 이미 설정되어 있습니다.

배너에서 추적 보기 단추를 선택하면 자세한 입력, 출력, 흐름 실행 및 오케스트레이션 정보를 볼 수 있습니다. 흐름이 범주 및 증명 정보를 사용하여 입력 URL을 예측하는 것을 볼 수 있습니다.

작성 페이지에서 추적 보기 스크린샷.

 두 위치에 있는 출력 보기 단추의 스크린샷.

테스트 결과 보기를 선택하면 목록의 모든 테스트 기록을 확인할 수 있습니다.

출력 보기 단추를 보여 주는 웹 분류 스크린샷.

흐름 테스트 결과 스크린샷.

테스트 및 평가

단일 데이터 행을 사용하여 흐름을 성공적으로 실행한 후 대규모 데이터 집합에서 흐름이 제대로 작동하는지 테스트할 수 있습니다. 대량 테스트를 실행하고 몇 가지 평가 방법을 선택한 다음 메트릭을 확인할 수 있습니다.

데이터 준비

먼저 테스트 데이터를 준비해야 합니다. 현재 csv, tsv 및 jsonl 파일을 지원합니다.

GitHub로 이동하여 웹 분류 샘플의 골든 데이터 세트인 "data.csv"를 다운로드합니다.

Evaluate

실행 단추 옆에 있는 평가 단추를 선택하면 오른쪽 패널이 나타납니다. 일괄 실행 제출 및 평가 방법 선택(선택)을 안내하는 마법사입니다.​​​​​​​

일괄 처리 실행 이름, 설명을 설정한 다음 새 데이터 추가를 선택하여 다운로드한 데이터를 업로드해야 합니다. 데이터를 업로드한 후 또는 작업 영역의 동료가 이미 데이터 세트를 만든 경우 드롭다운에서 데이터 세트를 선택하고 처음 5개 행을 미리 볼 수 있습니다. 데이터 세트 선택 드롭다운은 검색 및 자동 제안을 지원합니다.

또한 입력 매핑은 흐름 입력을 데이터 세트의 특정 데이터 열에 매핑하는 것을 지원합니다. 즉, 열 이름이 일치하지 않더라도 모든 열을 입력으로 사용할 수 있습니다.

새 데이터 업로드를 강조 표시하는 일괄 실행 및 평가 스크린샷

다음으로, 하나 이상의 평가 방법을 선택합니다. 평가 방법은 정확도, 관련성 점수와 같은 메트릭을 계산하기 위해 Python 또는 LLM 등을 사용하는 흐름이기도 합니다. 기본 제공 평가 흐름과 사용자 지정된 평가 흐름이 페이지에 나열됩니다. 웹 분류는 분류 시나리오이므로 평가할 분류 정확도 평가를 선택하는 것이 적합합니다.

평가 메서드에서 일괄 처리 실행 및 평가를 보여 주는 웹 분류의 스크린샷.

기본 제공된 평가 방법에 대해 메트릭이 정의되는 방식에 관심이 있는 경우 자세한 내용을 선택하여 평가 흐름을 미리 볼 수 있습니다.

평가 방법으로 분류 정확도 평가를 선택한 후 참조 자료를 흐름 입력에, 예측을 흐름 출력에 매핑하도록 인터페이스 매핑을 설정할 수 있습니다.

평가 설정에 대한 일괄 실행 및 평가를 보여 주는 웹 분류 스크린샷

그런 다음, 검토+제출을 선택하여 일괄 실행 및 선택한 평가를 제출합니다.

결과 확인

실행이 성공적으로 제출되면 실행 목록 보기를 선택하여 이 흐름의 일괄 실행 목록으로 이동합니다.

일괄 실행을 완료하는 데 다소 시간이 걸릴 수 있습니다. 페이지를 새로 고쳐 최신 상태를 로드할 수 있습니다.

일괄 실행이 완료되면 실행을 선택한 다음, 출력을 시각화하여 일괄 실행 결과를 확인합니다. 출력 보기(눈 아이콘)를 선택하여 일괄 실행 결과 테이블에 평가 결과를 추가합니다. 총 토큰 수와 전체 정확도를 확인할 수 있습니다. 그런 다음, 표에서 각 데이터 행(입력, 흐름 출력 및 평가 결과)에 대한 결과를 볼 수 있습니다(올바르게 예측된 사례와 그렇지 않은 사례).

출력을 보기 위한 웹 분류 일괄 실행 세부 정보 페이지 스크린샷

열 너비를 조정하고, 열을 숨기거나 숨기기를 취소하고, 열 순서를 변경할 수 있습니다. 추가 조사를 위해 내보내기를 선택하여 출력 테이블을 다운로드할 수도 있습니다. 다음 두 가지 옵션이 제공됩니다.

  • 현재 페이지 다운로드: 현재 페이지에 있는 일괄 처리 실행 출력의 csv 파일입니다.
  • 모든 데이터 다운로드: 다운로드한 항목은 Jupyter Notebook 파일이며, jsonl 또는 csv 형식으로 출력을 다운로드하려면 실행해야 합니다.

아시다시피 정확도는 분류 작업을 평가할 수 있는 유일한 메트릭이 아닙니다. 예를 들어, 재현율을 사용하여 평가할 수도 있습니다. 이 경우 "출력 시각화" 단추 옆에 있는 평가를 선택하고 평가할 다른 평가 방법을 선택할 수 있습니다.

배포

흐름을 빌드하고 적절하게 테스트한 후에는 실시간 유추를 위해 엔드포인트를 호출할 수 있도록 엔드포인트로 흐름을 배포할 수 있습니다.

엔드포인트 구성:

일괄 처리 실행 링크를 선택한 다음, 일괄 처리 실행 세부 정보 페이지로 이동하여 배포를 선택합니다. 엔드포인트를 구성할 수 있는 마법사가 나타납니다. 엔드포인트 및 배포 이름을 지정하고, 가상 머신을 선택하고, 연결을 설정하고, 일부 설정을 수행하고(기본 설정을 사용할 수 있음), 검토 + 만들기를 선택하여 배포를 시작합니다.

엔드포인트 테스트

알림에서 엔드포인트 세부 정보 페이지로 이동하거나 스튜디오의 왼쪽 탐색에서 엔드포인트로 이동한 다음, 실시간 엔드포인트 탭에서 엔드포인트를 선택할 수 있습니다. 엔드포인트를 배포하는 데 몇 분 정도 걸립니다. 엔드포인트가 성공적으로 배포되면 테스트 탭에서 테스트할 수 있습니다.

입력 상자에 테스트할 URL을 입력하고 테스트를 선택하면 엔드포인트에서 예측한 결과가 표시됩니다.

리소스 정리

지금 방법 가이드를 계속 진행하고 여기에서 만든 리소스를 사용하려면 다음 단계로 건너뜁니다.

컴퓨팅 인스턴스 중지

지금 사용하지 않으려면 컴퓨팅 인스턴스를 중지합니다.

  1. 스튜디오의 왼쪽 탐색 영역에서 컴퓨팅을 선택합니다.
  2. 맨 위 탭에서 컴퓨팅 인스턴스를 선택합니다.
  3. 목록에서 컴퓨팅 인스턴스를 선택합니다.
  4. 맨 위의 도구 모음에서 중지를 선택합니다.

모든 리소스 삭제

사용자가 만든 리소스를 사용하지 않으려면 요금이 발생하지 않도록 해당 리소스를 삭제합니다.

  1. Azure Portal 맨 왼쪽에서 리소스 그룹을 선택합니다.
  2. 목록에서 만든 리소스 그룹을 선택합니다.
  3. 리소스 그룹 삭제를 선택합니다.

다음 단계

이제 흐름 개발, 테스트, 평가 및 배포와 관련된 내용을 알았으므로 다음 자습서에서 프로세스에 대해 자세히 알아봅니다.