Partilhar via


Introdução ao fluxo de prompts

Este artigo orienta você pela jornada principal do usuário de usar o fluxo de prompt no estúdio do Azure Machine Learning. Você aprende como habilitar o fluxo de prompt em seu espaço de trabalho do Azure Machine Learning, criar e desenvolver um fluxo de prompt, testar e avaliar o fluxo e, em seguida, implantá-lo na produção.

Prerequisites

Configurar uma ligação

Uma conexão ajuda a armazenar e gerenciar com segurança chaves secretas ou outras credenciais confidenciais necessárias para interagir com LLM (Large Language Models) e outras ferramentas externas, como a Segurança de Conteúdo do Azure. Os recursos de conexão são compartilhados com todos os membros no espaço de trabalho.

Note

A ferramenta LLM em fluxo de prompt não suporta modelos de raciocínio (como OpenAI o1 ou o3). Para fundamentar a integração do modelo, use a ferramenta Python para chamar as APIs do modelo diretamente. Para obter mais informações, consulte Chamar um modelo de raciocínio da ferramenta Python..

  1. Para verificar se já tem uma conexão Azure OpenAI, selecione Prompt Flow no menu à esquerda do Azure Machine Learning Studio e depois selecione o separador Conexões no ecrã Prompt Flow.

    Captura de ecrã do separador ligações com create realçado.

    Se já vires uma ligação cujo fornecedor é AzureOpenAI, podes saltar o resto deste processo de configuração. Observe que esta ligação deve ter uma implementação para poder executar os nós LLM no fluxo de exemplo. Para obter mais informações, consulte Implantar um modelo.

  2. Se não tiver uma ligação Azure OpenAI, selecione Criar e depois selecione AzureOpenAI no menu suspenso.

  3. No painel Adicionar conexão de Azure OpenAI, forneça um nome para a conexão, selecione o seu ID de Assinatura e Nome da Conta do Azure OpenAI, e forneça um Modo de Autenticação e informações de API.

    O fluxo de prompts suporta autenticação com Chave de API ou Microsoft Entra ID para recursos do Azure OpenAI. Para este tutorial, selecione a chave API em Modo de Autenticação.

    Captura de ecrã do ecrã de ligação do Azure OpenAI.

    Para obter a informação da API, vá ao Chat playground no portal Azure OpenAI e selecione o nome do seu recurso Azure OpenAI. Copie a Chave e cole-a no campo Chave API no formulário Adicionar ligação Azure OpenAI e copie o Endpoint e cole-o no campo Base API no formulário.

    Captura de ecrã da área de teste de chat mostrando a chave e o ponto de extremidade de um recurso do Azure OpenAI.

    Para informações sobre a autenticação do Microsoft Entra ID, veja Como configurar o Azure OpenAI nos Microsoft Foundry Models com autenticação Microsoft Entra ID.

  4. Depois de preencher todos os campos, selecione Guardar para criar a ligação.

  5. A conexão deve ser associada a uma implantação antes que você possa executar os nós LLM no fluxo de exemplo. Para criar a implantação, consulte Implantar um modelo.

Crie e desenvolva seu fluxo de prompt

No separador Fluxos da página inicial fluxo de prompt, selecione Criar para criar o fluxo de prompt. A página Criar um novo fluxo mostra os tipos de fluxo que você pode criar, exemplos internos que você pode clonar para criar um fluxo e maneiras de importar um fluxo.

Clone de uma amostra

Na galeria Explorar, pode navegar pelos exemplos integrados e selecionar Ver detalhe em qualquer tile para pré-visualizar se é adequado para o seu cenário.

Este tutorial utiliza o exemplo Web Classification para percorrer a principal jornada do utilizador. A Classificação Web é um fluxo que demonstra a classificação multiclasse com um LLM. Dado um URL, o fluxo classifica o URL em uma categoria web por meio de apenas algumas tentativas, sumarização simples e prompts de classificação. Por exemplo, dado um URL https://www.imdb.com, ele classifica o URL em Movie.

Para clonar a amostra, selecione Clone no mosaico Classificação Web.

Captura de ecrã da criação a partir do galley, destacando a classificação da Web.

