Compartir a través de


Herramienta de Python para flujos en Inteligencia artificial de Azure Studio

Importante

Los elementos marcados (versión preliminar) en este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

La herramienta de flujo de avisos de Python ofrece fragmentos de código personalizados como nodos ejecutables autocontenido. Puede crear rápidamente herramientas de Python, editar el código y comprobar los resultados.

Compilación con la herramienta de Python

  1. Crear o abrir un flujo en Azure AI Studio. Para más información, consulte Creación de un flujo.

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

    Captura de pantalla que muestra la herramienta de Python agregada a un flujo en Azure AI Studio.

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

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

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

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

  5. Las salidas se describen en la tabla Salidas. En función de la entrada de código de Python de ejemplo anterior, si el mensaje de entrada es "world", 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 el tipo a los argumentos y a los valores return ayuda a que la herramienta muestre los tipos correctamente.

Nombre Escribir Descripción Obligatorio
Código string Fragmento de código de 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 de Python. Por ejemplo, considere la siguiente función de la herramienta de 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
cadena param: str Tipo de cadena
doble param: float Tipo double
list param: list or param: List[T] Tipo de lista
object param: dict or param: Dict[K, V] Tipo de objeto
Conexión param: CustomConnection El tipo de conexión se controla especialmente.

Los parámetros con anotación de tipo Connection se tratan como entradas de conexión, lo que 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 solicitud intenta encontrar la conexión con el mismo nombre del valor del parámetro que se pasó.

Nota:

La anotación de tipo Union[...] solo se admite para 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 de la entrada de código de Python para la herramienta Python.

  • El código de la herramienta de Python debe constar de un código de Python completo, incluidas las importaciones de módulos necesarias.
  • El código de la herramienta de Python debe contener una función decorada con @tool (función de herramienta), que actúa como punto de entrada para su ejecución. El decorador @tool solo se debe aplicar una vez dentro del fragmento de código.
  • Los parámetros de función de la herramienta Python deben asignarse en la sección Inputs.
  • La función de herramienta de Python tendrá una instrucción y un valor devueltos, que es la salida de la herramienta.

El código de Python siguiente ejemplifica los 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 va a desarrollar una herramienta de Python que requiere llamar a servicios externos con autenticación, puede usar la conexión personalizada en el flujo de avisos. Permite 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 toda la clave de API del modelo de lenguaje grande u otras credenciales necesarias.

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

  2. En el encabezado Centro o Proyecto, seleccione Recursos conectados.

  3. Seleccione + Nueva colección.

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

    Nota:

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

Consumo de una conexión personalizada en Python

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

  1. En la sección de código del nodo de Python, importe la biblioteca de conexiones personalizada 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