Поделиться через


Использование моделей Foundry

После развертывания модели в Azure AI Foundry вы можете использовать свои возможности с помощью API-интерфейсов Azure AI Foundry. Существуют две разные конечные точки и API для использования моделей в модели Azure AI Foundry.

Конечная точка вывода моделей

Конечная точка вывода моделей (обычно с формой https://<resource-name>.services.ai.azure.com/models) позволяет клиентам использовать одну конечную точку с той же проверкой подлинности и схемой для создания вывода для развернутых моделей в ресурсе. Эта конечная точка использует API для вывода модели Azure AI, который поддерживает все модели в Foundry Models. Он поддерживает следующие модальности:

  • Внедрение текста
  • Внедрение изображений
  • Завершение чата

Маршрутизация

Конечная точка вывода направляет запросы к заданному развертыванию, сопоставляя параметр name внутри запроса с именем развертывания. Это означает, что развертывания работают как псевдоним данной модели при определенных конфигурациях. Эта гибкость позволяет развертывать определенную модель несколько раз в службе, но в разных конфигурациях при необходимости.

Иллюстрация, показывающая, как маршрутизация работает для модели Meta-llama-3.2-8b-instruct путем указания такого имени в параметре

Например, если создать развертывание с именем Mistral-large, такое развертывание можно вызвать следующим образом:

Установите пакет azure-ai-inference с помощью диспетчера пакетов, например pip:

pip install azure-ai-inference

Затем можно использовать пакет для работы с моделью. В следующем примере показано, как создать клиент для обработки завершения чата.

import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential

client = ChatCompletionsClient(
    endpoint="https://<resource>.services.ai.azure.com/models",
    credential=AzureKeyCredential(os.environ["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)

Подсказка

Маршрутизация развертывания не учитывает регистр.

Конечная точка вывода Azure OpenAI

Azure AI Foundry также поддерживает API Azure OpenAI. Этот API предоставляет полные возможности моделей OpenAI и поддерживает дополнительные функции, такие как помощники, потоки, файлы и пакетное вывод. Модели, отличные от OpenAI, также можно использовать для совместимых функций.

Конечные точки Azure OpenAI (обычно с формой https://<resource-name>.openai.azure.com) работают на уровне развертывания и имеют собственный URL-адрес, связанный с каждым из них. Однако для их использования можно использовать тот же механизм проверки подлинности. Дополнительные сведения см. на справочной странице по Azure OpenAI API

Иллюстрация, показывающая, как развертывания Azure OpenAI содержат один URL-адрес для каждого развертывания.

У каждого развертывания есть URL-адрес, который является объединением базового URL-адреса Azure OpenAI и маршрута /deployments/<model-deployment-name>.

Установите пакет openai с помощью диспетчера пакетов, например pip:

pip install openai --upgrade

Затем можно использовать пакет для работы с моделью. В следующем примере показано, как создать клиент для обработки завершения чата.

import os
from openai import AzureOpenAI
    
client = AzureOpenAI(
    azure_endpoint = "https://<resource>.services.ai.azure.com"
    api_key=os.getenv("AZURE_INFERENCE_CREDENTIAL"),  
    api_version="2024-10-21",
)
response = client.chat.completions.create(
    model="deepseek-v3-0324", # Replace with your model dpeloyment name.
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain Riemann's conjecture in 1 paragraph"}
    ]
)

print(response.model_dump_json(indent=2)

Следующие шаги