50일차 : Azure_OpenAI, GPT-4o, 앱 통합

Luis_J·2024년 11월 20일
0

MS_AI_School 5기

목록 보기
52/70
post-thumbnail

Summary

Introduction

  1. OPEN AI의 모델과 매개 변수, 4o에 관련해 정리했습니다.
  2. Azure OpenAI를 활용하여 AI 기능을 애플리케이션에 통합하는 방법을 정리했습니다.
  3. Python SDK와 REST API를 사용해 AI 기능을 쉽게 구현할 수 있습니다.

Code, Conept & Explanation

Open AI

모델 호출

  1. REST API, Python, C# 또는 Studio 를 통해 배포된 모델에 대한 호출을 시작할 수 있습니다.
  2. Azure OpenAI Studio의 플레이그라운드에서 모델 테스트

매개 변수

  1. 온도는 "얼마나 창의적으로 생각할까?"를 조정합니다.
  • 낮으면: 차분하고 이성적
  • 높으면: 창의적이고 변덕스러움
  1. 상위 P는 "확률이 낮은 단어는 제외할까?"를 결정합니다.
  • 낮으면: 선택지가 좁고 예측 가능
  • 높으면: 선택지가 다양하고 유연

온도

임의성 제어
온도 낮추면 반복적 응답
온도 높이면 창의적 응답

  • 역할: 모델이 다음 단어를 예측할 때 확률 분포를 얼마나 다양하게 사용할지를 결정합니다.
    값 범위: 0.0 ~ 1.0(또는 그 이상)
    • 낮은 값 (예: 0.2):
      • 더 결정적이고 논리적인 응답을 생성합니다.
      • 모델은 가장 확률이 높은 단어를 주로 선택합니다.
        예: 기술 문서 작성, 코드 생성 등에 적합.
    • 높은 값 (예: 0.8):
      • 창의적이고 다양성 있는 응답을 생성합니다.
      • 확률이 낮은 단어도 선택될 가능성이 커집니다.
        예: 스토리텔링, 시 쓰기 등에 적합.

상위 P

상위 P를 낮추면 모델의 토큰 선택이 유사 토큰으로 좁혀집니다.
상위 P를 높이면 모델이 가능성이 높고 낮은 토큰 중에서 선택할 수 있습니다.
온도와 상위p를 동시에 조정하지 않습니다.

상위 P(Top-p, 또는 Nucleus Sampling)

  • 역할: 모델이 단어를 선택할 때 확률 순으로 상위 몇 퍼센트의 단어만 고려할지를 결정합니다.
  • 값 범위: 0.0 ~ 1.0
    • 낮은 값 (예: 0.2):
      • 확률 상위 20%에 해당하는 단어만 선택 가능.
      • 응답이 매우 제한적이고 집중적입니다.
    • 높은 값 (예: 0.9):
      확률 상위 90%에 포함되는 단어 중에서 선택.
      더 다양하고 창의적인 결과를 생성합니다.

프롬프트 설계

간단한 프롬프트 : 검색 엔진과 유사한 수준의 응답
응답에서 원하는 내용에 대한 자세한 정보를 제공하는 프롬프트 : 구체적인 응답

프롬프트 형식

  1. 콘텐츠 분류
  2. 새 콘텐츠 생성
  3. 대화 유지
  4. 변환 (번역 및 기호 변환)
  5. 콘텐츠 요약
  6. 중단한 위치에서 다시 시작
  7. 사실적 응답 제공

GPT-4o

GPT-4o는 멀티모달 입력(텍스트, 이미지, 오디오 등)을 처리하여 AI 모델과의 상호작용 방식을 혁신적으로 바꾼 OpenAI의 차세대 모델입니다. 이 모델은 더욱 풍부하고 몰입감 있는 사용자 경험을 제공합니다.

GPT-4o 주요 특징

  1. 성능과 효율성
  • GPT-4 Turbo와 동등한 지능을 제공하며, 텍스트 처리 속도 2배, 비용은 절반 수준.
  • 비전(이미지 처리) 성능과 비영어권 언어 지원에서 이전 모델 대비 최고 수준의 성과.
  1. 확장된 기능
  • 새로운 버전(2024-08-06)에서는 출력 크기가 4,096 → 16,384로 증가.
  • JSON 모드, 병렬 함수 호출, 구조화된 데이터 처리 등 추가 지원.
  1. 비용 절감과 효율성
  • 복잡한 쿼리를 효율적으로 처리하여 리소스 소모를 최소화하고 비용 절감을 실현.

