Tutorial Lengkap Azure OpenAI Service: Enterprise AI dengan Model GPT
Azure OpenAI Service menyediakan akses REST API ke model bahasa powerful dari OpenAI termasuk GPT-4, GPT-3.5-Turbo, dan model embedding. Layanan ini menggabungkan kemampuan OpenAI dengan security dan compliance enterprise Azure.
Mengapa Azure OpenAI?
Manfaat Utama:- Enterprise security: Security dan compliance Azure
- Data privacy: Data Anda tetap di subscription Azure Anda
- Ketersediaan regional: Deploy di multiple region Azure
- Integration: Integrasi native dengan layanan Azure
- Responsible AI: Built-in content filtering
- GPT-4 dan GPT-4 Turbo
- GPT-3.5-Turbo
- DALL-E 3
- Embeddings (text-embedding-ada-002)
- Whisper
Prerequisites
pip install openai azure-identity
Azure CLI
az login
Setup
1. Buat Azure OpenAI Resource
from azure.mgmt.cognitiveservices import CognitiveServicesManagementClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
client = CognitiveServicesManagementClient(
credential=credential,
subscriptionid="your-subscription-id"
)
Buat resource
resource = client.accounts.begincreate(
resourcegroupname="my-resource-group",
accountname="my-openai-resource",
account={
"location": "eastus",
"kind": "OpenAI",
"sku": {"name": "S0"},
"properties": {}
}
).result()
print(f"Resource dibuat: {resource.name}")
2. Deploy Model
# Deploy model GPT-4
deployment = client.deployments.begincreateorupdate(
resourcegroupname="my-resource-group",
accountname="my-openai-resource",
deploymentname="gpt-4-deployment",
deployment={
"sku": {"name": "Standard", "capacity": 10},
"properties": {
"model": {
"format": "OpenAI",
"name": "gpt-4",
"version": "0613"
}
}
}
).result()
print(f"Deployment dibuat: {deployment.name}")
3. Koneksi ke Azure OpenAI
from openai import AzureOpenAI
client = AzureOpenAI(
apikey="your-api-key",
apiversion="2024-02-01",
azureendpoint="https://my-openai-resource.openai.azure.com"
)
Atau gunakan Azure Identity
from azure.identity import DefaultAzureCredential, getbearertokenprovider
tokenprovider = getbearertokenprovider(
DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
azureadtokenprovider=tokenprovider,
apiversion="2024-02-01",
azureendpoint="https://my-openai-resource.openai.azure.com"
)
Chat Completions
1. Basic Chat
response = client.chat.completions.create(
model="gpt-4-deployment",
messages=[
{"role": "system", "content": "Anda adalah asisten yang membantu."},
{"role": "user", "content": "Apa itu machine learning?"}
]
)
print(response.choices[0].message.content)
2. Multi-turn Conversation
class ChatBot:
def init(self, client, deploymentname, systemprompt):
self.client = client
self.deploymentname = deploymentname
self.messages = [{"role": "system", "content": systemprompt}]
def chat(self, usermessage):
self.messages.append({"role": "user", "content": usermessage})
response = self.client.chat.completions.create(
model=self.deploymentname,
messages=self.messages,
temperature=0.7,
maxtokens=1000
)
assistantmessage = response.choices[0].message.content
self.messages.append({"role": "assistant", "content": assistantmessage})