Ferramenta Python para fluxos no Azure AI Studio
Importante
Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
A ferramenta Python de fluxo de prompt oferece trechos de código personalizados como nós executáveis autônomos. Você pode criar rapidamente ferramentas Python, editar código e verificar resultados.
Crie com a ferramenta Python
Crie ou abra um fluxo no Azure AI Studio. Para obter mais informações, consulte Criar um fluxo.
Selecione + Python para adicionar a ferramenta Python ao seu fluxo.
Insira valores para os parâmetros de entrada da ferramenta Python descritos na tabela Inputs. Por exemplo, na caixa de texto Entrada de 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, consulte Requisitos de entrada de código Python.
Adicione mais ferramentas ao seu fluxo, conforme necessário. Ou selecione Executar para executar o fluxo.
As saídas são descritas na tabela Saídas. Com base no exemplo anterior de entrada de código Python, se a mensagem de entrada for "world", a saída será
hello world
.
Entradas
A lista de entradas muda com base nos argumentos da função de ferramenta, depois de salvar o código. Adicionar tipo a argumentos e return
valores ajuda a ferramenta a mostrar os tipos corretamente.
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
Código | string | O trecho de código do Python. | Sim |
Entradas | - | A lista dos parâmetros da função da ferramenta e suas atribuições. | - |
Saídas
A saída é o return
valor da função da 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 "world", a saída será hello world
.
Tipos
Type | Exemplo de Python | Description |
---|---|---|
número inteiro | Param: Int | Tipo de inteiro |
booleano | Param: Bool | Tipo booleano |
string | Param: STR | Tipo de cadeia |
duplo | Param: Flutuador | Tipo duplo |
list | param: list ou param: List[T] | Tipo de lista |
objeto | param: dict ou param: Dict[K, V] | Object type |
Connection | param: CustomConnection | O tipo de conexão é tratado de forma especial. |
Os parâmetros com Connection
anotação de tipo são tratados como entradas de conexão, o que significa:
- A extensão de fluxo de prompt mostra um seletor para selecionar a conexão.
- Durante o tempo de execução, o fluxo de prompt tenta encontrar a conexão com o mesmo nome a partir do valor do parâmetro que foi passado.
Nota
A Union[...]
anotação de tipo só é suportada para o tipo de conexão. Um exemplo é param: Union[CustomConnection, OpenAIConnection]
.
Requisitos de entrada de código Python
Esta seção descreve os requisitos da entrada de código Python para a ferramenta Python.
- O código da ferramenta Python deve consistir em um código Python completo, incluindo quaisquer importações de módulos necessárias.
- O código da ferramenta Python deve conter uma função decorada com
@tool
(função ferramenta), servindo como ponto de entrada para a execução. O@tool
decorador deve ser aplicado apenas uma vez dentro do trecho. - Os parâmetros da função da ferramenta Python devem ser atribuídos na
Inputs
seção. - A função da ferramenta Python deve ter uma instrução de retorno e um valor, que é a saída da ferramenta.
O código Python a seguir é um exemplo de práticas recomendadas:
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Consumir uma conexão personalizada na ferramenta Python
Se você estiver desenvolvendo uma ferramenta Python que exija a chamada de serviços externos com autenticação, poderá usar a conexão personalizada em um fluxo de prompt. Ele permite que você armazene com segurança a chave de acesso e, em seguida, recupere-a em seu código Python.
Criar uma conexão personalizada
Crie uma conexão personalizada que armazene todo o seu modelo de idioma grande, chave de API ou outras credenciais necessárias.
Vá para a página Configurações do seu projeto. Em seguida, selecione + Nova conexão.
Selecione Serviço personalizado . Você pode definir seu nome de conexão. Você pode adicionar vários pares chave-valor para armazenar suas credenciais e chaves selecionando Adicionar pares chave-valor.
Nota
Certifique-se de que pelo menos um par chave-valor está definido como secreto. Caso contrário, a conexão não será criada com êxito. Para definir um par chave-valor como secreto, selecione é segredo para criptografar e armazenar o valor da chave.
Consumir uma conexão personalizada em Python
Para consumir uma conexão personalizada em seu código Python:
- Na seção de código no nó Python, importe a biblioteca
from promptflow.connections import CustomConnection
de conexões personalizada. Defina um parâmetro de entrada do tipoCustomConnection
na função da ferramenta. - Analise a entrada para a seção de entrada. Em seguida, selecione sua conexão personalizada de destino na lista suspensa de valores.
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