Summary
Introduction
- OPEN AI의 모델과 매개 변수, 4o에 관련해 정리했습니다.
- Azure OpenAI를 활용하여 AI 기능을 애플리케이션에 통합하는 방법을 정리했습니다.
- Python SDK와 REST API를 사용해 AI 기능을 쉽게 구현할 수 있습니다.
Code, Conept & Explanation
Open AI
모델 호출
- REST API, Python, C# 또는 Studio 를 통해 배포된 모델에 대한 호출을 시작할 수 있습니다.
- Azure OpenAI Studio의 플레이그라운드에서 모델 테스트
매개 변수
- 온도는 "얼마나 창의적으로 생각할까?"를 조정합니다.
- 낮으면: 차분하고 이성적
- 높으면: 창의적이고 변덕스러움
- 상위 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%에 포함되는 단어 중에서 선택.
더 다양하고 창의적인 결과를 생성합니다.
프롬프트 설계
간단한 프롬프트 : 검색 엔진과 유사한 수준의 응답
응답에서 원하는 내용에 대한 자세한 정보를 제공하는 프롬프트 : 구체적인 응답
프롬프트 형식
- 콘텐츠 분류
- 새 콘텐츠 생성
- 대화 유지
- 변환 (번역 및 기호 변환)
- 콘텐츠 요약
- 중단한 위치에서 다시 시작
- 사실적 응답 제공
GPT-4o
GPT-4o는 멀티모달 입력(텍스트, 이미지, 오디오 등)을 처리하여 AI 모델과의 상호작용 방식을 혁신적으로 바꾼 OpenAI의 차세대 모델입니다. 이 모델은 더욱 풍부하고 몰입감 있는 사용자 경험을 제공합니다.
GPT-4o 주요 특징
- 성능과 효율성
- GPT-4 Turbo와 동등한 지능을 제공하며, 텍스트 처리 속도 2배, 비용은 절반 수준.
- 비전(이미지 처리) 성능과 비영어권 언어 지원에서 이전 모델 대비 최고 수준의 성과.
- 확장된 기능
- 새로운 버전(2024-08-06)에서는 출력 크기가 4,096 → 16,384로 증가.
- JSON 모드, 병렬 함수 호출, 구조화된 데이터 처리 등 추가 지원.
- 비용 절감과 효율성
- 복잡한 쿼리를 효율적으로 처리하여 리소스 소모를 최소화하고 비용 절감을 실현.
GPT-4o 활용 사례
-
고객 서비스
멀티모달 데이터를 활용하여 동적이고 포괄적인 고객 지원 제공.
-
고급 데이터 분석
다양한 데이터 유형을 분석하여 의사결정을 강화하고 심층적인 인사이트 도출.
-
콘텐츠 생성 및 혁신
매력적이고 다양한 콘텐츠 형식 생성으로 폭넓은 소비자 취향에 부합.
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 리소스 생성
- Azure Portal에서 리소스를 생성.
- 엔드포인트와 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 사용 방법
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로 개발 환경 구성
- 필수 도구 설치:
- Visual Studio Code: 다운로드
- Git: 다운로드
- GitHub 저장소 복제:
- 명령 팔레트에서 git clone 실행.
- Azure OpenAI 샘플 코드 저장소: MicrosoftLearning/mslearn-openai.
- SDK 설치 및 실행:
pip install openai==1.13.3
python app.py
5. 통합 완료 후 테스트
- 앱 테스트: 대화형 응답을 확인하고, 필요한 경우 프롬프트를 수정.
- 리소스 관리: 사용 완료 후 Azure Portal에서 리소스를 정리.
Challenges & Solutions
Results
What I Learned & Insights
Conlusion
Azure OpenAI를 앱에 통합하면 복잡한 AI 기능을 간단히 구현할 수 있습니다. 이를 통해 사용자는 고도화된 서비스를 손쉽게 구축할 수 있습니다. 🚀