Использование конечной точки вывода модели ИИ Azure для использования моделей
Статья
Вывод модели искусственного интеллекта Azure в службах ИИ Azure позволяет клиентам использовать самые мощные модели от флагманных поставщиков моделей с помощью одной конечной точки и учетных данных. Это означает, что можно переключаться между моделями и использовать их из приложения, не изменяя одну строку кода.
В этой статье объясняется, как использовать конечную точку вывода для их вызова.
Конечные точки
Службы ИИ Azure предоставляют несколько конечных точек в зависимости от типа нужной работы:
Конечная точка вывода модели искусственного интеллекта Azure
Конечная точка Azure OpenAI
Конечная точка вывода искусственного интеллекта Azure (обычно с формой https://<resource-name>.services.ai.azure.com/models) позволяет клиентам использовать одну конечную точку с той же проверкой подлинности и схемой для создания вывода для развернутых моделей в ресурсе. Все модели поддерживают эту возможность. Эта конечная точка следует API вывода модели ИИ Azure.
Модели Azure OpenAI, развернутые в службах ИИ, также поддерживают API Azure OpenAI (обычно с формой https://<resource-name>.openai.azure.com). Эта конечная точка предоставляет полные возможности моделей OpenAI и поддерживает дополнительные функции, такие как помощники, потоки, файлы и пакетное вывод.
Дополнительные сведения о применении конечной точки Azure OpenAI см . в документации по службе Azure OpenAI.
Использование возможности маршрутизации в конечной точке вывода модели искусственного интеллекта Azure
Конечная точка вывода направляет запросы к заданному развертыванию, сопоставляя параметр name внутри запроса с именем развертывания. Это означает, что развертывания работают в качестве псевдонима данной модели в определенных конфигурациях. Эта гибкость позволяет развертывать определенную модель несколько раз в службе, но в разных конфигурациях при необходимости.
Например, если создать развертывание с именем Mistral-large, такое развертывание можно вызвать следующим образом:
Установите пакет azure-ai-inference с помощью диспетчера пакетов, например pip:
pip install azure-ai-inference>=1.0.0b5
Предупреждение
Для ресурса служб искусственного интеллекта Azure требуется версия azure-ai-inference>=1.0.0b5 Для Python.
Затем можно использовать пакет для использования модели. В следующем примере показано, как создать клиент для использования завершения чата:
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"]),
)
Ознакомьтесь с нашими примерами и ознакомьтесь со справочной документацией по API, чтобы приступить к работе.
Установите пакет @azure-rest/ai-inference с помощью npm:
npm install @azure-rest/ai-inference
Затем можно использовать пакет для использования модели. В следующем примере показано, как создать клиент для использования завершения чата:
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)
);
Ознакомьтесь с нашими примерами и ознакомьтесь со справочной документацией по API, чтобы приступить к работе.
Установите библиотеку вывода искусственного интеллекта Azure с помощью следующей команды:
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, чтобы приступить к работе.
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"
}
Если указать имя модели, не соответствующее определенному развертыванию модели, вы получите сообщение об ошибке, что модель не существует. Вы можете управлять тем, какие модели доступны пользователям, создавая развертывания моделей, как описано при добавлении и настройке развертываний моделей.
Ограничения
Пакетная служба Azure OpenAI не может использоваться с конечной точкой вывода модели ИИ Azure. Необходимо использовать выделенный URL-адрес развертывания, как описано в документации по пакетному API в документации по Azure OpenAI.
API в режиме реального времени не поддерживается в конечной точке вывода. Используйте URL-адрес выделенного развертывания.