Azure OpenAI 서비스 시작
Azure OpenAI Service는 OpenAI에서 개발한 생성 AI 모델을 Azure 플랫폼에 제공하여 Azure 클라우드 플랫폼에서 제공하는 서비스의 보안, 확장성 및 통합의 이점을 활용하는 강력한 AI 솔루션을 개발할 수 있도록 합니다. 이 연습에서는 서비스를 Azure 리소스로 프로비저닝하고 Azure OpenAI 스튜디오를 사용하여 생성형 AI 모델을 배포 및 탐색함으로써 Azure OpenAI를 시작하는 방법을 알아봅니다.
이 연습의 시나리오에서 생성형 AI를 사용하여 마케팅 조직이 고객에게 접근하고 신제품을 보급하는 효율성을 개선하는 데 도움을 줄 수 있는 AI 에이전트를 구현하는 임무를 맡은 소프트웨어 개발자의 역할을 수행하게 됩니다. 연습에 사용된 기술은 조직이 생성형 AI 모델을 사용하여 직원의 효율성과 생산성을 향상시키려는 모든 시나리오에 적용할 수 있습니다.
이 연습에는 약 30분이 소요됩니다.
Azure OpenAI 리소스 프로비전
아직 없는 경우 Azure 구독에서 Azure OpenAI 리소스를 프로비전합니다.
https://portal.azure.com
에서 Azure Portal에 로그인합니다.- 다음 설정을 사용하여 Azure OpenAI 리소스를 만듭니다.
- 구독: Azure OpenAI 서비스에 대한 액세스가 승인된 Azure 구독 선택
- 리소스 그룹: 리소스 그룹 선택 또는 만들기
- 지역: 다음 지역 중 하나를 임의로 선택합니다.*
- 오스트레일리아 동부
- 캐나다 동부
- 미국 동부
- 미국 동부 2
- 프랑스 중부
- 일본 동부
- 미국 중북부
- 스웨덴 중부
- 스위스 북부
- 영국 남부
- 이름: ‘원하는 고유한 이름’**
- 가격 책정 계층: 표준 S0
* Azure OpenAI 리소스는 지역 할당량에 따라 제한됩니다. 나열된 지역에는 이 연습에 사용된 모델 형식에 대한 기본 할당량이 포함되어 있습니다. 지역을 임의로 선택하면 다른 사용자와 구독을 공유하는 시나리오에서 단일 지역이 할당량 한도에 도달할 위험이 줄어듭니다. 연습 후반부에 할당량 한도에 도달하는 경우 다른 지역에서 다른 리소스를 만들어야 할 수도 있습니다.
- 배포가 완료될 때까지 기다립니다. 그런 다음, Azure Portal에서 배포된 Azure OpenAI 리소스로 이동합니다.
모델 배포
Azure는 모델을 배포, 관리 및 탐색하는 데 사용할 수 있는 Azure AI Foundry 포털이라는 웹 기반 포털을 제공합니다. Azure AI Foundry 포털을 사용하여 모델을 배포함으로써 Azure OpenAI 탐색을 시작합니다.
참고: Azure AI Foundry 포털을 사용하면 수행할 작업을 제안하는 메시지 상자가 표시될 수 있습니다. 이를 닫고 이 연습의 단계를 따를 수 있습니다.
- Azure Portal의 Azure OpenAI 리소스에 대한 개요 페이지에서 시작 섹션까지 아래로 스크롤하여 AI Foundry 포털(이전에는 AI 스튜디오)로 이동하는 단추를 선택합니다.
- Azure OpenAI Foundry 의 왼쪽 창에서 배포 페이지를 선택하고 기존 모델 배포를 확인합니다. 아직 없는 경우 다음 설정을 사용하여 gpt-4o 모델의 새 배포를 생성합니다.
- 배포 이름: ‘원하는 고유한 이름’**
- 모델: gpt-4o
- 모델 버전: 기본 버전 사용
- 배포 유형: 표준
- 분당 토큰 속도 제한: 5K*
- 콘텐츠 필터: 기본값
- 동적 할당량 사용: 사용할 수 없음
* 분당 5,000개 토큰의 속도를 제한하더라도 동일한 구독을 사용하는 다른 사용자에게 용량을 남겨두면서 이 연습을 충분히 완료할 수 있습니다.
채팅 플레이그라운드 사용
이제 모델을 배포했으므로 이를 사용하여 자연어 프롬프트를 기반으로 응답을 생성할 수 있습니다. Azure AI 파운드리 포털의 채팅 플레이그라운드는 GPT 4 이상 모델에 대한 챗봇 인터페이스를 제공합니다.
참고: 채팅 플레이그라운드는 완료 플레이그라운드에서 사용되는 이전 완료 API 대신 ChatCompletions API를 사용합니다. 완료 플레이그라운드는 이전 모델과의 호환성을 위해 제공됩니다.
- 플레이그라운드 섹션에서 채팅 페이지를 선택합니다. 채팅 플레이그라운드 페이지는 단추 행과 두 가지 기본 패널로 구성됩니다(화면 해상도에 따라 오른쪽에서 왼쪽으로 수평으로 배열되거나 위에서 아래로 수직으로 배열될 수 있음).
- 구성 - 배포를 선택하고, 시스템 메시지를 정의하고, 배포와 상호 작용하기 위한 매개 변수를 설정하는 데 사용됩니다.
- 채팅 세션 - 채팅 메시지를 제출하고 응답을 보는 데 사용됩니다.
- 배포에서 gpt-4o 모델 배포가 선택되어 있는지 확인합니다.
- 기본 시스템 메시지를 검토합니다. 이 메시지는 당신은 사람들이 정보를 찾을 수 있도록 도와주는 AI 도우미입니다로 표시되어야 합니다. 시스템 메시지는 모델에 제출된 프롬프트에 포함되며 모델의 응답에 대한 컨텍스트를 제공합니다. 모델을 기반으로 하는 AI 에이전트가 사용자와 상호 작용하는 방식에 대한 예상 결과치를 설정합니다.
-
채팅 세션 패널에서 사용자 쿼리
How can I use generative AI to help me market a new product?
입력참고: API 배포가 아직 준비되지 않았다는 응답을 받을 수 있습니다. 그렇다면 몇 분 정도 기다렸다가 다시 시도합니다.
- 응답을 검토하여 모델이 프롬프트된 쿼리와 관련된 응집력 있는 자연어 답변을 생성했음을 확인합니다.
- 사용자 쿼리
What skills do I need if I want to develop a solution to accomplish this?
를 입력합니다. - 응답을 검토하여 채팅 세션이 대화 컨텍스트를 보존했음을 확인합니다(따라서 “this”는 마케팅을 위한 생성형 AI 솔루션으로 해석됨). 이러한 컨텍스트화는 각 연속 프롬프트 제출에 최근 대화 기록을 포함함으로써 달성됩니다. 따라서 두 번째 쿼리에 대한 모델로 전송된 프롬프트에는 원래 쿼리와 응답은 물론 새 사용자 입력도 포함되었습니다.
- 채팅 세션 패널 도구 모음에서 채팅 지우기를 선택하고 채팅 세션을 다시 시작할 것인지 확인합니다.
- 쿼리
Can you help me find resources to learn those skills?
를 입력하고 응답을 검토합니다. 이는 유효한 자연어 답변이어야 하지만, 이전 채팅 기록이 손실되었기 때문에 생성형 AI 마케팅 솔루션을 빌드하는 데 필요한 특정 기술과 관련된 것이 아니라 일반적인 기술 리소스를 찾는 것이 답변일 가능성이 높습니다.
시스템 메시지, 프롬프트 및 퓨샷 예 실험
지금까지 기본 시스템 메시지를 기반으로 모델과 채팅 대화에 참여했습니다. 모델에서 생성된 응답 종류를 더 효과적으로 제어할 수 있도록 시스템 설정을 사용자 지정할 수 있습니다.
- 기본 도구 모음에서 프롬프트 샘플을 선택하고 마케팅 작성 도우미 프롬프트 템플릿을 사용합니다.
- AI 에이전트가 모델을 사용하여 응답하는 방법을 설명하는 새로운 시스템 메시지를 검토합니다.
- 채팅 세션 패널에 사용자 쿼리
Create an advertisement for a new scrubbing brush
를 입력합니다. -
수세미에 대한 광고 문구를 포함해야 하는 응답을 검토합니다. 이 문구는 상당히 광범위하고 창의적일 수 있습니다.
실제 시나리오에서 마케팅 전문가는 이미 수세미 제품의 이름을 알고 있을 뿐만 아니라 광고에서 강조 표시해야 할 주요 기능에 대한 몇 가지 아이디어도 갖고 있을 것입니다. 생성형 AI 모델에서 가장 유용한 결과를 가져오려면 사용자는 관련 정보를 최대한 많이 포함하도록 프롬프트를 설계해야 합니다.
- 프롬프트
Revise the advertisement for a scrubbing brush named "Scrubadub 2000", which is made of carbon fiber and reduces cleaning times by half compared to ordinary scrubbing brushes
를 입력합니다. -
수세미 제품에 대해 제공한 추가 정보를 고려해야 하는 응답을 검토합니다.
이제 응답이 더욱 유용해졌지만 모델의 출력을 더욱 효과적으로 제어하려면 응답의 기반이 되는 하나 이상의 퓨샷 예를 제공할 수 있습니다.
-
시스템 메시지 텍스트 상자에서 추가 섹션의 드롭다운을 확장하고 예제를 선택합니다. 그런 다음 지정된 상자에 다음 메시지와 응답을 입력합니다.
사용자:
Write an advertisement for the lightweight "Ultramop" mop, which uses patented absorbent materials to clean floors.
도우미:
Welcome to the future of cleaning! The Ultramop makes light work of even the dirtiest of floors. Thanks to its patented absorbent materials, it ensures a brilliant shine. Just look at these features: - Lightweight construction, making it easy to use. - High absorbency, enabling you to apply lots of clean soapy water to the floor. - Great low price. Check out this and other products on our website at www.contoso.com.
- 예를 저장하고 새 세션을 시작하려면 변경 내용 적용 단추를 사용합니다.
- 채팅 세션 섹션에 사용자 쿼리
Create an advertisement for the Scrubadub 2000 - a new scrubbing brush made of carbon fiber that reduces cleaning time by half
를 입력합니다. - 시스템 설정에 제공된 “Ultramop” 예를 모델로 한 “Scrubadub 2000”에 대한 새 광고여야 하는 응답을 검토합니다.
매개 변수 실험
시스템 메시지, 예 및 프롬프트가 모델에서 반환된 응답을 구체화하는 데 어떻게 도움이 될 수 있는지 살펴보았습니다. 매개 변수를 사용하여 모델 동작을 제어할 수도 있습니다.
- 구성 패널에서 매개 변수 탭을 선택하고 다음 매개 변수 값을 설정합니다.
- 최대 응답: 1000
- Temperature: 1
- 채팅 세션 섹션에서 채팅 지우기 단추를 사용하여 채팅 세션을 다시 설정합니다. 그런 다음 사용자 쿼리
Create an advertisement for a cleaning sponge
를 입력하고 응답을 검토합니다. 결과적으로 광고 문구에는 최대 1000개의 텍스트 토큰이 포함되어야 하며 일부 창의적인 요소가 포함되어야 합니다. 예를 들어, 모델이 스펀지의 제품 이름을 고안하고 스펀지의 기능에 대해 몇 가지 클레임을 했을 수 있습니다. - 채팅 지우기 단추를 사용하여 채팅 세션을 다시 설정한 다음 이전과 동일한 쿼리(
Create an advertisement for a cleaning sponge
)를 다시 입력하고 응답을 검토합니다. 응답은 이전 답변과 다를 수 있습니다. - 구성 패널의 매개 변수 탭에서 온도 매개 변수 값을 0으로 변경합니다.
- 채팅 세션 섹션에서 채팅 지우기 단추를 사용하여 채팅 세션을 다시 설정한 다음 이전과 동일한 쿼리(
Create an advertisement for a cleaning sponge
)를 다시 입력하고 응답을 검토합니다. 이번에는 응답이 그리 창의적이지 않을 수도 있습니다. -
채팅 지우기 단추를 사용하여 채팅 세션을 한 번 더 다시 설정한 다음 이전과 동일한 쿼리(
Create an advertisement for a cleaning sponge
)를 다시 입력하고 응답을 검토합니다. 이는 이전 응답과 매우 유사해야 합니다(동일하지는 않음).온도 매개 변수는 모델이 응답을 만들 때 창의성을 발휘할 수 있는 정도를 제어합니다. 값이 낮으면 임의 변화가 거의 없는 일관된 응답이 발생하고, 값이 높으면 모델이 출력에 창의적인 요소를 추가하도록 권장됩니다. 이는 응답의 정확도와 현실성에 영향을 미칠 수 있습니다.
웹앱에 모델 배포
Azure AI 파운드리 플레이그라운드에서 생성형 AI 모델의 기능 중 일부를 살펴보았으므로 이제 Azure 웹앱을 배포하여 사용자가 모델과 채팅할 수 있는 기본 AI 에이전트 인터페이스를 제공할 수 있습니다.
참고: 일부 사용자의 경우 스튜디오 내 템플릿에서 버그로 인해 웹앱에 배포할 수 없는 경우가 있습니다. 이 경우 이 섹션을 건너뜁니다.
- 채팅 플레이그라운드 페이지 오른쪽 상단의 배포 대상 메뉴에서 새 웹앱을 선택합니다.
- 웹앱에 배포 대화 상자에서 다음 설정을 사용하여 새 웹앱을 만듭니다.
- 이름: ‘고유 이름’**
- 구독: ‘Azure 구독’
- 리소스 그룹: Azure OpenAI 리소스를 프로비전한 리소스 그룹
- 위치: Azure OpenAI 리소스를 프로비전한 지역
- 요금제: 무료(F1) - 이 기능을 사용할 수 없는 경우 기본(B1) 선택
- 웹앱에서 채팅 기록을 사용하도록 설정합니다: 선택 안 함
- 웹앱에서 내 계정에 사용량이 발생한다는 것을 인정합니다. 선택됨
- 새 웹앱을 배포하고 배포가 완료될 때까지 기다립니다(10분 정도 소요될 수 있음).
- 웹앱이 성공적으로 배포되면 채팅 플레이그라운드 페이지 오른쪽 상단에 있는 단추를 사용하여 웹앱을 시작합니다. 앱이 시작되는 데 몇 분 정도 걸릴 수 있습니다. 메시지가 표시되면 권한 요청을 수락합니다.
-
웹앱에서 다음 채팅 메시지를 입력합니다.
Write an advertisement for the new "WonderWipe" cloth that attracts dust particulates and can be used to clean any household surface.
-
응답을 검토합니다.
참고: 모델을 웹앱에 배포했지만 이 배포에는 플레이그라운드에서 설정한 시스템 설정 및 매개 변수가 포함되지 않습니다. 따라서 응답은 플레이그라운드에서 지정한 예를 반영하지 않을 수 있습니다. 실제 시나리오에서는 생성하려는 응답 종류에 대한 적절한 상황별 데이터가 포함되도록 프롬프트를 수정하는 논리를 애플리케이션에 추가합니다. 이러한 종류의 사용자 지정은 이 입문 수준 연습의 범위를 벗어나지만 다른 연습 및 제품 설명서에서 프롬프트 엔지니어링 기술과 Azure OpenAI API에 대해 알아볼 수 있습니다.
- 웹앱에서 모델 실험을 마쳤으면 브라우저에서 웹앱 탭을 닫고 Azure AI 파운드리 포털로 돌아갑니다.
정리
Azure OpenAI 리소스 사용이 완료되면 Azure Portal의 https://portal.azure.com
에서 배포 또는 전체 리소스를 삭제해야 합니다.