O painel de fluxo Clone mostra a localização para armazenar o seu fluxo dentro do armazenamento de partilha de ficheiros do seu espaço de trabalho. Você pode personalizar a pasta, se desejar. Depois seleciona Clonar.

O fluxo clonado é aberto na interface de criação do utilizador. Pode selecionar o ícone Editar lápis para editar detalhes do fluxo como nome, descrição e etiquetas.

Iniciar a sessão de computação

Uma sessão de computação é necessária para a execução do fluxo. A sessão de computação gerencia os recursos de computação necessários para a execução do aplicativo, incluindo uma imagem do Docker que contém todos os pacotes de dependência necessários.

Na página de criação de fluxo, inicie uma sessão de computação selecionando Iniciar sessão de computação.

Captura de tela do início de uma sessão de computação inicial.

Inspecionar a página de criação de fluxo

A sessão de computação pode levar alguns minutos para iniciar. Enquanto a sessão de computação está iniciando, veja as partes da página de criação de fluxo.

  • A vista Flow ou flatten no lado esquerdo da página é a principal área de trabalho, onde pode criar o fluxo adicionando ou removendo nós, editando e executando nós em linha, ou editando prompts. Nas seções Entradas e Saídas, você pode visualizar, adicionar ou remover e editar entradas e saídas.

    Quando você clonou o exemplo de Classificação da Web atual, as entradas e saídas já estavam definidas. O esquema de entrada para o fluxo é name: url; type: string, uma URL do tipo string. Você pode alterar o valor de entrada predefinido para outro valor, como https://www.imdb.com manualmente.

  • Arquivos no canto superior direito mostra a estrutura de pastas e arquivos do fluxo. Cada pasta flow contém um ficheiro flow.dag.yaml , ficheiros de código-fonte e pastas do sistema. Você pode criar, carregar ou baixar arquivos para teste, implantação ou colaboração.

  • A vista do Gráfico no canto inferior direito serve para visualizar como é o fluxo. Você pode aumentar ou diminuir o zoom ou usar o layout automático.

Podes editar ficheiros em linha na vista Flow ou flatten, ou podes ativar o modo de ficheiro Raw e selecionar um ficheiro de Ficheiros para abrir o ficheiro numa aba para edição.

Captura de ecrã do separador de edição de ficheiros no modo de ficheiro bruto.

Para este exemplo, a entrada é uma URL para classificar. O fluxo usa um script Python para buscar conteúdo de texto da URL, usa LLM para resumir o conteúdo de texto em 100 palavras e classifica com base na URL e no conteúdo de texto resumido. Um script Python converte a saída LLM em um dicionário. O nó prepare_examples fornece alguns exemplos de imagens para o prompt do nó de classificação.

Configurar nós LLM

Para cada nó LLM, é necessário selecionar uma Ligação para definir as chaves da API do LLM. Selecione sua conexão do Azure OpenAI.

Dependendo do tipo de ligação, deve selecionar um deployment_name ou um modelo na lista suspensa. Para uma conexão do Azure OpenAI, selecione uma implantação. Se você não tiver uma implantação, crie uma no portal do Azure OpenAI seguindo as instruções em Implantar um modelo.

Note

Se usar uma conexão OpenAI ao invés de uma conexão Azure OpenAI, precisa selecionar um modelo ao invés de uma implementação no campo Connection.

Para este exemplo, certifique-se de que o tipo de API é chat, porque o exemplo de prompt fornecido é para a API de chat. Para obter mais informações sobre a diferença entre as APIs de chat e de conclusão, consulte Desenvolver um fluxo.

Captura de tela da classificação da Web mostrando a lista suspensa de conexão.

Estabeleça ligações para os dois nós LLM no fluxo, summarize_text_content e classify_with_llm.

Executar um único nó

Para testar e depurar um único nó, selecione o ícone Executar na parte superior de um nó na visualização Flow. Podes expandir os Inputs e alterar a URL de entrada do fluxo para testar o comportamento dos nós para diferentes URLs.

O status de execução aparece na parte superior do nó. Após a execução terminar, o resultado aparece na secção Output do nó.

Captura de tela da classificação da Web mostrando primeiro você executa o nó python, em seguida, verifique a saída, em seguida, execute o nó LLM e verifique sua saída.

