Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
Разработка функций потока запросов закончилась 20 апреля 2026 г. Функция будет полностью прекращена 20 апреля 2027 г. В дату выхода на пенсию, Prompt Flow переходит в режим только для чтения. Существующие потоки будут продолжать работать до этой даты.
Рекомендуемое действие: Перенесите рабочие нагрузки Prompt Flow на Microsoft Agent Framework до 20 апреля 2027 г.
В этой статье рассматриваются часто задаваемые вопросы об использовании потока запроса.
Проблемы, связанные с созданием потока
Ошибка "Средство пакета не найдена" возникает при обновлении потока для интерфейса с кодом.
При обновлении потоков для опыта с приоритетом кода, если поток использовал поиск индекса Faiss, запрос векторного индекса, поиск векторной базы данных или инструменты безопасности контента (текст), может появиться следующее сообщение об ошибке:
Package tool 'embeddingstore.tool.faiss_index_lookup.search' is not found in the current environment.
Чтобы устранить проблему, у вас есть два варианта:
Вариант 1
Обновите сеанс вычислений до последней версии базового образа.
Выберите режим необработанного файла , чтобы перейти в представление необработанного кода. Затем откройте файл flow.dag.yaml .
Обновите имена инструментов.
Инструмент Новое имя средства Поиск индекса Faiss promptflow_vectordb.tool.faiss_index_lookup.FaissIndexLookup.search Поиск векторного индекса promptflow_vectordb.tool.vector_index_lookup.VectorIndexLookup.search Поиск векторной базы данных promptflow_vectordb.tool.vector_db_lookup.VectorDBLookup.search Безопасность содержимого (текст) content_safety_text.tools.content_safety_text_tool.analyze_text Сохраните файл flow.dag.yaml .
Вариант 2
- Обновление сеанса вычислений до последней версии базового образа
- Удалите старое средство и повторно создайте новое средство.
Ошибка "Нет такого файла или каталога"
Поток Prompt использует общее хранилище файлов для сохранения моментального снимка потока. Если хранилище общей папки имеет проблему, может возникнуть следующая проблема. Ниже приведены некоторые обходные пути, которые можно попробовать:
Если вы используете закрытый аккаунт хранения, просмотрите Сетевую изоляцию в потоках запросов, чтобы убедиться, что рабочая область может получить доступ к аккаунту хранения.
Если учетная запись хранения включена для общедоступного доступа, проверьте, есть ли в рабочей области хранилище
workspaceworkingdirectoryданных. Он должен быть типом общего доступа к файлам.- Если вы не получили это хранилище данных, вам нужно добавить его в рабочую область.
- Создайте общую папку с именем
code-391ff5ac-6576-460f-ba4d-7e03433c68b6. - Создайте хранилище данных с именем
workspaceworkingdirectory. См. статью "Создание хранилищ данных".
- Создайте общую папку с именем
- Если у вас есть
workspaceworkingdirectoryхранилище данных, но его тип не являетсяblob, то создайте новую рабочую область. Используйте хранилище, которое не включает иерархические пространства имен для Azure Data Lake Storage 2-го поколения в качестве учетной записи хранения рабочей области по умолчанию. Дополнительные сведения см. в статье "Создание рабочей области".
- Если вы не получили это хранилище данных, вам нужно добавить его в рабочую область.
Поток отсутствует
Существуют возможные причины для этой проблемы:
Если общедоступный доступ к учетной записи хранения отключен, необходимо обеспечить доступ путем добавления IP-адреса в брандмауэр хранилища или включения доступа через виртуальную сеть с частной конечной точкой, подключенной к учетной записи хранения.
В некоторых случаях ключ учетной записи в хранилище данных не синхронизируется с учетной записью хранения, вы можете попытаться обновить ключ учетной записи на странице сведений о хранилище данных, чтобы устранить эту проблему.
Если вы используете Microsoft Foundry, аккаунт хранилища должен настроить CORS, чтобы разрешить Foundry доступ к аккаунту хранилища, в противном случае появится проблема с отсутствием потока. Чтобы устранить эту проблему, можно добавить следующие параметры CORS в учетную запись хранения.
- Перейдите на страницу учетной записи хранения, выберите
Resource sharing (CORS)в разделеsettingsи выберите вкладкуFile service. - Допустимые источники:
https://mlworkspace.azure.ai,https://ml.azure.com,https://*.ml.azure.com,https://ai.azure.com,https://*.ai.azure.com,https://mlworkspacecanary.azure.ai,https://mlworkspace.azureml-test.net - Разрешенные методы:
DELETE, GET, HEAD, POST, OPTIONS, PUT
- Перейдите на страницу учетной записи хранения, выберите
Проблемы, связанные с сеансом вычислений
Сбой выполнения из-за отсутствия модуля с именем XXX
Тип ошибки, связанный с вычислительным сеансом, заключается в отсутствии необходимых пакетов. Если вы используете среду по умолчанию, убедитесь, что образ сеанса вычислений использует последнюю версию. Если вы используете пользовательский базовый образ, убедитесь, что установлены все необходимые пакеты в контексте Docker. Дополнительные сведения см. в разделе "Настройка базового образа для сеанса вычислений".
Где найти экземпляр без сервера, используемый в сеансе вычислений?
Вы можете просмотреть бессерверный экземпляр, используемый сеансом вычислений на вкладке списка сеансов вычислений на странице вычислений. Узнайте больше об управлении бессерверным экземпляром.
Сбои сеанса вычислений с использованием пользовательского базового образа
Сбой запуска сеанса вычислений с использованием requirements.txt или пользовательского базового образа
Поддержка сеанса вычислений для использования requirements.txt или пользовательского базового изображения в flow.dag.yaml для настройки изображения. Мы рекомендуем использовать requirements.txt для распространенных случаев, который будет использовать pip install -r requirements.txt для установки пакетов. Если у вас есть зависимости, которые выходят за пределы пакетов Python, необходимо следовать настройке базового образа, чтобы создать новый образ на основе базового образа prompt flow. Затем используйте его в flow.dag.yaml. Узнайте больше , как указать базовый образ в сеансе вычислений.
- Вы не можете использовать произвольный базовый образ для создания сеанса вычислений, необходимо использовать базовый образ, предоставляемый потоком запроса.
- Не закрепляйте версию
promptflowиpromptflow-toolsвrequirements.txt, так как мы уже включили их в базовый образ. Использование старойpromptflowверсии иpromptflow-toolsможет привести к непредвиденному поведению.
Проблемы, связанные с выполнением потока
Как найти необработанные входные и выходные данные в средстве LLM для дальнейшего изучения?
В потоке запросов на странице потока с успешным выполнением и на странице подробных сведений о выполнении можно найти необработанные входные и выходные данные средства LLM в разделе выходных данных. Нажмите кнопку view full output, чтобы просмотреть полные результаты.
Trace Раздел содержит каждый запрос и ответ на средство LLM. Вы можете проверить необработанное сообщение, отправленное модели LLM, и необработанный ответ модели LLM.
Как исправить ошибку 409 из Azure OpenAI?
Вы можете столкнуться с ошибкой 409 из Azure OpenAI, это означает, что вы достигли предела скорости Azure OpenAI. Вы можете проверить сообщение об ошибке в выходном разделе узла LLM. Дополнительные сведения о ограничении скорости Azure OpenAI.
Определение того, какой узел потребляет больше всего времени
Проверьте журналы сеансов вычислений.
Попробуйте найти следующий формат журнала предупреждений:
{node_name} выполняется в течение {длительности} секунд.
Например:
Case 1: Скриптовый узел Python работает долго.
В этом случае можно найти, что
PythonScriptNodeработает в течение длительного времени (почти 300 секунд). Затем можно проверить сведения об узле, чтобы выяснить, в чем заключается проблема.Случай 2: Процесс на узле LLM выполняется в течение длительного времени.
В этом случае, если вы найдете сообщение
request canceledв журналах, это может быть связано с тем, что вызов API OpenAI занимает слишком много времени и превышает ограничение времени ожидания.Время ожидания API OpenAI может быть вызвано проблемой сети или сложным запросом, требующим больше времени обработки. Дополнительные сведения см. в разделе "Время ожидания API OpenAI".
Подождите несколько секунд и повторите запрос. Обычно это действие устраняет любые проблемы с сетью.
Если повторная попытка не работает, проверьте, используете ли вы длинную модель контекста, например
gpt-4-32k, и задайте для него большое значениеmax_tokens. Если это так, такое поведение ожидаемо, поскольку ваш запрос может сгенерировать длинный ответ, который превышает верхний порог в интерактивном режиме. В этой ситуации рекомендуется попробоватьBulk test, так как этот режим не имеет параметра времени ожидания.
Если вы не можете найти ничего в журналах, указывающее на конкретную проблему, связанную с узлом:
- Обратитесь к команде prompt flow (promptflow-eng) с журналами. Мы пытаемся определить первопричину.
Проблемы, связанные с развертыванием Flow
Отсутствие авторизации для выполнения действия "Microsoft. MachineLearningService/workspaces/datastores/read"
Если поток содержит инструмент Index Look Up, после развертывания потока конечная точка должна получить доступ к хранилищу данных рабочей области для чтения yaml-файла MLIndex или папки FAISS, содержащей блоки и встраивания. Таким образом, необходимо вручную предоставить разрешение на выполнение этой операции для идентификатора конечной точки.
Вы можете предоставить удостоверение конечной точки AzureML Специалист по обработке и анализу данных в пределах рабочей области или назначить пользовательскую роль, содержащую операцию "MachineLearningService/workspace/datastore/reader".
Проблема тайм-аута при обращении к конечной точке во время обработки исходящего запроса
При использовании CLI или SDK для развертывания потока может возникнуть ошибка тайм-аута. По умолчанию request_timeout_ms значение равно 5000. Можно указать не более 5 минут, что составляет 300 000 мс. Ниже показано, как указать время ожидания запроса в yaml-файле развертывания. Дополнительные сведения см. в схеме развертывания.
request_settings:
request_timeout_ms: 300000
Ошибка проверки подлинности в API OpenAI
Если вы повторно создадите ключ Azure OpenAI и вручную обновите подключение, используемое в потоке запросов, может возникнуть ошибка «Unauthorized». Маркер доступа отсутствует, недействителен, аудитория некорректна или срок её действия истёк, когда вызывается существующая конечная точка, созданная до повторной генерации ключа.
Это связано с тем, что подключения, используемые в конечных точках или развертываниях, не будут автоматически обновляться. Любое изменение ключа или секретов в развертываниях должно выполняться вручную, чтобы избежать влияния на онлайн-развертывание в производственной среде из-за непреднамеренных операций в офлайн-режиме.
- Если конечная точка была развернута в пользовательском интерфейсе студии, можно просто развернуть поток в существующую конечную точку с помощью того же имени развертывания.
- Если конечная точка была развернута с помощью пакета SDK или CLI, необходимо внести некоторые изменения в определение развертывания, например добавить фиктивную переменную среды, а затем использовать
az ml online-deployment updateдля обновления развертывания.
Проблемы с уязвимостью при развертывании потоков запросов
Для уязвимостей, связанных с средой выполнения потоков запросов, ниже приведены подходы, которые могут помочь в устранении неполадок.
- Обновите пакеты зависимостей в requirements.txt в папке потока.
- Если вы используете настроенный базовый образ для вашего flow, необходимо обновить среду выполнения flow до последней версии, перестроить базовый образ, а затем повторно развернуть поток.
Для любых других уязвимостей управляемых сетевых развертываний Машинное обучение Azure исправляет проблемы ежемесячно.
"Ошибка MissingDriverProgram" или "Не удалось найти программу драйвера в запросе"
Если вы развертываете поток и столкнетесь со следующей ошибкой, это может быть связано со средой развертывания.
'error':
{
'code': 'BadRequest',
'message': 'The request is invalid.',
'details':
{'code': 'MissingDriverProgram',
'message': 'Could not find driver program in the request.',
'details': [],
'additionalInfo': []
}
}
Could not find driver program in the request
Эта ошибка устранена двумя способами.
(Рекомендуется) Вы можете найти URI образа контейнера на странице сведений о пользовательской среде и задать его в качестве базового образа потока в файле flow.dag.yaml. При развертывании потока в пользовательском интерфейсе вы просто выбираете Использовать среду текущего определения потока, а серверная служба создаст настраиваемую среду на основе этого базового образа и
requirement.txtдля вашего развертывания. Дополнительные сведения о среде, указанной в определении потока.Эту ошибку можно исправить, добавив
inference_configв определение пользовательской среды.Ниже приведен пример настраиваемого определения среды.
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: pf-customized-test
build:
path: ./image_build
dockerfile_path: Dockerfile
description: promptflow customized runtime
inference_config:
liveness_route:
port: 8080
path: /health
readiness_route:
port: 8080
path: /health
scoring_route:
port: 8080
path: /score
Слишком долгое время ответа модели
Иногда вы можете заметить, что развертывание занимает слишком много времени для реагирования. Существует несколько потенциальных факторов для этого.
- Модель, используемая в потоке, недостаточно мощна (например, используйте GPT 3.5 вместо text-ada)
- Запрос индекса не оптимизирован и занимает слишком много времени
- Поток имеет много шагов для обработки
Рекомендуется оптимизировать конечную точку подключения с учетом выше приведенных рекомендаций, чтобы повысить производительность модели.
Не удается получить схему развертывания
После развертывания конечной точки, если вы хотите протестировать её на вкладке "Тест" на странице сведений о конечной точке, и на вкладке "Тест" отображается сообщение Не удается получить схему развертывания, можно попробовать следующие два метода, чтобы устранить эту проблему:
- Убедитесь, что вы предоставили правильное разрешение для идентификатора конечной точки. Узнайте больше о том, как предоставить разрешение для идентификации конечной точки.
- Может быть, это связано с тем, что вы запустили поток в среде выполнения старой версии, а затем осуществили его развертывание в этой же среде. Чтобы обновить среду выполнения, выполните обновление среды выполнения в пользовательском интерфейсе и повторно запустите поток в последней среде выполнения, а затем снова разверните поток.
Доступ запрещен для перечисления секрета рабочей области
Если вы столкнулись с ошибкой, например, "Доступ запрещен для перечня секретов рабочей области", проверьте, предоставили ли вы правильное разрешение для идентификации конечной точки. Узнайте больше о том, как предоставить разрешение для идентификации конечной точки.
Проблемы с проверкой подлинности и удостоверениями
Как использовать хранилище данных без учетных данных в потоке запросов?
Чтобы использовать хранилище без учетных данных на портале Foundry, необходимо в основном выполнить следующие действия:
- Измените тип проверки подлинности хранилища данных на None.
- Предоставьте проекту MSI и пользователю разрешение "участник данных" для BLOB-объектов и файлов в хранилище.
Изменение типа проверки подлинности хранилища данных на None
Вы можете следовать проверке подлинности данных на основе удостоверений, чтобы сделать хранилище данных без учетных данных.
Необходимо изменить тип проверки подлинности хранилища данных на None, который соответствует meid_token проверке подлинности. Вы можете изменить страницу сведений о хранилище данных или CLI/SDK: https://github.com/Azure/azureml-examples/tree/main/cli/resources/datastore
Для хранилища данных на основе BLOB можно изменить тип проверки подлинности, а также включить управляемое удостоверение службы (MSI) рабочей области для доступа к учетной записи хранения.
Для хранилища данных на основе общей папки можно изменить только тип проверки подлинности.
Предоставление разрешения на удостоверение пользователя или управляемое удостоверение
Чтобы использовать хранилище данных без учетных данных в потоке запросов, необходимо предоставить достаточно разрешений для удостоверения пользователя или управляемого удостоверения для доступа к хранилищу данных.
- Убедитесь, что присвоенное системой рабочей области управляемое удостоверение имеет
Storage Blob Data ContributorиStorage File Data Privileged Contributorв учетной записи хранилища, как минимум, разрешения на чтение и запись (рекомендуется также включить разрешение на удаление). - Если вы используете удостоверение пользователя по умолчанию в потоке запросов, необходимо убедиться, что удостоверение пользователя имеет следующую роль в учетной записи хранения:
-
Storage Blob Data Contributorв учетной записи хранилища необходимо как минимум разрешение на чтение и запись (рекомендуется также разрешение на удаление). -
Storage File Data Privileged Contributorв учетной записи хранилища необходимо как минимум разрешение на чтение и запись (рекомендуется также разрешение на удаление).
-
- Если вы используете управляемое удостоверение, назначаемое пользователем, необходимо убедиться, что управляемое удостоверение имеет следующую роль в учетной записи хранения:
-
Storage Blob Data Contributorв учетной записи хранилища необходимо как минимум разрешение на чтение и запись (рекомендуется также разрешение на удаление). -
Storage File Data Privileged Contributorв учетной записи хранилища необходимо как минимум разрешение на чтение и запись (рекомендуется также разрешение на удаление). - Между тем необходимо назначить роль удостоверения
Storage Blob Data Readпользователя учетной записи хранения по крайней мере, если вы хотите использовать поток запросов для разработки и тестирования.
-
- Если вы по-прежнему не можете просматривать страницу сведений о потоке и если ваше первое использование Prompt Flow произошло до 2024-01-01, вам необходимо предоставить MSI рабочей области как
Storage Table Data Contributorучетной записи хранения, связанной с рабочей областью.