Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Этот документ относится только к порталу Microsoft Foundry (классическая модель ).
Это важно
Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Вы можете тщательно оценить производительность создаваемого приложения ИИ, применяя его к существенному набору данных. Оцените приложение в среде разработки с помощью пакета SDK для оценки ИИ Azure.
Если вы предоставляете тестовый набор данных или целевой объект, выходные данные создаваемого приложения ИИ количественно измеряются как математическими метриками, так и средствами оценки качества и безопасности с помощью ИИ. Встроенные или пользовательские оценщики могут предоставлять исчерпывающую информацию о возможностях и ограничениях приложения.
Из этой статьи вы узнаете, как запускать вычислители в одной строке данных и более крупном тестовом наборе данных в целевом объекте приложения. Вы используете встроенные вычислители, использующие пакет SDK для оценки искусственного интеллекта Azure локально. Затем вы узнаете, как отслеживать результаты и журналы оценки в проекте Foundry.
Начало работы
Сначала установите пакет вычислителей из пакета SDK для оценки ИИ Azure:
pip install azure-ai-evaluation
Замечание
Дополнительные сведения см. в клиентской библиотеке оценки ИИ Azure для Python.
Встроенные оценщики
Встроенные метрики качества и безопасности принимают пары запросов и ответов, а также дополнительные сведения для конкретных оценщиков.
| Категория | Оценщиков |
|---|---|
| Общее назначение |
CoherenceEvaluator
FluencyEvaluator
QAEvaluator
|
| Подобие текста |
SimilarityEvaluator
F1ScoreEvaluator
BleuScoreEvaluator
GleuScoreEvaluator
RougeScoreEvaluator
MeteorScoreEvaluator
|
| Генерация с дополнением извлечения (RAG) |
RetrievalEvaluator
DocumentRetrievalEvaluator
GroundednessEvaluator
GroundednessProEvaluator
RelevanceEvaluator
ResponseCompletenessEvaluator
|
| Риск и безопасность |
ViolenceEvaluator, SexualEvaluatorSelfHarmEvaluatorHateUnfairnessEvaluatorIndirectAttackEvaluatorProtectedMaterialEvaluatorUngroundedAttributesEvaluatorCodeVulnerabilityEvaluatorContentSafetyEvaluator |
| Агентный |
IntentResolutionEvaluator
ToolCallAccuracyEvaluator
TaskAdherenceEvaluator
|
| Azure OpenAI |
AzureOpenAILabelGrader
AzureOpenAIStringCheckGrader, AzureOpenAITextSimilarityGrader, AzureOpenAIGrader |
Требования к данным для встроенных оценщиков
Встроенные оценщики могут принимать пары запросов и ответов, список бесед в формате JSON Lines (JSONL) или оба одновременно.
| Оценщик | Поддержка беседы и одиночного текстового взаимодействия | Поддержка беседы и однократного взаимодействия для текста и изображения | Поддержка только одного поворота текста | Требует ground_truth |
Поддерживает входные данные агента |
|---|---|---|---|---|---|
| Оценщики качества | |||||
IntentResolutionEvaluator |
✓ | ||||
ToolCallAccuracyEvaluator |
✓ | ||||
TaskAdherenceEvaluator |
✓ | ||||
GroundednessEvaluator |
✓ | ✓ | |||
GroundednessProEvaluator |
✓ | ||||
RetrievalEvaluator |
✓ | ||||
DocumentRetrievalEvaluator |
✓ | ✓ | |||
RelevanceEvaluator |
✓ | ✓ | |||
CoherenceEvaluator |
✓ | ||||
FluencyEvaluator |
✓ | ||||
ResponseCompletenessEvaluator |
✓ | ✓ | |||
QAEvaluator |
✓ | ✓ | |||
| Оценщики обработки естественного языка (NLP) | |||||
SimilarityEvaluator |
✓ | ✓ | |||
F1ScoreEvaluator |
✓ | ✓ | |||
RougeScoreEvaluator |
✓ | ✓ | |||
GleuScoreEvaluator |
✓ | ✓ | |||
BleuScoreEvaluator |
✓ | ✓ | |||
MeteorScoreEvaluator |
✓ | ✓ | |||
| Оценщики безопасности | |||||
ViolenceEvaluator |
✓ | ||||
SexualEvaluator |
✓ | ||||
SelfHarmEvaluator |
✓ | ||||
HateUnfairnessEvaluator |
✓ | ||||
ProtectedMaterialEvaluator |
✓ | ||||
ContentSafetyEvaluator |
✓ | ||||
UngroundedAttributesEvaluator |
✓ | ||||
CodeVulnerabilityEvaluator |
✓ | ||||
IndirectAttackEvaluator |
✓ | ||||
| Azure OpenAI Graders | |||||
AzureOpenAILabelGrader |
✓ | ||||
AzureOpenAIStringCheckGrader |
✓ | ||||
AzureOpenAITextSimilarityGrader |
✓ | ✓ | |||
AzureOpenAIGrader |
✓ |
Замечание
Вычислители качества с поддержкой ИИ, за исключением SimilarityEvaluator поля причины. Они используют методы, в том числе цепочку мыслей, чтобы создать объяснение оценки.
Они расходуют больше токенов при генерации в результате улучшенного качества оценки. В частности, max_token для создания оценочных модулей установлено значение 800 для большинства оценочных модулей с поддержкой ИИ. Он имеет значение 1600 для RetrievalEvaluator и 3000 для ToolCallAccuracyEvaluator, чтобы учитывать более длительные входные данные.
Для грейдеров Azure OpenAI требуется шаблон, описывающий, как входные столбцы преобразованы в основные входные данные, которые использует система оценки. Например, если у вас есть два входных данных, которые называются запросом и ответом, а шаблон отформатирован как {{item.query}}шаблон, используется только запрос. Аналогичным образом, вы можете использовать входные данные в формате {{item.conversation}}, чтобы принять запрос в беседе, но способность системы обрабатывать это зависит от того, как вы настроите оставшуюся часть оценщика для ожидания таких данных.
Дополнительные сведения о требованиях к данным для агентических вычислителей см. в разделе "Оценка агентов ИИ".
Поддержка одного поворота текста
Все встроенные вычислители принимают однопроходные входные данные в виде строк, представляющих пары запросов и ответов. Рассмотрим пример.
from azure.ai.evaluation import RelevanceEvaluator
query = "What is the capital of life?"
response = "Paris."
# Initialize an evaluator:
relevance_eval = RelevanceEvaluator(model_config)
relevance_eval(query=query, response=response)
Чтобы выполнить пакетную оценку с помощью локальной оценки или отправить набор данных для выполнения облачной оценки, представляет набор данных в формате JSONL. Предыдущие одноэтапные данные, которые являются парой запросов и ответов, эквивалентны строке набора данных, например следующему примеру, в котором показаны три строки:
{"query":"What is the capital of France?","response":"Paris."}
{"query":"What atoms compose water?","response":"Hydrogen and oxygen."}
{"query":"What color is my shirt?","response":"Blue."}
Набор данных теста оценки может содержать следующие элементы в зависимости от требований каждого встроенного вычислителя:
- Запрос: запрос, отправленный в созданное приложение ИИ.
- Ответ: ответ на запрос, созданный приложением сгенерированного ИИ.
- Контекст: источник, на котором основан созданный ответ. То есть документы о заземлении.
- Эталонная истина: ответ, созданный пользователем или человеком в качестве истинного ответа.
Чтобы узнать, что требуется каждому оценщику, см. раздел "Оценщики".
Поддержка текстовых бесед
Для оценщиков, поддерживающих текстовые беседы, можно предоставить conversation в качестве входных данных. Эти входные данные включают словарь Python со спискомmessages, который включает в себя contentroleи при необходимостиcontext.
См. следующие двухходовые диалоги на Python:
conversation = {
"messages": [
{
"content": "Which tent is the most waterproof?",
"role": "user"
},
{
"content": "The Alpine Explorer Tent is the most waterproof",
"role": "assistant",
"context": "From the our product list the alpine explorer tent is the most waterproof. The Adventure Dining Table has higher weight."
},
{
"content": "How much does it cost?",
"role": "user"
},
{
"content": "The Alpine Explorer Tent is $120.",
"role": "assistant",
"context": None
}
]
}
Для выполнения пакетных вычислений с помощью локальной оценки или отправки набора данных для запуска облачной оценки необходимо представить набор данных в формате JSONL. Предыдущая беседа эквивалентна строке набора данных в JSONL-файле, как показано в следующем примере:
{"conversation":
{
"messages": [
{
"content": "Which tent is the most waterproof?",
"role": "user"
},
{
"content": "The Alpine Explorer Tent is the most waterproof",
"role": "assistant",
"context": "From the our product list the alpine explorer tent is the most waterproof. The Adventure Dining Table has higher weight."
},
{
"content": "How much does it cost?",
"role": "user"
},
{
"content": "The Alpine Explorer Tent is $120.",
"role": "assistant",
"context": null
}
]
}
}
Наши оценщики понимают, что первая очередь беседы предоставляет допустимые query из user, context из assistant, и response из assistant в формате запрос-ответ. Затем беседы оцениваются по каждому ходу, и результаты суммируются и усредняются по всем ходам для оценки бесед.
Замечание
На втором этапе, даже если context является null или отсутствующим ключом, интерпретатор интерпретирует этап как пустую строку вместо того, чтобы завершиться ошибкой, что может привести к вводящим в заблуждение результатам.
Настоятельно рекомендуется проверить данные оценки в соответствии с требованиями к данным.
Ниже приведен пример GroundednessEvaluator в режиме беседы.
# Conversation mode:
import json
import os
from azure.ai.evaluation import GroundednessEvaluator, AzureOpenAIModelConfiguration
model_config = AzureOpenAIModelConfiguration(
azure_endpoint=os.environ.get("AZURE_ENDPOINT"),
api_key=os.environ.get("AZURE_API_KEY"),
azure_deployment=os.environ.get("AZURE_DEPLOYMENT_NAME"),
api_version=os.environ.get("AZURE_API_VERSION"),
)
# Initialize the Groundedness evaluator:
groundedness_eval = GroundednessEvaluator(model_config)
conversation = {
"messages": [
{ "content": "Which tent is the most waterproof?", "role": "user" },
{ "content": "The Alpine Explorer Tent is the most waterproof", "role": "assistant", "context": "From the our product list the alpine explorer tent is the most waterproof. The Adventure Dining Table has higher weight." },
{ "content": "How much does it cost?", "role": "user" },
{ "content": "$120.", "role": "assistant", "context": "The Alpine Explorer Tent is $120."}
]
}
# Alternatively, you can load the same content from a JSONL file.
groundedness_conv_score = groundedness_eval(conversation=conversation)
print(json.dumps(groundedness_conv_score, indent=4))
Для результатов беседы результаты каждого хода хранятся в списке, а общая оценка 'groundedness': 4.0 беседы усредняется по ходам.
{
"groundedness": 5.0,
"gpt_groundedness": 5.0,
"groundedness_threshold": 3.0,
"evaluation_per_turn": {
"groundedness": [
5.0,
5.0
],
"gpt_groundedness": [
5.0,
5.0
],
"groundedness_reason": [
"The response accurately and completely answers the query by stating that the Alpine Explorer Tent is the most waterproof, which is directly supported by the context. There are no irrelevant details or incorrect information present.",
"The RESPONSE directly answers the QUERY with the exact information provided in the CONTEXT, making it fully correct and complete."
],
"groundedness_result": [
"pass",
"pass"
],
"groundedness_threshold": [
3,
3
]
}
}
Замечание
Мы рекомендуем перенести ваш код для использования ключа без префиксов, чтобы ваш код поддерживал больше оценочных моделей. Например: groundedness.groundedness.
Поддержка бесед для изображений и многомодального текста и изображения
Для оценщиков, поддерживающих беседы для изображений и мультимодальных изображений и текста, вы можете передать URL-адреса изображений или изображения в кодировке Base64 в conversation.
К поддерживаемым сценариям относятся:
- Несколько изображений с текстовым вводом для генерации изображений или текста.
- Только текстовый ввод для генерации изображений.
- Создание текста на основе только изображений.
from pathlib import Path
from azure.ai.evaluation import ContentSafetyEvaluator
import base64
# Create an instance of an evaluator with image and multi-modal support.
safety_evaluator = ContentSafetyEvaluator(credential=azure_cred, azure_ai_project=project_scope)
# Example of a conversation with an image URL:
conversation_image_url = {
"messages": [
{
"role": "system",
"content": [
{"type": "text", "text": "You are an AI assistant that understands images."}
],
},
{
"role": "user",
"content": [
{"type": "text", "text": "Can you describe this image?"},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.britannica.com/68/178268-050-5B4E7FB6/Tom-Cruise-2013.jpg"
},
},
],
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "The image shows a man with short brown hair smiling, wearing a dark-colored shirt.",
}
],
},
]
}
# Example of a conversation with base64 encoded images:
base64_image = ""
with Path.open("Image1.jpg", "rb") as image_file:
base64_image = base64.b64encode(image_file.read()).decode("utf-8")
conversation_base64 = {
"messages": [
{"content": "create an image of a branded apple", "role": "user"},
{
"content": [{"type": "image_url", "image_url": {"url": f"data:image/jpg;base64,{base64_image}"}}],
"role": "assistant",
},
]
}
# Run the evaluation on the conversation to output the result.
safety_score = safety_evaluator(conversation=conversation_image_url)
В настоящее время поддерживаются образные и мультимодальные оценщики:
- Ограничение одного цикла: беседа может содержать только одно сообщение пользователя и одно сообщение помощника.
- Беседы, имеющие только одно системное сообщение.
- Нагрузка беседы, которая меньше 10 МБ, включая изображения.
- Абсолютные URL-адреса и изображения в кодировке Base64.
- Несколько изображений в одном повороте.
- Форматы ФАЙЛОВ JPG/JPEG, PNG и GIF.
Настройка
Для вычислителей качества с поддержкой ИИ, за исключением GroundednessProEvaluator предварительной версии, необходимо указать модель GPT (gpt-35-turbo, , gpt-4gpt-4-turbogpt-4oилиgpt-4o-mini) в вашей учетной записи.model_config Модель GPT выступает в качестве судьи для оценки данных оценки. Мы поддерживаем схемы конфигурации моделей как Azure OpenAI, так и OpenAI. Для оптимальной производительности и разборчивости ответов с нашими оценщиками рекомендуется использовать модели GPT, которые не находятся в предварительном просмотре.
Замечание
Настоятельно рекомендуется заменить gpt-3.5-turbo на gpt-4o-mini в вашей модели оценщика. По данным OpenAI, gpt-4o-mini дешевле, более способный и такой же быстрый.
Убедитесь, что у вас есть по крайней мере Cognitive Services OpenAI User роль для ресурса Azure OpenAI, чтобы выполнять запросы на вывод, используя ключ API. Дополнительные сведения о разрешениях см. в статье "Разрешения" для ресурса Azure OpenAI.
Для всех оценщиков рисков и безопасности и GroundednessProEvaluator (предварительная версия), вместо развертывания GPT в model_config, необходимо предоставить информацию azure_ai_project. Эта функция получает доступ к серверной части сервиса оценки, используя ваш проект Foundry.
Подсказки для встроенных оценщиков с поддержкой ИИ
Мы открываем в свободный доступ подсказки наших оценщиков качества в библиотеке оценщиков и репозитории Python SDK для оценки Azure AI для обеспечения прозрачности, за исключением средств оценки безопасности, поддерживаемых Azure AI Content Safety и GroundednessProEvaluator. Эти запросы служат в качестве инструкций для языковой модели для выполнения задачи оценки, которая требует четкого определения метрики и связанных с ней рубрик оценки. Мы настоятельно рекомендуем настроить определения и рубрики оценивания под ваши конкретные сценарии. Дополнительные сведения см. в разделе "Пользовательские оценщики".
Составные оценщики
Композитные оценщики — это встроенные оценщики, которые объединяют отдельные метрики качества или безопасности. Они предоставляют широкий спектр метрик сразу же как для пар запрос-ответ, так и для сообщений чата.
| Составной вычислитель | Содержит | Описание |
|---|---|---|
QAEvaluator |
GroundednessEvaluator
RelevanceEvaluator
CoherenceEvaluator
FluencyEvaluator
SimilarityEvaluator
F1ScoreEvaluator
|
Объединяет все вычислители качества для единого вывода объединенных метрик для пар запросов и ответов. |
ContentSafetyEvaluator |
ViolenceEvaluator
SexualEvaluator, SelfHarmEvaluator, HateUnfairnessEvaluator |
Объединяет всех оценщиков безопасности для единого результата объединенных метрик для пар запросов и ответов. |
Локальная оценка для тестовых наборов данных с помощью evaluate()
После проверки встроенных или пользовательских оценщиков на одной строке данных можно объединить несколько оценщиков с помощью evaluate() API на всем тестовом наборе данных.
Необходимые действия по настройке для проектов Microsoft Foundry
Если этот сеанс является вашим первым запуском вычислений и ведением журнала в проекте Foundry, вам может потребоваться выполнить следующие действия по настройке:
- Создайте и подключите учетную запись хранения к проекту Foundry на уровне ресурса. Этот шаблон Bicep подготавливает и подключает учетную запись хранилища к вашему проекту Foundry с помощью аутентификации по ключу.
- Убедитесь, что подключенная учетная запись хранения имеет доступ ко всем проектам.
- Если вы подключили учетную запись хранения к Microsoft Entra ID, обязательно предоставьте разрешения удостоверения Microsoft для роли Владелец данных BLOB-объекта хранилища как вашему аккаунту, так и ресурсу проекта Foundry в портале Azure.
Оцените на наборе данных и записывайте результаты в Foundry.
Чтобы API правильно проанализировало данные, необходимо указать соответствие столбцов, чтобы связать столбец из набора данных с ключевыми словами, которые принимают оценщики. В этом примере указывается сопоставление данных для query, responseи context.
from azure.ai.evaluation import evaluate
result = evaluate(
data="data.jsonl", # Provide your data here:
evaluators={
"groundedness": groundedness_eval,
"answer_length": answer_length
},
# Column mapping:
evaluator_config={
"groundedness": {
"column_mapping": {
"query": "${data.queries}",
"context": "${data.context}",
"response": "${data.response}"
}
}
},
# Optionally, provide your Foundry project information to track your evaluation results in your project portal.
azure_ai_project = azure_ai_project,
# Optionally, provide an output path to dump a JSON file of metric summary, row-level data, and the metric and Foundry project URL.
output_path="./myevalresults.json"
)
Подсказка
Получите содержимое свойства result.studio_url, чтобы создать ссылку для просмотра зарегистрированных результатов оценки в вашем проекте Foundry.
Оценщик выводит результаты в виде словаря, который содержит совокупные metrics данные и метрики уровня строк. См. следующий пример выходных данных:
{'metrics': {'answer_length.value': 49.333333333333336,
'groundedness.gpt_groundeness': 5.0, 'groundedness.groundeness': 5.0},
'rows': [{'inputs.response': 'Paris is the capital of France.',
'inputs.context': 'Paris has been the capital of France since '
'the 10th century and is known for its '
'cultural and historical landmarks.',
'inputs.query': 'What is the capital of France?',
'outputs.answer_length.value': 31,
'outputs.groundeness.groundeness': 5,
'outputs.groundeness.gpt_groundeness': 5,
'outputs.groundeness.groundeness_reason': 'The response to the query is supported by the context.'},
{'inputs.response': 'Albert Einstein developed the theory of '
'relativity.',
'inputs.context': 'Albert Einstein developed the theory of '
'relativity, with his special relativity '
'published in 1905 and general relativity in '
'1915.',
'inputs.query': 'Who developed the theory of relativity?',
'outputs.answer_length.value': 51,
'outputs.groundeness.groundeness': 5,
'outputs.groundeness.gpt_groundeness': 5,
'outputs.groundeness.groundeness_reason': 'The response to the query is supported by the context.'},
{'inputs.response': 'The speed of light is approximately 299,792,458 '
'meters per second.',
'inputs.context': 'The exact speed of light in a vacuum is '
'299,792,458 meters per second, a constant '
"used in physics to represent 'c'.",
'inputs.query': 'What is the speed of light?',
'outputs.answer_length.value': 66,
'outputs.groundeness.groundeness': 5,
'outputs.groundeness.gpt_groundeness': 5,
'outputs.groundeness.groundeness_reason': 'The response to the query is supported by the context.'}],
'traces': {}}
Требования к evaluate()
API evaluate() имеет несколько требований к формату данных, который он принимает и как он обрабатывает имена ключей параметров вычислителя, чтобы диаграммы результатов оценки в проекте Foundry отображались правильно.
Формат данных
evaluate() API принимает только данные в формате JSONL. Для всех встроенных оценщиков evaluate() необходимы данные в следующем формате с обязательными полями ввода. См. предыдущий раздел о необходимых входных данных для встроенных оценщиков. Следующий фрагмент кода представляет собой пример того, что может выглядеть одна строка:
{
"query":"What is the capital of France?",
"context":"France is in Europe",
"response":"Paris is the capital of France.",
"ground_truth": "Paris"
}
Формат параметра оценивателя
При передаче встроенных оценщиков важно указать правильное соответствие ключевых слов в списке параметров evaluators. В следующей таблице приведено сопоставление ключевых слов, необходимое для получения результатов от встроенных вычислителей, которые будут отображаться в пользовательском интерфейсе при входе в проект Foundry.
| Оценщик | Параметр ключевого слова |
|---|---|
GroundednessEvaluator |
"groundedness" |
GroundednessProEvaluator |
"groundedness_pro" |
RetrievalEvaluator |
"retrieval" |
RelevanceEvaluator |
"relevance" |
CoherenceEvaluator |
"coherence" |
FluencyEvaluator |
"fluency" |
SimilarityEvaluator |
"similarity" |
F1ScoreEvaluator |
"f1_score" |
RougeScoreEvaluator |
"rouge" |
GleuScoreEvaluator |
"gleu" |
BleuScoreEvaluator |
"bleu" |
MeteorScoreEvaluator |
"meteor" |
ViolenceEvaluator |
"violence" |
SexualEvaluator |
"sexual" |
SelfHarmEvaluator |
"self_harm" |
HateUnfairnessEvaluator |
"hate_unfairness" |
IndirectAttackEvaluator |
"indirect_attack" |
ProtectedMaterialEvaluator |
"protected_material" |
CodeVulnerabilityEvaluator |
"code_vulnerability" |
UngroundedAttributesEvaluator |
"ungrounded_attributes" |
QAEvaluator |
"qa" |
ContentSafetyEvaluator |
"content_safety" |
Ниже приведен пример настройки evaluators параметров:
result = evaluate(
data="data.jsonl",
evaluators={
"sexual":sexual_evaluator,
"self_harm":self_harm_evaluator,
"hate_unfairness":hate_unfairness_evaluator,
"violence":violence_evaluator
}
)
Локальная оценка на целевом объекте
Если у вас есть список запросов, которые требуется выполнить, а затем оценить, evaluate() API также поддерживает target параметр. Этот параметр может отправлять запросы приложению для сбора ответов, а затем запускать оценщики на полученных запросах и ответах.
Целевой объект может быть любым вызываемым классом в каталоге. В этом примере есть скрипт askwiki.py Python с вызываемым классом askwiki() , заданным в качестве целевого объекта. Если у вас есть набор данных запросов, которые можно отправить в простое askwiki приложение, можно оценить заземление выходных данных. Убедитесь, что для ваших данных в "column_mapping" указано правильное сопоставление столбцов. Можно использовать "default" для указания сопоставления столбцов для всех оценщиков.
Ниже содержимое в "data.jsonl":
{"query":"When was United States found ?", "response":"1776"}
{"query":"What is the capital of France?", "response":"Paris"}
{"query":"Who is the best tennis player of all time ?", "response":"Roger Federer"}
from askwiki import askwiki
result = evaluate(
data="data.jsonl",
target=askwiki,
evaluators={
"groundedness": groundedness_eval
},
evaluator_config={
"default": {
"column_mapping": {
"query": "${data.queries}",
"context": "${outputs.context}",
"response": "${outputs.response}"
}
}
}
)
Связанный контент
- Клиентская библиотека оценки ИИ Azure для Python
- Устранение неполадок пакета SDK для оценки ИИ
- Наблюдаемость в генеративном ИИ
- Выполнение вычислений в облаке с помощью пакета SDK для Microsoft Foundry
- Создание искусственных и имитированных данных для оценки
- Просмотр результатов оценки на портале Foundry
- Начало работы с Foundry
- Начните с образцов для оценки