GPT-4o 활용 사례

  1. 고객 서비스
    멀티모달 데이터를 활용하여 동적이고 포괄적인 고객 지원 제공.

  2. 고급 데이터 분석
    다양한 데이터 유형을 분석하여 의사결정을 강화하고 심층적인 인사이트 도출.

  3. 콘텐츠 생성 및 혁신
    매력적이고 다양한 콘텐츠 형식 생성으로 폭넓은 소비자 취향에 부합.

GPT-4o 새 버전의 주요 개선점

2024-08-06 업데이트 기준

  • 기능 추가:
    • 텍스트 및 이미지 처리
    • JSON 모드
    • 병렬 함수 호출
    • GPT-4 Turbo와 동등한 영어 텍스트 및 코딩 작업 성능
  • 비영어권 언어 및 비전 작업에서의 향상된 성능

GPT-4o 비즈니스 도입 가능성

GPT-4o는 다양한 산업에서 활용될 수 있으며, Azure 플랫폼을 통해 프리뷰로 제공됩니다.

  • 더 나은 확장성: 효율적인 멀티모달 데이터 처리를 통해 비즈니스 성장에 기여.
  • 유연한 AI 솔루션: GPT-4o를 활용해 고객 맞춤형 애플리케이션 개발 가능.

Azure OpenAI와 앱 통합하기

1. Azure OpenAI와 앱 통합의 장점

  • 생성 AI를 통해 챗봇, 언어 모델 등의 기능을 추가.
  • GPT 시리즈 모델을 사용하여 텍스트 생성, 대화형 응답, 데이터 분석 등을 구현 가능.
  • REST API와 SDK를 활용한 효율적 개발 환경 제공.

2. Azure OpenAI 통합 단계

Step 1: Azure OpenAI 리소스 생성

  1. Azure Portal에서 리소스를 생성.
  2. 엔드포인트와 API 키를 확보.
    - 엔드포인트: https://sample.openai.azure.com/
    API 키: 리소스 창에서 확인 가능.

Step 2: Python SDK 설치 및 환경 설정

  • 라이브러리 설치:
pip install openai
  • 환경 변수 설정: .env 파일에 아래 정보를 저장.
YOUR_ENDPOINT_NAME = https://sample.openai.azure.com/
YOUR_API_KEY = <your-api-key>
YOUR_DEPLOYMENT_NAME = <your-deployment-name>

Step 3: 애플리케이션 코드 작성

  • Azure OpenAI SDK 사용 코드 예시:
from openai import AzureOpenAI

# 환경 변수 로드
import os
from dotenv import load_dotenv
load_dotenv()

# 매개변수 설정
endpoint = os.getenv("YOUR_ENDPOINT_NAME")
api_key = os.getenv("YOUR_API_KEY")
deployment_name = os.getenv("YOUR_DEPLOYMENT_NAME")

# 클라이언트 초기화
client = AzureOpenAI(api_key=api_key, endpoint=endpoint)

# 프롬프트 요청
response = client.Completions.create(
    engine=deployment_name,
    prompt="Azure OpenAI의 주요 특징은?",
    max_tokens=50
)
print(response.choices[0].text.strip())

3. REST API 사용 방법

  • REST API를 활용한 요청 예시:
curl -X POST https://<YOUR_ENDPOINT_NAME>/openai/deployments/<YOUR_DEPLOYMENT_NAME>/completions \
    -H "Content-Type: application/json" \
    -H "api-key: <YOUR_API_KEY>" \
    -d '{
        "prompt": "Azure OpenAI의 주요 기능은?",
        "max_tokens": 50
    }'

4. Visual Studio Code로 개발 환경 구성

  1. 필수 도구 설치:
  • Visual Studio Code: 다운로드
  • Git: 다운로드
  1. GitHub 저장소 복제:
  • 명령 팔레트에서 git clone 실행.
  • Azure OpenAI 샘플 코드 저장소: MicrosoftLearning/mslearn-openai.
  1. SDK 설치 및 실행:
  • Python SDK 설치:
pip install openai==1.13.3
  • .env 파일 수정 후 저장.
  • 앱 실행:
python app.py

5. 통합 완료 후 테스트

  • 앱 테스트: 대화형 응답을 확인하고, 필요한 경우 프롬프트를 수정.
  • 리소스 관리: 사용 완료 후 Azure Portal에서 리소스를 정리.

Challenges & Solutions

Results

What I Learned & Insights

Conlusion

Azure OpenAI를 앱에 통합하면 복잡한 AI 기능을 간단히 구현할 수 있습니다. 이를 통해 사용자는 고도화된 서비스를 손쉽게 구축할 수 있습니다. 🚀

profile
New life & History

0개의 댓글

관련 채용 정보