Поделиться через


Средство Python для потоков на портале Azure AI Foundry

Внимание

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

Средство Python потока запросов предлагает настраиваемые фрагменты кода как автономные исполняемые узлы. Вы можете быстро создавать средства Python, изменять код и проверять результаты.

Сборка с помощью средства Python

  1. Создайте или откройте поток в Azure AI Foundry. Дополнительные сведения см. в разделе "Создание потока".

  2. Выберите +Python , чтобы добавить средство Python в поток.

    Снимок экрана: инструмент Python, добавленный в поток на портале Azure AI Foundry.

  3. Введите значения входных параметров средства Python, описанных в таблице входных данных. Например, в текстовом поле ввода кода можно ввести следующий код Python:

    from promptflow import tool
    
    @tool
    def my_python_tool(message: str) -> str:
        return 'hello ' + message
    

    Дополнительные сведения см. в разделе "Требования к вводу кода Python".

  4. Добавьте дополнительные средства в поток по мере необходимости. Или нажмите кнопку "Выполнить" , чтобы запустить поток.

  5. Выходные данные описаны в таблице выходных данных. На основе предыдущего примера ввода кода 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 большой языковой модели или другие необходимые учетные данные.

  1. Перейдите на страницу центра управления для проекта.

  2. В разделе "Концентратор" или "Проект" выберите "Подключенные ресурсы".

  3. Выберите + Новое подключение.

  4. Выберите пользовательскую службу. Вы можете определить имя подключения. Вы можете добавить несколько пар "ключ-значение" для хранения учетных данных и ключей, выбрав "Добавить пары "ключ-значение".

    Примечание.

    Убедитесь, что по крайней мере одна пара "ключ-значение" имеет значение секрета. В противном случае соединение не будет создано успешно. Чтобы задать одну пару "ключ-значение" в качестве секрета, выберите секрет для шифрования и хранения значения ключа.

Использование настраиваемого подключения в Python

Чтобы использовать пользовательское подключение в коде Python, выполните следующие действия.

  1. В разделе кода на узле Python импортируйте пользовательскую библиотеку from promptflow.connections import CustomConnectionподключений. Определите входной параметр типа CustomConnection в функции средства.
  2. Анализ входных данных в разделе ввода. Затем выберите целевое настраиваемое подключение в раскрывающемся списке значений.

Например:

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

Следующие шаги