Share via


자습서: 데이터 채팅을 위한 웹앱 배포

참고 항목

Azure AI 스튜디오는 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

이 문서에서는 Azure OpenAI Service 모델과 함께 자체 데이터를 사용하는 채팅 웹앱을 배포합니다.

로컬 데이터 파일을 Azure Blob Storage에 업로드하고 Azure AI 검색 인덱스를 만듭니다. 데이터 원본은 특정 데이터로 모델을 구축하는 데 사용됩니다. 그라운딩은 모델이 데이터를 사용하여 질문의 컨텍스트를 이해하는 데 도움을 준다는 것을 의미합니다. 배포된 모델 자체는 변경되지 않습니다. 사용자의 데이터는 Azure 구독에 별도로 안전하게 저장됩니다. 자세한 내용은 데이터에 대한 Azure OpenAI를 참조하세요.

이 자습서의 단계는 다음과 같습니다.

  1. 데이터 없이 채팅 모델 배포 및 테스트
  2. 데이터 추가
  3. 데이터로 모델 테스트
  4. 웹앱 배포

필수 조건

  • Azure 구독 – 체험 구독을 만듭니다.

  • 원하는 Azure 구독의 Azure OpenAI에 대한 액세스 권한.

    현재 이 서비스에 대한 액세스 권한은 애플리케이션에서만 부여됩니다. https://aka.ms/oai/access에서 양식을 작성하여 Azure OpenAI에 대한 액세스를 신청할 수 있습니다. 문제가 있는 경우 이 리포지토리에서 문제를 엽니다.

  • Azure AI Studio의 Azure AI 허브 리소스프로젝트입니다.

  • 업로드하려면 데이터 예가 포함된 파일이 하나 이상 필요합니다. 이 자습서를 완료하려면 GitHub의 Azure/aistudio-copilot-sample 리포지토리에 있는 제품 정보 샘플을 사용합니다. 특히, product_info_11.md에는 이 자습서 예와 관련된 TrailWalker 하이킹 신발에 대한 제품 정보가 포함되어 있습니다. 파일을 다운로드하거나 해당 콘텐츠를 로컬 컴퓨터의 product_info_11.md 파일에 복사할 수 있습니다.

데이터 없이 채팅 모델 배포 및 테스트

채팅 모델을 배포하고 데이터 없이 테스트하려면 다음 단계를 따릅니다.

  1. Azure AI Studio에 로그인합니다.

  2. 프로젝트로 이동하거나 Azure AI Studio에서 새 프로젝트를 만듭니다.

  3. 상단 메뉴에서 빌드를 선택한 다음 배포>만들기>실시간 엔드포인트를 선택합니다.

    배포가 없는 배포 페이지의 스크린샷.

  4. 모델 선택 페이지의 모델 드롭다운에서 배포하려는 모델을 선택합니다. 예를 들어, gpt-35-turbo-16k를 선택합니다. 그런 다음 확인을 선택합니다.

    모델 선택 페이지의 스크린샷.

  5. 모델 배포 페이지에서 배포 이름을 입력한 다음 배포를 선택합니다. 배포가 만들어지면 배포 세부 정보 페이지가 표시됩니다. 세부 정보에는 배포를 만든 날짜와 배포한 모델의 만든 날짜 및 버전이 포함됩니다.

  6. 이전 단계의 배포 세부 정보 페이지에서 플레이그라운드에서 열기를 선택합니다.

    GPT 채팅 배포 세부 정보 스크린샷.

  7. 플레이그라운드의 모드 드롭다운에서 채팅이 선택되어 있는지 확인합니다. 배포 드롭다운에서 배포된 GPT 채팅 모델을 선택합니다.

    채팅 모드와 모델이 선택된 채팅 플레이그라운드의 스크린샷.

  8. 도우미 설정 창의 시스템 메시지 텍스트 상자에 다음 프롬프트를 입력하여 도우미를 안내합니다. "You're an AI assistant that helps people find information.(당신은 사람들이 정보를 찾을 수 있도록 도와주는 AI 도우미입니다.)" 시나리오에 맞게 프롬프트를 조정할 수 있습니다.

  9. 변경 내용 적용을 선택하여 변경 내용을 저장하고 시스템 메시지를 업데이트할지 묻는 프롬프트가 표시되면 계속을 선택합니다.

  10. 채팅 세션 창에 "TrailWalker 하이킹 신발은 얼마인가요?"라는 질문을 입력한 후 오른쪽 화살표 아이콘을 선택하여 보냅니다.

    기초가 되는 데이터가 없는 첫 번째 채팅 질문의 스크린샷.

  11. 도우미가 답을 모른다고 대답합니다. 이는 모델이 TrailWalker 하이킹 신발에 대한 제품 정보에 액세스할 수 없기 때문입니다.

    기초가 되는 데이터가 없는 도우미의 회신 스크린샷.

