Compartilhar via


Ferramenta Python para fluxos no Estúdio de IA do Azure

Importante

Os itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

A ferramenta Python do prompt flow oferece trechos de código personalizados como nós executáveis autônomos. Você pode criar rapidamente ferramentas Python, editar códigos e verificar resultados.

Criar com a ferramenta Python

  1. Crie ou abra um fluxo no Estúdio de IA do Azure. Para obter mais informações, confira Criar um fluxo.

  2. Selecione + Python para adicionar a ferramenta Python ao seu fluxo.

    Captura de tela que mostra a ferramenta Python adicionada a um fluxo no Azure AI Studio.

  3. Insira valores para os parâmetros de entrada da ferramenta Python descritos na tabela de entradas. Por exemplo, na caixa de texto de entrada Código, você pode inserir o seguinte código Python:

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

    Para obter mais informações, confira Requisitos de entrada do código Python.

  4. Adicione mais ferramentas ao seu fluxo, conforme necessário. Ou selecione Executar para executar o fluxo.

  5. As saídas são descritas na tabela Saídas. Fornecido o exemplo anterior de entrada de código Python, se a mensagem de entrada for "mundo", a saída será hello world.

Entradas

A lista de entradas será alterada com base nos argumentos da função da ferramenta, após você salvar o código. Adicionar tipo a argumentos e valores return ajuda a ferramenta a mostrar os tipos corretamente.

Nome Tipo Descrição Obrigatório
Código string O snippet de código do Python. Yes
Entradas - A lista dos parâmetros da função de ferramenta e suas atribuições. -

Saídas

A saída é o valor return da função de ferramenta Python. Por exemplo, considere a seguinte função de ferramenta Python:

from promptflow import tool

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

Se a mensagem de entrada for "mundo", a saída será hello world.

Tipos

Tipo Exemplo de Python Descrição
INT param: int Tipo inteiro
bool param: bool Tipos boolianos
string param: str Tipo de cadeia de caracteres
double param: float Tipo double
lista param: list ou param: List[T] Tipo de lista
objeto param: dict ou param: Dict[K, V] Tipo de objeto
Conexão param: CustomConnection O tipo de conexão é tratado especialmente.

Parâmetros com anotação de tipo Connection são tratados como entradas de conexão, o que significa:

  • A extensão de prompt flow mostra um seletor para selecionar a conexão.
  • Durante o tempo de execução, o prompt flow tenta localizar a conexão com o mesmo nome do valor do parâmetro que foi passado.

Observação

A anotação do tipo Union[...] só tem suporte para o tipo de conexão. Um exemplo é param: Union[CustomConnection, OpenAIConnection].

Requisitos de entrada do código Python

Esta seção descreve os requisitos da entrada do código Python para a ferramenta Python.

  • O código da ferramenta Python deve consistir em um código Python completo, incluindo as importações de módulo necessárias.
  • O Código de Ferramenta Python deve conter uma função decorada com @tool (função de ferramenta), servindo como o ponto de entrada para execução. O decorador @tool deve ser aplicado apenas uma vez dentro do trecho.
  • Os parâmetros de função da ferramenta Python devem ser atribuídos na seção Inputs.
  • A função da ferramenta Python deve ter uma instrução de retorno e um valor, que será a saída da ferramenta.

O código Python a seguir é um exemplo de melhores práticas:

from promptflow import tool

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

Consumir a conexão personalizada na ferramenta Python

Se estiver desenvolvendo uma ferramenta Python que exija chamar serviços externos com autenticação, você poderá usar a conexão personalizada no prompt flow. Ele permite armazenar a chave de acesso de forma segura e recuperá-la em seu código Python.

Criar uma conexão personalizada

Crie uma conexão personalizada que armazene todas as suas chaves de API do LLM ou outras credenciais requeridas.

  1. Vá para a página Centro de gerenciamento de seu projeto.

  2. No título do Hub ou Projeto, selecione Recursos conectados.

  3. Selecione + Nova Conexão.

  4. Selecione o serviço Personalizado. Você pode definir o nome da conexão. Você pode adicionar vários pares chave-valor para armazenar suas credenciais e chaves selecionando Adicionar pares chave-valor.

    Observação

    Verifique se pelo menos um par chave-valor está definido como segredo. Caso contrário, a conexão não será criada com êxito. Para definir um par chave-valor como segredo, selecione é segredo para criptografar e armazenar seu valor de chave.

Consumir conexão personalizada no Python

Para consumir uma conexão personalizada em seu código Python:

  1. Na seção de código no nó do Python, importe a biblioteca de conexões personalizada from promptflow.connections import CustomConnection. Defina um parâmetro de entrada do tipo CustomConnection na função de ferramenta.
  2. Analise a entrada para a seção de entrada. Em seguida, selecione sua conexão personalizada de destino na lista suspensa de valor.

Por exemplo:

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

Próximas etapas