herramienta Python para gestionar flujos en el Portal de Foundry de Microsoft (clásico)

Solo se aplica a:portal Foundry (clásico). Este artículo no está disponible para el nuevo portal de Foundry. Obtenga más información sobre el nuevo portal.

Nota

Los vínculos de este artículo pueden abrir contenido en la nueva documentación de Microsoft Foundry en lugar de la documentación de Foundry (clásico) que está viendo ahora.

Advertencia

Prompt flow en Microsoft Foundry y Azure Machine Learning se retirará el 20 de abril de 2027. Prompt flow ya no se recomienda para nuevos desarrollos. Migre las aplicaciones e implementaciones existentes de Prompt flow a Microsoft Agent Framework antes del 20 de abril de 2027.

Las imágenes de contenedor de Prompt flow ya no reciben actualizaciones, incluidas las actualizaciones de seguridad y de paquetes. Esto se aplica a las imágenes de entorno de ejecución de Prompt flow, incluidas promptflow-runtime, promptflow-runtime-stable y promptflow-python.

Después del 20 de abril de 2027, Prompt flow, incluida la experiencia de creación web en Microsoft Foundry y Azure Machine Learning, las extensiones de VS Code y las imágenes de contenedor relacionadas de Prompt flow, dejará de ser compatible y de estar disponible.

Si su aplicación depende de implementaciones de Prompt flow o de imágenes en tiempo de ejecución, planifique trasladar esas cargas de trabajo a alternativas compatibles, como Microsoft Agent Framework, antes de la fecha de retirada. Para obtener instrucciones sobre la migración, consulte la guía de migración de flujo de mensajes y ejemplos de código de migración.

La herramienta de flujo de mensajes Python proporciona fragmentos de código personalizados como nodos ejecutables independientes. Puede crear rápidamente herramientas de Python, editar código y comprobar los resultados.

Requisitos previos

Importante

En este artículo se proporciona soporte heredado para proyectos basados en concentradores. No funcionará para proyectos de Foundry. Vea ¿Cómo sé qué tipo de proyecto tengo?

SDK nota de compatibilidad: Los ejemplos de código requieren una versión específica del SDK de Microsoft Foundry. Si encuentra problemas de compatibilidad, considere migrar de un proyecto basado en hub a un proyecto Foundry.

Compilación con la herramienta Python

  1. Cree o abra un flujo en Microsoft Foundry. Para obtener más información, consulte Creación de un flujo.

  2. Seleccione + Python para agregar la herramienta de Python al flujo.

    Screenshot que muestra la herramienta Python agregada a un flujo en Foundry portal.

  3. Escriba valores para los parámetros de entrada de la herramienta Python que se describen en la tabla Inputs. Por ejemplo, en el cuadro de texto de entrada Code escriba el código Python siguiente:

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

    Para obtener más información, consulte Python requisitos de entrada de código.

  4. Agregue más herramientas a tu flujo de trabajo, según sea necesario. O bien, seleccione Ejecutar para ejecutar el flujo.

  5. Las salidas se describen en la tabla Salidas. En función del ejemplo de código Python anterior, si el mensaje de entrada es "mundo", la salida es hello world.

Entradas

La lista de entradas cambia en función de los argumentos de la función de herramienta, después de guardar el código. Agregar tipo a argumentos y return valores ayuda a la herramienta a mostrar los tipos correctamente.

Nombre Tipo Descripción Obligatorio
Código string Fragmento de código Python.
Entradas - Lista de los parámetros de la función de herramienta y sus asignaciones. -

Salidas

La salida es el valor return de la función de herramienta Python. Por ejemplo, considere la siguiente función de herramienta Python:

from promptflow import tool

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

Si el mensaje de entrada es "world", la salida es hello world.

Tipos

Tipo ejemplo de Python Descripción
int param: int Tipo entero
bool param: bool Tipo booleano
string parámetro: str Tipo de cadena
double param: flotante Tipo doble
lista param: list or param: List[T] Tipo de lista
objeto param: dict o param: Dict[K, V] Tipo de objeto
Conexión param: CustomConnection El tipo de conexión se maneja de manera especial.

Tratar los parámetros con anotación de tipo Connection como entradas de conexión. Este tratamiento significa:

  • La extensión de flujo del símbolo del sistema muestra un selector para seleccionar la conexión.
  • Durante el tiempo de ejecución, el flujo de avisos intenta encontrar la conexión con el mismo nombre a partir del valor del parámetro que pasa.

Nota

La Union[...] anotación de tipo solo admite el tipo de conexión. Un ejemplo es param: Union[CustomConnection, OpenAIConnection].

requisitos de entrada de código de Python

En esta sección se describen los requisitos para la entrada de código Python para la herramienta Python.

  • El código de herramienta Python debe constar de código Python completo, incluidas las importaciones de módulo necesarias.
  • El código de herramienta de Python debe contener una función decorada con @tool (función de herramienta), que actúa como punto de entrada para la ejecución. Aplique el @tool decorador solo una vez dentro del fragmento de código.
  • Asigne los parámetros de función de la herramienta Python en la sección Inputs.
  • La función de Python debe tener una declaración de retorno y un valor, que es la salida de la herramienta.

El código de Python siguiente es un ejemplo de procedimientos recomendados:

from promptflow import tool

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

Consumo de una conexión personalizada en la herramienta Python

Si está desarrollando una herramienta de Python que requiere llamar a servicios externos con autenticación, utilice una conexión personalizada en un flujo de comandos. Con esta conexión, puede almacenar de forma segura la clave de acceso y, a continuación, recuperarla en el código de Python.

Creación de una conexión personalizada

Cree una conexión personalizada que almacene todas las claves de API de su modelo de lenguaje extenso u otras credenciales necesarias.

Importante

En este artículo se proporciona soporte heredado para proyectos basados en concentradores. No funcionará para proyectos de Foundry. Vea ¿Cómo sé qué tipo de proyecto tengo?

SDK nota de compatibilidad: Los ejemplos de código requieren una versión específica del SDK de Microsoft Foundry. Si encuentra problemas de compatibilidad, considere migrar de un proyecto basado en hub a un proyecto Foundry.

  1. Vaya a la página Centro de administración del proyecto.

  2. En el encabezado Hub o Project, seleccione Recursos conectados.

  3. Seleccione + Nueva conexión.

  4. Seleccione Servicio personalizado . Puede definir el nombre de la conexión. Seleccione Agregar pares clave-valor para agregar varios pares clave-valor para almacenar las credenciales y las claves.

    Nota

    Asegúrese de que al menos un par clave-valor esté establecido como secreto. De lo contrario, la conexión no se crea correctamente. Para establecer un par clave-valor como secreto, seleccione secreto para cifrar y almacenar el valor de clave.

Consumo de una conexión personalizada en Python

Para consumir una conexión personalizada en tu código en Python:

  1. En la sección de código del nodo de Python, importe la biblioteca de conexiones personalizada mediante from promptflow.connections import CustomConnection. Defina un parámetro de entrada del tipo CustomConnection en la función de herramienta.
  2. Analice la entrada en la sección de entrada. A continuación, seleccione la conexión personalizada de destino en la lista desplegable de valores.

Por ejemplo:

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

Pasos siguientes