다음 섹션에서는 제품에 대한 질문에 답하는 데 도움이 되도록 모델에 데이터를 추가합니다.

데이터 추가

도우미가 제품에 대한 질문에 답할 수 있도록 데이터를 플레이그라운드에 추가하려면 다음 단계를 따릅니다. 배포된 모델 자체는 변경되지 않습니다. 사용자의 데이터는 Azure 구독에 별도로 안전하게 저장됩니다.

Important

Azure AI 스튜디오 플레이그라운드의 "데이터 추가" 기능은 다음 리소스에서 가상 네트워크 또는 프라이빗 엔드포인트 사용을 지원하지 않습니다.

  • Azure AI 검색
  • Azure OpenAI
  • 스토리지 리소스
  1. 아직 플레이그라운드에 있지 않다면 상단 메뉴에서 빌드를 선택한 다음 축소 가능한 왼쪽 메뉴에서 플레이그라운드를 선택합니다.

  2. 도우미 설정 창에서 데이터 추가(미리 보기)>+ 데이터 원본 추가를 선택합니다.

    데이터 원본을 추가하는 옵션이 표시된 채팅 플레이그라운드의 스크린샷.

  3. 표시되는 데이터 원본 선택 또는 추가 페이지의 데이터 원본 선택 드롭다운에서 파일 업로드를 선택합니다.

    데이터 원본 선택 옵션의 스크린샷.

    데이터 원본 옵션과 지원되는 파일 형식 및 형식은 데이터에 대한 Azure OpenAI를 참조하세요.

  4. 데이터 소스 세부 정보를 입력합니다.

    파일 업로드에 필요한 리소스 및 정보의 스크린샷.

    참고 항목

    Azure OpenAI는 데이터에 액세스하고 인덱싱하기 위해 스토리지 리소스와 검색 리소스가 모두 필요합니다. 사용자의 데이터는 Azure 구독에 안전하게 저장됩니다.

    • 구독: 사용하려는 Azure OpenAI 리소스가 포함된 Azure 구독을 선택합니다.
    • 스토리지 리소스: 파일을 업로드하려는 Azure Blob Storage 리소스를 선택합니다.
    • 데이터 원본: 기존 Azure AI 검색 인덱스, Azure Storage 컨테이너를 선택하거나 그라운딩 데이터를 빌드할 원본으로 로컬 파일을 업로드합니다. 사용자의 데이터는 Azure 구독에 안전하게 저장됩니다.
    • 인덱스 이름: 그라운딩에 사용되는 인덱스가 만들어지는 Azure AI 검색 리소스를 선택합니다. 데이터 수집이 완료된 후 제공된 이름의 새 검색 인덱스가 생성됩니다.
  5. Azure AI 검색 리소스를 선택하고, 연결하면 계정에서 사용량이 발생한다는 데에 확인을 선택합니다. 그런 후 다음을 선택합니다.

  6. 파일 업로드 창에서 파일 찾아보기를 선택하고 업로드할 파일을 선택합니다. 이전에 다운로드했거나 만든 product_info_11.md 파일을 선택합니다. 필수 조건을 참조하세요. 두 개 이상의 파일을 업로드하려면 지금 업로드합니다. 나중에 동일한 플레이그라운드 세션에서 더 많은 파일을 추가할 수 없습니다.

  7. 업로드를 선택하여 Azure Blob Storage 계정에 파일을 업로드합니다. 그런 후 다음을 선택합니다.

    파일을 선택하고 업로드하는 대화 상자의 스크린샷.

  8. 데이터 관리 창의 검색 유형 아래에서 키워드를 선택합니다. 이 설정은 모델이 요청에 응답하는 방식을 결정하는 데 도움이 됩니다. 그 후 다음을 선택합니다.

    참고 항목

    데이터 원본 선택 또는 추가 페이지에 벡터 검색을 추가한 경우 추가 비용을 지불하면 여기에서 더 많은 옵션을 사용할 수 있습니다. 자세한 내용은 데이터에 대한 Azure OpenAI를 참조하세요.

  9. 입력한 세부 정보를 검토하고 저장 및 닫기를 선택하세요. 이제 모델과 채팅할 수 있으며 모델은 데이터의 정보를 사용하여 응답을 구성합니다.

    데이터 추가를 위한 검토 및 완료 페이지의 스크린샷.

  10. 이제 도우미 설정 창에서 데이터 수집이 진행 중인 것을 확인할 수 있습니다. 계속하기 전에 상태 대신 데이터 원본과 인덱스 이름이 표시될 때까지 기다리세요.

    데이터 수집 상태가 표시된 채팅 플레이그라운드의 스크린샷.

  11. 이제 이전과 동일한 질문("TrailWalker 하이킹 신발은 얼마인가요?")을 묻는 모델과 채팅할 수 있으며, 이번에는 데이터 정보를 사용하여 응답을 구성합니다. 참조 단추를 확장하여 사용된 데이터를 볼 수 있습니다.

    기초가 되는 데이터가 포함된 도우미의 회신 스크린샷.

