유추 엔드포인트는 요청 내의 매개 변수 name 를 배포 이름과 일치시켜 요청을 지정된 배포로 라우팅합니다. 즉, 배포는 특정 구성에서 지정된 모델의 별칭으로 작동합니다. 이러한 유연성을 통해 서비스에서 지정된 모델을 여러 번 배포할 수 있지만 필요한 경우 다른 구성으로 배포할 수 있습니다.
예를 들어 이름이 지정된 Mistral-large배포를 만드는 경우 이러한 배포를 다음과 같이 호출할 수 있습니다.
pip와 같은 패키지 관리 시스템을 사용하여 azure-ai-inference 패키지를 설치합니다.
pip install azure-ai-inference>=1.0.0b5
Warning
Azure AI Services 리소스에는 Python 버전 azure-ai-inference>=1.0.0b5 이 필요합니다.
그런 다음 패키지를 사용하여 모델을 이용할 수 있습니다. 다음 예에서는 채팅 완성을 이용하는 클라이언트를 만드는 방법을 보여 줍니다.
import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
model = ChatCompletionsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)
그런 다음 패키지를 사용하여 모델을 이용할 수 있습니다. 다음 예에서는 채팅 완성을 이용하는 클라이언트를 만드는 방법을 보여 줍니다.
import ModelClient from "@azure-rest/ai-inference";
import { isUnexpected } from "@azure-rest/ai-inference";
import { AzureKeyCredential } from "@azure/core-auth";
const client = new ModelClient(
"https://<resource>.services.ai.azure.com/models",
new AzureKeyCredential(process.env.AZUREAI_ENDPOINT_KEY)
);
using Azure;
using Azure.Identity;
using Azure.AI.Inference;
그런 다음 패키지를 사용하여 모델을 이용할 수 있습니다. 다음 예에서는 채팅 완성을 이용하는 클라이언트를 만드는 방법을 보여 줍니다.
ChatCompletionsClient client = new ChatCompletionsClient(
new Uri("https://<resource>.services.ai.azure.com/models"),
new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL"))
);
참조 섹션을 사용하여 API 디자인 및 사용할 수 있는 매개 변수를 살펴봅니다. 예를 들어 채팅 완료에 대한 참조 섹션에서는 경로를 /chat/completions 사용하여 채팅 형식의 지침에 따라 예측을 생성하는 방법을 자세히 설명합니다. 경로 /models 는 URL의 루트에 포함됩니다.
요청
POST https://<resource>.services.ai.azure.com/models/chat/completions?api-version=2024-05-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
from azure.ai.inference.models import SystemMessage, UserMessage
response = client.complete(
messages=[
SystemMessage(content="You are a helpful assistant."),
UserMessage(content="Explain Riemann's conjecture in 1 paragraph"),
],
model="mistral-large"
)
print(response.choices[0].message.content)
var messages = [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "Explain Riemann's conjecture in 1 paragraph" },
];
var response = await client.path("/chat/completions").post({
body: {
messages: messages,
model: "mistral-large"
}
});
console.log(response.choices[0].message.content)
requestOptions = new ChatCompletionsOptions()
{
Messages = {
new ChatRequestSystemMessage("You are a helpful assistant."),
new ChatRequestUserMessage("Explain Riemann's conjecture in 1 paragraph")
},
Model = "mistral-large"
};
response = client.Complete(requestOptions);
Console.WriteLine($"Response: {response.Value.Content}");
List<ChatRequestMessage> chatMessages = new ArrayList<>();
chatMessages.add(new ChatRequestSystemMessage("You are a helpful assistant"));
chatMessages.add(new ChatRequestUserMessage("Explain Riemann's conjecture in 1 paragraph"));
ChatCompletions chatCompletions = client.complete(new ChatCompletionsOptions(chatMessages));
for (ChatChoice choice : chatCompletions.getChoices()) {
ChatResponseMessage message = choice.getMessage();
System.out.println("Response:" + message.getContent());
}
요청
POST https://<resource>.services.ai.azure.com/models/chat/completions?api-version=2024-05-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"model": "mistral-large"
}
팁
배포 라우팅은 대/소문자를 구분하지 않습니다.
SDK
Azure AI 모델 유추 엔드포인트는 여러 언어로 제공되는 Azure AI 유추 SDK, Azure AI Foundry SDK 및 Azure OpenAI SDK를 비롯한 여러 SDK에서 지원됩니다. LangChain, LangGraph, Llama-Index, 의미 체계 커널 및 AG2와 같은 인기 있는 프레임워크에서도 여러 통합이 지원됩니다. 자세한 내용은 지원되는 프로그래밍 언어 및 SDK를 참조 하세요 .
Azure OpenAI 유추 엔드포인트
AI 서비스에 배포된 Azure OpenAI 모델도 Azure OpenAI API를 지원합니다. 이 API는 OpenAI 모델의 전체 기능을 노출하고 도우미, 스레드, 파일 및 일괄 처리 유추와 같은 추가 기능을 지원합니다.
Azure OpenAI 유추 엔드포인트는 배포 수준에서 작동하며 각 엔드포인트와 연결된 자체 URL이 있습니다. 그러나 동일한 인증 메커니즘을 사용하여 사용할 수 있습니다. Azure OpenAI API에 대한 참조 페이지에서 자세히 알아보기
각 배포에는 Azure OpenAI 기본 URL 및 경로/deployments/<model-deployment-name>의 연결인 URL이 있습니다.
Important
각 URL은 각 모델 배포에만 사용되므로 Azure OpenAI 엔드포인트에 대한 라우팅 메커니즘은 없습니다.
SDK
Azure OpenAI 엔드포인트는 여러 언어로 제공되는 OpenAI SDK(AzureOpenAI 클래스) 및 Azure OpenAI SDK에서 지원됩니다. 자세한 내용은 지원되는 언어를 참조 하세요 .