A vista Graph também mostra o estado do nó de execução singular.

Execute fetch_text_content_from_url e depois execute summarize_text_content para verificar se o fluxo consegue obter conteúdo da web com sucesso e resumir o conteúdo.

Execute todo o fluxo

Para testar e depurar todo o fluxo, selecione Executar no topo do ecrã. Você pode alterar a URL de entrada de fluxo para testar como o fluxo se comporta para diferentes URLs.

Captura de tela da classificação da Web mostrando uma execução inteira e destacando o botão Executar.

Verifique o estado de execução e a saída de cada nó.

Ver saídas de fluxo

Você também pode definir saídas de fluxo para verificar as saídas de vários nós em um só lugar. As saídas de fluxo ajudam-no a:

  • Verifique os resultados do teste em massa em uma única tabela.
  • Definir mapeamento de interface de avaliação.
  • Defina o esquema de resposta de implantação.

Na amostra clonada, os fluxos de saída de categoria e evidência já estão definidos.

  1. Selecione Exibir saídas no banner superior ou na barra de menu superior para visualizar informações detalhadas de entrada, saída, execução de fluxo e orquestração.

    Captura de ecrã do botão de visualizar saída em dois locais.

  2. No separador Outputs do ecrã Outputs, observe que o fluxo prevê a URL de entrada com uma categoria e uma evidência.

    Captura de ecrã da visualização de saídas na página Saídas.

  3. Selecione o separador Trace no ecrã de Saídas e depois selecione fluxo sob o nome do nó para ver informações detalhadas de visão geral do fluxo no painel direito. Expanda o fluxo e selecione qualquer etapa para ver informações detalhadas sobre essa etapa.

    Captura de ecrã do ecrã de rastreio de fluxo.

Testar e avaliar

Depois que o fluxo for executado com êxito com uma única linha de dados, teste se ele funciona bem com um grande conjunto de dados. Você pode executar um teste em massa e, opcionalmente, adicionar um fluxo de avaliação e, em seguida, verificar os resultados.

Você precisa preparar os dados de teste primeiro. O Azure Machine Learning suporta formatos de ficheiro CSV, TSV e JSONL para dados.

  • Vai ao GitHub e descarrega data.csv, o conjunto de dados dourado para o exemplo de Classificação Web.

Use o assistente Batch run & Evaluate para configurar e enviar uma execução em lote e, opcionalmente, um método de avaliação. Os métodos de avaliação também são fluxos, que usam Python ou LLM para calcular métricas como precisão e pontuação de relevância.

  1. Selecione Avaliar no menu superior da sua página de autoria de fluxos.

  2. No ecrã de definições Básicas , altere o nome de exibição da Run se desejar, adicione uma descrição opcional da Run e Tags, e depois selecione Próximo.

  3. Na tela Configurações de execução em lote , selecione Adicionar novos dados. No ecrã de Adicionar dados , dê um nome ao conjunto de dados, selecione Explorar para carregar o ficheirodata.csv que descarregou e depois selecione Adicionar.

    Depois de carregares os dados, ou se o espaço de trabalho tiver outro conjunto de dados que pretendes usar, pesquisa e escolhe o conjunto de dados na lista suspensa para pré-visualizar as primeiras cinco linhas.

    A funcionalidade de mapeamento de entrada suporta mapear a entrada do fluxo para qualquer coluna de dados no seu conjunto de dados, mesmo que os nomes das colunas não coincidam.

    Captura de ecrã de Batch run and evaluate, realçando carregar novos dados.

  4. Selecione Seguinte para, opcionalmente, selecionar um ou vários métodos de avaliação. A página de avaliação Select mostra fluxos de avaliação incorporados e personalizados. Para ver como as métricas são definidas para os métodos de avaliação incorporados, pode selecionar Mais detalhes no mosaico do método.

    A Classificação da Web é um cenário de classificação, portanto, selecione Avaliação de Precisão de Classificação a ser usada para avaliação e, em seguida, selecione Avançar.

    Captura de tela da classificação da Web mostrando o lote executado e avaliar em métodos de avaliação.

  5. No ecrã Configurar avaliação, defina o mapeamento de entrada de Avaliação para mapear groundtruth para o fluxo de entrada ${data.category} e mapear previsão para o fluxo de saída ${run.outputs.category}.

    Captura de tela da classificação da Web mostrando a execução do lote e a avaliação nas configurações de avaliação.

  6. Selecione Rever + enviar e, em seguida, selecione Enviar para enviar uma execução em lote e o método de avaliação selecionado.