웹앱 배포

Azure AI Studio 환경에 만족하면 모델을 독립 실행형 웹 애플리케이션으로 배포할 수 있습니다.

Azure Portal에서 리소스 그룹 찾기

이 자습서에서는 웹앱이 Azure AI 허브 리소스와 동일한 리소스 그룹에 배포됩니다. 나중에 Azure Portal에서 웹앱에 대한 인증을 구성합니다.

Azure AI Studio에서 Azure Portal의 리소스 그룹으로 이동하려면 다음 단계를 따릅니다.

  1. Azure AI Studio의 상단 메뉴에서 관리를 선택한 다음 세부 정보를 선택합니다. Azure AI 허브 리소스가 여러 개 있는 경우 세부 정보를 보려면 사용하려는 리소스를 선택합니다.

  2. 리소스 구성 창에서 리소스 그룹 이름을 선택하여 Azure Portal에서 리소스 그룹을 엽니다. 이 예에서 리소스 그룹 이름은 rg-docsazureairesource입니다.

    Azure AI 스튜디오의 리소스 그룹 스크린샷.

  3. 이제 Azure Portal에서 Azure AI 허브 리소스를 배포한 리소스 그룹의 콘텐츠를 볼 수 있습니다.

    Azure Portal의 리소스 그룹 스크린샷.

    나중에 다시 돌아올 수 있도록 이 페이지를 브라우저 탭에 열어 두세요.

웹앱 배포

게시하면 구독에 Azure App Service가 만들어집니다. 선택한 계획에 따라 비용이 발생할 수 있습니다. 앱 사용이 완료되면 Azure Portal에서 삭제할 수 있습니다.

웹앱을 배포하려면 다음 안내를 따릅니다.

  1. 플레이그라운드에 데이터를 추가하려면 이전 섹션의 단계를 완료합니다.

    참고 항목

    자체 데이터가 있든 없든 웹앱을 배포할 수 있지만 최소한 데이터 없이 채팅 모델 배포 및 테스트에 설명된 대로 배포된 모델이 필요합니다.

  2. 배포>새 웹앱을 선택합니다.

    새 웹앱 배포 단추의 스크린샷.

  3. 웹앱에 배포 페이지에서 다음 세부 정보를 입력합니다.

    • 이름: 웹앱의 고유한 이름입니다.
    • 구독: Azure 구독.
    • 리소스 그룹: 웹앱을 배포할 리소스 그룹을 선택합니다. Azure AI 허브 리소스와 동일한 리소스 그룹을 사용할 수 있습니다.
    • 위치: 웹앱을 배포할 위치를 선택합니다. Azure AI 허브 리소스와 동일한 위치를 사용할 수 있습니다.
    • 계획: 웹앱에 대한 계획을 선택합니다.
    • 웹앱에서 채팅 기록 사용하도록 설정: 자습서에서는 채팅 기록 상자가 선택되지 않습니다. 이 기능을 사용하도록 설정하면 사용자는 이전의 개별 쿼리 및 응답에 액세스할 수 있습니다. 자세한 내용은 채팅 기록 설명을 참조하세요.
    • 웹앱에서 내 계정에 사용량이 발생한다는 것을 인정합니다. 선택됨
  4. 앱이 배포될 때까지 기다리세요. 몇 분 정도 걸릴 수 있습니다.

    웹앱 배포가 진행 중이라는 알림이 있는 플레이그라운드의 스크린샷.

  5. 준비가 되면 도구 모음에서 시작 단추가 사용하도록 설정됩니다. 하지만 아직 앱을 시작하지 말고 나중에 다시 돌아올 수 있도록 플레이그라운드 페이지를 닫지 마세요.

웹앱 인증 구성

