Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется только к:Портал Foundry (классический). Эта статья недоступна для нового портала Foundry.
Дополнительные сведения о новом портале.
Примечание
Содержание в новой документации Microsoft Foundry может открываться по ссылкам в этой статье вместо документации Foundry (классической версии), которую вы просматриваете сейчас.
Предупреждение
Функция Prompt flow в Microsoft Foundry и Машинное обучение Azure будет выведена из эксплуатации 20 апреля 2027 года. Prompt flow больше не рекомендуется использовать для новых разработок. Перенесите существующие приложения и развертывания Prompt flow в Microsoft Agent Framework не позднее 20 апреля 2027 г.
Образы контейнеров Prompt flow больше не получают обновления, включая обновления безопасности и обновления пакетов. Это относится к образам среды выполнения Prompt flow, включая promptflow-runtime, promptflow-runtime-stable и promptflow-python.
После 20 апреля 2027 г. Prompt flow, включая веб-интерфейс разработки в Microsoft Foundry и Машинное обучение Azure, расширения VS Code и связанные образы контейнеров Prompt flow, больше не будут поддерживаться и станут недоступны.
Если ваше приложение зависит от развертываний Prompt flow или образов среды выполнения, запланируйте перенос этих рабочих нагрузок на поддерживаемые альтернативы, такие как Microsoft Agent Framework, до даты прекращения поддержки. Руководство по миграции см. в руководстве по миграции Prompt flow и примерах кода для миграции.
Инструмент Python для потока подсказок предоставляет настраиваемые фрагменты кода как исполняемые автономно узлы. Вы можете быстро создавать средства Python, изменять код и проверять результаты.
Необходимые условия
Важно
Эта статья предоставляет устаревшую поддержку для проектов на основе концентраторов. Он не будет работать для проектов Foundry. Узнайте , какой у меня тип проекта?
примечание о совместимости SDK. Для примеров кода требуется определенная версия пакета SDK для Foundry Microsoft. При возникновении проблем совместимости рассмотрите возможность миграции из концентратора в проект Foundry.
- Учетная запись Azure с активной подпиской. Если у вас нет, создайте учетную запись free Azure, которая включает бесплатную пробную подписку.
- Если у вас нет одного, создайте проект на основе концентратора.
Создание с помощью средства Python
Создайте или откройте поток в Microsoft Foundry. Дополнительные сведения см. в разделе "Создание потока".
Выберите + Python, чтобы добавить средство Python в поток.
Введите значения входных параметров Python средства, описанных в таблице Inputs. Например, в текстовом поле Code введите следующий код Python:
from promptflow import tool @tool def my_python_tool(message: str) -> str: return 'hello ' + messageДополнительные сведения см. в разделе Python требования к вводу кода.
Добавьте больше инструментов в вашу схему по мере необходимости. Или нажмите кнопку "Выполнить" , чтобы запустить поток.
Выходные данные описаны в таблице выходных данных. На основе предыдущего примера кода на Python, если входное сообщение — "мир", выходные данные
hello world.
Входы
Список входных данных изменяется в зависимости от аргументов функции инструмента после сохранения кода. Добавление типов в аргументы и значения return помогает инструменту правильно отображать их.
| Имя | Тип | Описание | Обязательно |
|---|---|---|---|
| Код | Строка | Фрагмент кода Python. | Да |
| Входы | - | Список параметров функции средства и его назначений. | - |
Выходы
Выходные данные — это значение return функции средства Python. Например, рассмотрим следующую функцию средства Python:
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Если входное сообщение — "мир", результат — hello world.
Типы
| Тип | пример Python | Описание |
|---|---|---|
| Int | param: int | Целочисленный тип |
| Bool | param: bool | Логический тип |
| Строка | param: str | Тип строки |
| Двухместный | параметр: float | Двойной тип |
| Список | param: list или param: List[T] | Тип списка |
| Объект | param: dict или param: Dict[K, V] | Тип объекта |
| Подключение | param: CustomConnection | Тип подключения обрабатывается специально. |
Обрабатывайте параметры с аннотацией типа Connection как входные данные для подключения. Это лечение означает:
- Расширение потока запроса показывает селектор для выбора подключения.
- Во время выполнения поток подсказок пытается найти соединение с тем же именем в значении параметра, который вы передаете.
Примечание
Заметка Union[...] типа поддерживает только тип подключения. Пример: param: Union[CustomConnection, OpenAIConnection].
Требования к входным данным для Python-кода
В этом разделе описываются требования для ввода кода Python для средства Python.
- Python код инструментов должен состоять из полного Python кода, включая любой необходимый импорт модулей.
- Python код инструментов должен содержать функцию, декорированную
@tool(функция инструмента), выступающую в качестве точки входа для выполнения.@toolПримените декоратор только один раз в фрагменте кода. - Назначьте параметры функции средства Python в разделе
Inputs. - Функция инструмента Python должна иметь оператор return и значение, которое является выходным результатом инструмента.
Следующий Python код является примером рекомендаций.
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Использовать настраиваемое подключение в инструменте Python
Если вы разрабатываете средство Python, требующее вызова внешних служб с проверкой подлинности, используйте настраиваемое подключение в потоке запросов. С помощью этого подключения можно безопасно хранить ключ доступа, а затем получить его в коде Python.
Создание настраиваемого подключения
Создайте настраиваемое подключение, которое хранит все ключ API большой языковой модели или другие необходимые учетные данные.
Важно
Эта статья предоставляет устаревшую поддержку для проектов на основе концентраторов. Он не будет работать для проектов Foundry. Узнайте , какой у меня тип проекта?
примечание о совместимости SDK. Для примеров кода требуется определенная версия пакета SDK для Foundry Microsoft. При возникновении проблем совместимости рассмотрите возможность миграции из концентратора в проект Foundry.
- Учетная запись Azure с активной подпиской. Если у вас нет, создайте учетную запись free Azure, которая включает бесплатную пробную подписку.
- Если у вас нет одного, создайте проект на основе концентратора.
Перейдите на страницу центра управления для проекта.
В разделе Hub или Project выберите Connected resources.
Выберите +Создать подключение.
Выберите пользовательскую службу. Вы можете определить имя подключения. Выберите "Добавить пары "ключ-значение ", чтобы добавить несколько пар "ключ-значение", чтобы сохранить учетные данные и ключи.
Примечание
Убедитесь, что по крайней мере одна пара "ключ-значение" настроена как секретная. В противном случае подключение не создается успешно. Чтобы задать одну пару "ключ-значение" в качестве секрета, выберите секрет для шифрования и хранения значения ключа.
Использование настраиваемого подключения в Python
Чтобы воспользоваться настраиваемым подключением в вашем коде Python:
- В разделе кода узла Python импортируйте пользовательскую библиотеку подключений с помощью
from promptflow.connections import CustomConnection. Определите входной параметр типаCustomConnectionв функции средства. - Анализ входных данных в разделе ввода. Затем выберите целевое настраиваемое подключение в раскрывающемся списке значений.
Например:
from promptflow import tool
from promptflow.connections import CustomConnection
@tool
def my_python_tool(message: str, myconn: CustomConnection) -> str:
# Get authentication key-values from the custom connection
connection_key1_value = myconn.key1
connection_key2_value = myconn.key2