Ver resultados

Quando a execução for enviada com êxito, selecione Exibir lista de execução para exibir o status da execução na página Execuções do fluxo de prompt. A execução em lote pode demorar um pouco para ser concluída. Podes selecionar Atualizar para carregar o estado mais recente.

Depois de concluído o processamento em lote, selecione a caixa de seleção ao lado da execução e depois selecione Visualizar resultados para ver o resultado do seu processamento em lote.

Captura de tela mostrando a seleção de Visualizar saídas na página Execuções.

No ecrã Visualizar Resultados, ativar o ícone do olho ao lado da execução subordinada para adicionar os resultados da avaliação à tabela dos resultados das execuções em lote. Você pode ver a contagem total de tokens e a precisão geral. A tabela de Saída mostra os resultados para cada linha de dados: entrada, fluxo de saída, métricas do sistema e resultado de avaliação de Correto ou Incorreto.

Captura de tela da página de detalhes da execução em lote de classificação da Web para exibir saídas.

Na tabela de Saída , pode:

  • Ajuste a largura da coluna, oculte ou mostre colunas ou altere a ordem das colunas.
  • Selecione Exportar para Descarregar a página atual como ficheiro CSV ou Descarregar script de exportação de dados como um ficheiro Jupyter notebook que pode executar para descarregar as saídas localmente.
  • Selecione o ícone de Visualizar detalhes ao lado de qualquer linha para abrir a Vista de Traço que mostra todos os detalhes dessa linha.

A precisão não é a única métrica que pode avaliar uma tarefa de classificação. Por exemplo, você também pode usar recall para avaliar. Para executar outras avaliações, selecione Avaliar ao lado de Visualizar resultados na página de Corridas e selecione outros métodos de avaliação.

Implantar como um ponto de rede

Depois de criar e testar um fluxo, você pode implantá-lo como um ponto de extremidade para que possa invocá-lo para inferência em tempo real.

Configurar o ponto de extremidade

  1. Na página de Execuções em lote, selecione o link do nome da execução e, na página de detalhes da execução, selecione Implementar na barra de menu superior para abrir o assistente de implementação.

  2. Na página de Definições Básicas , especifique um nome de Endpoint e um nome de Deployment e selecione um tipo de máquina Virtual e um número de Instâncias.

  3. Pode selecionar Seguinte para configurar as definições avançadas de Endpoint, Deployment e Outputs & connections . Para este exemplo, use as configurações padrão.

  4. Selecione Rever + Criar e, em seguida, selecione Criar para iniciar a implementação.

Testar o parâmetro de avaliação

Pode ir à página de detalhes do endpoint a partir da notificação, ou selecionar Endpoints na navegação esquerda do estúdio e selecionar o seu endpoint no separador Terminais em tempo real . Demora vários minutos a implementar o endpoint. Depois de o endpoint ser implementado com sucesso, pode testá-lo no separador Teste .

Coloca o URL que queres testar na caixa de entrada e seleciona Testar. Você vê o resultado que o seu endpoint previu.

Clean up resources (Limpar recursos)

Para conservar recursos e custos de computação, você pode interromper sua sessão de computação se tiver terminado de usá-la por enquanto. Selecione a sessão em execução e, em seguida, selecione Parar sessão de computação.

Também pode parar uma instância de computação selecionando Computar na navegação esquerda do estúdio, selecionando a sua instância de computação na lista de instâncias de computação e selecionando Parar.

Se você não planeja usar nenhum dos recursos criados neste tutorial, poderá excluí-los para que não incorram em cobranças. No portal do Azure, procure e selecione Grupos de recursos. Na lista, selecione o grupo de recursos que contém os recursos criados e, em seguida, selecione Excluir grupo de recursos no menu superior da página do grupo de recursos.