Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se somente a:Portal Foundry (clássico). Este artigo não está disponível para o novo portal do Foundry.
Saiba mais sobre o novo portal.
Nota
Links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação da Foundry (clássica) que você está exibindo agora.
Aviso
O Prompt flow no Microsoft Foundry e no Azure Machine Learning será descontinuado em 20 de abril de 2027. O Prompt flow não é mais recomendado para novos desenvolvimentos. Migre aplicativos e implantações existentes do Prompt flow para o Microsoft Agent Framework antes de 20 de abril de 2027.
As imagens de contêiner do prompt flow não recebem mais atualizações, incluindo atualizações de segurança e de pacotes. Isso se aplica às imagens de runtime de prompt flow, incluindo promptflow-runtime, promptflow-runtime-stable e promptflow-python.
Após 20 de abril de 2027, o Prompt flow, incluindo a experiência de autoria na Web no Microsoft Foundry e no Azure Machine Learning, as extensões do VS Code e as imagens de contêiner relacionadas do Prompt flow, não terá mais suporte nem estará disponível.
Se o seu aplicativo depende de implantações do Prompt flow ou de imagens de runtime, planeje migrar essas cargas de trabalho para alternativas com suporte, como o Microsoft Agent Framework, antes da data de desativação. Para obter orientações sobre migração, consulte o guia de migração do Prompt flow e os exemplos de código de migração.
A ferramenta Prompt Flow do Python fornece trechos de código personalizados como nós executáveis independentes. Você pode criar rapidamente Python ferramentas, editar código e verificar os resultados.
Pré-requisitos
Importante
Este artigo fornece suporte herdado para projetos baseados em hub. Ele não funcionará para projetos do Foundry. Veja como saber qual tipo de projeto tenho?
Observação de compatibilidade do SSDK: exemplos de código exigem uma versão específica do SDK do Microsoft Foundry. Se você encontrar problemas de compatibilidade, considere a migração de um projeto baseado em hub para um projeto do Foundry.
- Uma conta Azure com uma assinatura ativa. Se você não tiver uma, crie uma conta de Azure free, que inclui uma assinatura de avaliação gratuita.
- Se você não tiver um, crie um projeto baseado em hub.
Compilar com a ferramenta Python
Crie ou abra um fluxo em Microsoft Foundry. Para obter mais informações, consulte Criar um fluxo.
Selecione + Python para adicionar a ferramenta Python ao fluxo.
Insira valores para os parâmetros de entrada da ferramenta Python descritos na tabela Inputs. Por exemplo, na caixa de texto de entrada Code, insira o seguinte código de Python:
from promptflow import tool @tool def my_python_tool(message: str) -> str: return 'hello ' + messagePara obter mais informações, consulte Python requisitos de entrada de código.
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 de código de entrada Python anterior, 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 que você salva o código. Adicionar tipo a argumentos e return valores ajuda a ferramenta a mostrar os tipos corretamente.
| Nome | Tipo | Descrição | Necessário |
|---|---|---|---|
| Code | cadeia | O trecho de código em Python. | Sim |
| Entradas | - | A lista dos parâmetros da função da 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 de 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 | Tipo booliano |
| cadeia | param: str | Tipo de cadeia de caracteres |
| double | param: ponto flutuante | Tipo duplo |
| 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. |
Trate parâmetros que possuem a anotação de tipo Connection como entradas de conexão. Esse tratamento significa:
- A extensão de prompt flow mostra um seletor para selecionar a conexão.
- Durante a execução, o fluxo de prompts tenta encontrar a conexão com o mesmo nome a partir do valor do parâmetro que você passa.
Nota
A Union[...] anotação de tipo dá suporte apenas ao tipo de conexão. Um exemplo é param: Union[CustomConnection, OpenAIConnection].
Requisitos de entrada para código Python
Esta seção descreve os requisitos para a entrada de código Python para a ferramenta Python.
- O código da ferramenta Python deve consistir em código Python completo, incluindo a importação dos módulos necessários.
- O código da ferramenta Python deve conter uma função decorada com
@tool(função de ferramenta), servindo como ponto de entrada para a execução. Aplique o decorador@toolapenas uma vez no snippet. - Atribua parâmetros de função de ferramenta Python na seção
Inputs. - A função de ferramenta em Python deve conter uma instrução de retorno e um valor, que representam 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 em Python que exige chamar serviços externos com autenticação, utilize a conexão personalizada dentro de um fluxo de execução. Usando essa conexão, você pode armazenar com segurança a chave de acesso 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 de modelo de idioma grande ou outras credenciais necessárias.
Importante
Este artigo fornece suporte herdado para projetos baseados em hub. Ele não funcionará para projetos do Foundry. Veja como saber qual tipo de projeto tenho?
Observação de compatibilidade do SSDK: exemplos de código exigem uma versão específica do SDK do Microsoft Foundry. Se você encontrar problemas de compatibilidade, considere a migração de um projeto baseado em hub para um projeto do Foundry.
- Uma conta Azure com uma assinatura ativa. Se você não tiver uma, crie uma conta de Azure free, que inclui uma assinatura de avaliação gratuita.
- Se você não tiver um, crie um projeto baseado em hub.
Vá para a página do Centro de Gerenciamento do seu projeto.
No título Hub ou Project, selecione Conectados recursos.
Selecione + Nova Conexão.
Selecione o serviço Personalizado . Você pode definir o nome da conexão. Selecione Adicionar pares chave-valor para adicionar vários pares chave-valor para armazenar suas credenciais e chaves.
Nota
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 o segredo para criptografar e armazenar o valor da chave.
Consumir conexão personalizada no Python
Para consumir uma conexão personalizada em seu código de Python:
- Na seção de código do nó Python, importe a biblioteca de conexões personalizada usando
from promptflow.connections import CustomConnection. Defina um parâmetro de entrada do tipoCustomConnectionna 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