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
Crie ou abra um fluxo no Estúdio de IA do Azure. Para obter mais informações, confira 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 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.
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. 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.
Vá para a página Centro de gerenciamento de seu projeto.
No título do Hub ou Projeto, selecione Recursos conectados.
Selecione + Nova Conexão.
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:
- 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 tipoCustomConnection
na função de ferramenta. - 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