Средство Python для потоков на портале Azure AI Foundry
Внимание
Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Средство Python потока запросов предлагает настраиваемые фрагменты кода как автономные исполняемые узлы. Вы можете быстро создавать средства Python, изменять код и проверять результаты.
Сборка с помощью средства Python
Создайте или откройте поток в Azure AI Foundry. Дополнительные сведения см. в разделе "Создание потока".
Выберите +Python , чтобы добавить средство Python в поток.
Введите значения входных параметров средства Python, описанных в таблице входных данных. Например, в текстовом поле ввода кода можно ввести следующий код 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 | Description |
---|---|---|
INT | param: int | Целочисленный тип |
bool | param: bool | Тип Boolean |
строка | param: str | Тип строки |
двойной точности | param: float | Тип double |
список | param: list или param: List[T] | Тип списка |
объект | param: dict или param: Dict[K, V] | Тип объекта |
Connection | param: CustomConnection | Тип подключения обрабатывается специально. |
Параметры с Connection
заметкой типа обрабатываются как входные данные подключения. Это означает:
- Расширение потока запроса показывает селектор для выбора подключения.
- Во время выполнения поток запроса пытается найти соединение с тем же именем из значения параметра, которое было передано.
Примечание.
Заметка Union[...]
типа поддерживается только для типа подключения. Например, param: Union[CustomConnection, OpenAIConnection]
.
Требования к вводу кода Python
В этом разделе описываются требования к входным данным кода Python для средства Python.
- Код средства Python должен состоять из полного кода Python, включая любой необходимый импорт модуля.
- Код средства Python должен содержать функцию, декорированную
@tool
(функцией инструмента), выступающей в качестве точки входа для выполнения. Декоратор@tool
должен применяться только один раз в фрагменте кода. - Параметры функции средства Python должны быть назначены в
Inputs
разделе. - Функция средства Python должна иметь оператор возврата и значение, которое является выходным результатом средства.
Следующий код Python является примером рекомендаций.
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Использование настраиваемого подключения в средстве Python
Если вы разрабатываете средство Python, требующее вызова внешних служб с проверкой подлинности, можно использовать настраиваемое подключение в потоке запросов. Он позволяет безопасно хранить ключ доступа, а затем извлекать его в коде Python.
Создание настраиваемого подключения
Создайте настраиваемое подключение, которое хранит все ключ API большой языковой модели или другие необходимые учетные данные.
Перейдите на страницу центра управления для проекта.
В разделе "Концентратор" или "Проект" выберите "Подключенные ресурсы".
Выберите + Новое подключение.
Выберите пользовательскую службу. Вы можете определить имя подключения. Вы можете добавить несколько пар "ключ-значение" для хранения учетных данных и ключей, выбрав "Добавить пары "ключ-значение".
Примечание.
Убедитесь, что по крайней мере одна пара "ключ-значение" имеет значение секрета. В противном случае соединение не будет создано успешно. Чтобы задать одну пару "ключ-значение" в качестве секрета, выберите секрет для шифрования и хранения значения ключа.
Использование настраиваемого подключения в 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