Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В настоящее время просмотр:Версия портала Foundry (классическая версия) - Переключиться на версию для нового портала Foundry
Важно
Элементы, помеченные (предварительная версия) в этой статье, в настоящее время находятся в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или могут иметь ограниченные возможности. Дополнительные сведения см. в разделе Supplemental Terms of Use for Microsoft Azure Previews.
В этой статье вы узнаете, как выполнять оценки в облаке (предварительная версия) для предварительного тестирования в тестовом наборе данных. Пакет SDK для оценки ИИ Azure позволяет выполнять оценки локально на компьютере и в облаке. Например, запустите локальные оценки на небольших тестовых данных для оценки прототипов созданных приложений ИИ, а затем перейдите к предварительному тестированию для выполнения вычислений в большом наборе данных.
Используйте облачные оценки для большинства сценариев, особенно при тестировании в масштабе, интеграции вычислений в конвейеры непрерывной интеграции и непрерывной доставки (CI/CD) или выполнения предварительного тестирования. Выполнение вычислений в облаке устраняет необходимость управления локальной вычислительной инфраструктурой и поддерживает крупномасштабные автоматизированные рабочие процессы тестирования. После развертывания вы можете выбрать непрерывно оценивать своих агентов для мониторинга после выполнения развертывания.
При использовании пакета SDK для Foundry он регистрирует результаты оценки в проекте Foundry для повышения наблюдаемости. Эта функция поддерживает все встроенные оценщики, созданные Microsoft. и собственные настраиваемые оценщики. Оценщики могут находиться в библиотеке оценщиков и иметь ту же самую областью действия проекта, управление доступом на основе ролей.
Необходимые условия
- Проект Foundry.
- Развертывание Azure OpenAI с моделью GPT, которая поддерживает завершение чата (например,
gpt-5-mini). - Роль пользователя Azure AI в проекте Foundry.
- При необходимости можно использовать собственную учетную запись хранения для выполнения вычислений.
Примечание
Некоторые функции оценки имеют региональные ограничения. Дополнительные сведения см. в поддерживаемых регионах .
Начало работы
Установите клиент проекта пакета SDK для Microsoft Foundry, чтобы запустить оценки в облаке:
pip install azure-ai-projects azure-identityЗадайте переменные среды для ресурсов Foundry:
import os # Required environment variables: endpoint = os.environ["PROJECT_ENDPOINT"] # https://<account>.services.ai.azure.com/api/projects/<project> model_endpoint = os.environ["MODEL_ENDPOINT"] # https://<account>.services.ai.azure.com model_api_key = os.environ["MODEL_API_KEY"] model_deployment_name = os.environ["MODEL_DEPLOYMENT_NAME"] # E.g. gpt-5-mini # Optional: Reuse an existing dataset. dataset_name = os.environ.get("DATASET_NAME", "dataset-test") dataset_version = os.environ.get("DATASET_VERSION", "1.0")Определите клиент для выполнения вычислений в облаке:
import os from azure.identity import DefaultAzureCredential from azure.ai.projects import AIProjectClient # Create the project client (Foundry project and credentials): project_client = AIProjectClient( endpoint=endpoint, credential=DefaultAzureCredential(), )
Подготовка входных данных
# Upload a local JSONL file. Skip this step if you already have a dataset registered.
data_id = project_client.datasets.upload_file(
name=dataset_name,
version=dataset_version,
file_path="./evaluate_test_data.jsonl",
).id
Дополнительные сведения о форматах входных данных для оценки создаваемых приложений ИИ см. в следующем разделе:
Дополнительные сведения о форматах входных данных для оценки агентов можно найти в статьях Оценка агентов Azure ИИ и Оценка других агентов.
Укажите оценщиков
from azure.ai.projects.models import (
EvaluatorConfiguration,
EvaluatorIds,
)
# Built-in evaluator configurations:
evaluators = {
"relevance": EvaluatorConfiguration(
id=EvaluatorIds.RELEVANCE.value,
init_params={"deployment_name": model_deployment_name},
data_mapping={
"query": "${data.query}",
"response": "${data.response}",
},
),
"violence": EvaluatorConfiguration(
id=EvaluatorIds.VIOLENCE.value,
init_params={"azure_ai_project": endpoint},
),
"bleu_score": EvaluatorConfiguration(
id=EvaluatorIds.BLEU_SCORE.value,
),
}
Создание оценки
Наконец, отправьте запуск удаленной оценки:
from azure.ai.projects.models import (
Evaluation,
InputDataset
)
# Create an evaluation with the dataset and evaluators specified.
evaluation = Evaluation(
display_name="Cloud evaluation",
description="Evaluation of dataset",
data=InputDataset(id=data_id),
evaluators=evaluators,
)
# Run the evaluation.
evaluation_response = project_client.evaluations.create(
evaluation,
headers={
"model-endpoint": model_endpoint,
"api-key": model_api_key,
},
)
print("Created evaluation:", evaluation_response.name)
print("Status:", evaluation_response.status)
Указание пользовательских оценщиков
Примечание
Проекты Foundry не поддерживаются для этой функции. Вместо этого используйте проект Центра Foundry.
Пользовательские оценщики на основе кода
Зарегистрируйте пользовательских оценщиков в проекте в AI Hub Azure и получите идентификаторы оценщиков.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Model
from promptflow.client import PFClient
# Define ml_client to register the custom evaluator.
ml_client = MLClient(
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
workspace_name=os.environ["AZURE_PROJECT_NAME"],
credential=DefaultAzureCredential()
)
# Load the evaluator from the module.
from answer_len.answer_length import AnswerLengthEvaluator
# Convert it to an evaluation flow, and save it locally.
pf_client = PFClient()
local_path = "answer_len_local"
pf_client.flows.save(entry=AnswerLengthEvaluator, path=local_path)
# Specify the evaluator name that appears in the evaluator catalog.
evaluator_name = "AnswerLenEvaluator"
# Register the evaluator to the evaluator catalog.
custom_evaluator = Model(
path=local_path,
name=evaluator_name,
description="Evaluator calculating answer length.",
)
registered_evaluator = ml_client.evaluators.create_or_update(custom_evaluator)
print("Registered evaluator id:", registered_evaluator.id)
# Registered evaluators have versioning. You can always reference any version available.
versioned_evaluator = ml_client.evaluators.get(evaluator_name, version=1)
print("Versioned evaluator id:", registered_evaluator.id)
После регистрации пользовательского оценщика просмотрите его в каталоге оценщика. В проекте Foundry выберите "Оценка", а затем каталог оценок.
Пользовательские вычислители на основе запросов
Используйте этот пример для регистрации пользовательского встроенного объекта FriendlinessEvaluator , как описано в оценщиках на основе запроса:
# Import your prompt-based custom evaluator.
from friendliness.friend import FriendlinessEvaluator
# Define your deployment.
model_config = dict(
azure_endpoint=os.environ.get("AZURE_ENDPOINT"),
azure_deployment=os.environ.get("AZURE_DEPLOYMENT_NAME"),
api_version=os.environ.get("AZURE_API_VERSION"),
api_key=os.environ.get("AZURE_API_KEY"),
type="azure_openai"
)
# Define ml_client to register the custom evaluator.
ml_client = MLClient(
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
workspace_name=os.environ["AZURE_PROJECT_NAME"],
credential=DefaultAzureCredential()
)
# # Convert the evaluator to evaluation flow and save it locally.
local_path = "friendliness_local"
pf_client = PFClient()
pf_client.flows.save(entry=FriendlinessEvaluator, path=local_path)
# Specify the evaluator name that appears in the evaluator catalog.
evaluator_name = "FriendlinessEvaluator"
# Register the evaluator to the evaluator catalog.
custom_evaluator = Model(
path=local_path,
name=evaluator_name,
description="prompt-based evaluator measuring response friendliness.",
)
registered_evaluator = ml_client.evaluators.create_or_update(custom_evaluator)
print("Registered evaluator id:", registered_evaluator.id)
# Registered evaluators have versioning. You can always reference any version available.
versioned_evaluator = ml_client.evaluators.get(evaluator_name, version=1)
print("Versioned evaluator id:", registered_evaluator.id)
После регистрации пользовательского оценщика его можно просмотреть в вашем каталоге оценщиков. В проекте Foundry выберите "Оценка", а затем каталог оценок.