기본적으로 웹앱은 본인만 액세스할 수 있습니다. 이 자습서에서는 인증을 추가하여 앱에 대한 액세스를 Azure 테넌트 멤버로 제한합니다. 사용자가 앱에 액세스하려면 Microsoft Entra 계정으로 로그인하라는 메시지가 표시됩니다. 원하는 경우 유사한 프로세스에 따라 다른 ID 공급자를 추가할 수 있습니다. 앱은 사용자가 테넌트의 멤버인지 확인하는 것 이외의 다른 방법으로 사용자의 로그인 정보를 사용하지 않습니다.

  1. Azure Portal이 포함된 브라우저 탭으로 돌아가거나 새 브라우저 탭에서 Azure Portal을 다시 열고 Azure AI 허브 리소스 및 웹앱을 배포한 리소스 그룹의 콘텐츠를 확인합니다(웹앱을 보려면 보기를 새로 고쳐야 할 수도 있음).

  2. 리소스 그룹의 리소스 목록에서 App Service 리소스를 선택합니다.

  3. 설정 아래 축소 가능한 왼쪽 메뉴에서 인증을 선택합니다.

    Azure Portal 설정 아래의 웹앱 인증 메뉴 항목 스크린샷.

  4. 다음 설정으로 ID 공급자를 추가합니다.

    • ID 공급자: Microsoft를 ID 공급자로 선택합니다. 이 페이지의 기본 설정은 앱을 테넌트로만 제한하므로 여기에서 다른 항목을 변경할 필요가 없습니다.
    • 테넌트 형식: 인력
    • 앱 등록: 새 앱 등록 만들기
    • 이름: 웹앱 서비스의 이름
    • 지원되는 계정 유형: 현재 테넌트 - 단일 테넌트
    • 액세스 제한: 인증 필요
    • 인증되지 않은 요청: HTTP 302 리디렉션 찾음 - 웹 사이트에 권장됨

웹 앱 사용

거의 완료되었습니다! 이제 웹앱을 테스트할 수 있습니다.

  1. 인증 설정이 적용될 때까지 10분 정도 기다립니다.

  2. Azure AI 스튜디오의 플레이그라운드 페이지가 포함된 브라우저 탭으로 돌아갑니다.

  3. 시작을 선택하여 배포된 웹앱을 시작합니다. 메시지가 표시되면 권한 요청을 수락합니다.

    인증 설정이 아직 적용되지 않은 경우 웹앱의 브라우저 탭을 닫고 Azure AI 스튜디오의 플레이그라운드 페이지로 돌아갑니다. 그런 다음 조금 더 기다렸다가 다시 시도하세요.

  4. 웹앱에서 이전과 동일한 질문("TrailWalker 하이킹 신발은 얼마인가요?")을 물을 수 있으며, 이번에는 데이터 정보를 사용하여 응답을 구성합니다. 참조 단추를 확장하여 사용된 데이터를 볼 수 있습니다.

    배포된 웹앱을 통한 채팅 환경의 스크린샷.

리소스 정리

불필요한 Azure 비용이 발생하지 않도록 하려면 이 빠른 시작에서 만든 리소스가 더 이상 필요하지 않은 경우 삭제해야 합니다. 리소스를 관리하려면 Azure Portal을 사용할 수 있습니다.

설명

채팅 기록

채팅 기록 기능을 사용하면 사용자는 이전 개별 쿼리 및 응답에 액세스할 수 있습니다.

웹앱을 배포할 때 채팅 기록을 사용하도록 설정할 수 있습니다. 웹앱에서 채팅 기록 사용 확인란을 선택합니다.

웹앱을 배포할 때 채팅 기록을 사용하도록 설정하는 옵션의 스크린샷.

Important

채팅 기록을 사용하도록 설정하면 리소스 그룹에 Cosmos DB 인스턴스가 생성되고 사용된 스토리지에 대한 추가 요금이 발생합니다. 웹앱을 삭제해도 Cosmos DB 인스턴스가 자동으로 삭제되지는 않습니다. 모든 저장된 채팅과 함께 Cosmos DB 인스턴스를 삭제하려면 Azure Portal에서 연결된 리소스로 이동한 후 삭제해야 합니다.

채팅 기록을 사용하도록 설정하면 앱의 오른쪽 위 모서리에서 채팅 기록을 표시 및 숨길 수 있습니다. 기록이 표시되면 대화의 이름을 바꾸거나 삭제할 수 있습니다. 앱에 로그인하면 대화가 자동으로 최신에서 가장 오래된 것까지 정렬되고 대화의 첫 번째 쿼리에 따라 이름이 지정됩니다.

Cosmos DB 리소스를 삭제하지만 스튜디오에서 채팅 기록 옵션을 사용하도록 설정한 상태로 유지하면 연결 오류 알림이 표시되지만 채팅 기록에 액세스하지 않고 웹앱을 계속 사용할 수 있습니다.

다음 단계