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 seu primeiro fluxo de prompt, testá-lo e avaliá-lo e, em seguida, implantá-lo na produção.
Pré-requisitos
Verifique se o armazenamento de dados padrão em seu espaço de trabalho é do tipo blob.
Se você proteger o fluxo de prompt com a rede virtual, siga o isolamento de rede no fluxo de prompt para saber mais detalhes.
Configurar ligação
Primeiro você precisa configurar a conexão.
A 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, por exemplo, a Segurança de Conteúdo do Azure.
Navegue até a página inicial do fluxo de prompts, selecione a guia Conexões . A conexão é um recurso compartilhado para todos os membros no espaço de trabalho. Portanto, se você já vir uma conexão cujo provedor é AzureOpenAI, você pode pular esta etapa, vá para Iniciar sessão de computação.
Se você ainda não estiver conectado ao AzureOpenAI, selecione o botão Criar e, em seguida , AzureOpenAI na lista suspensa.
Em seguida, aparecerá um painel à direita. Aqui, você precisará selecionar a assinatura e o nome do recurso, fornecer o nome da conexão, a chave da API (se o tipo de autenticação for igual à chave da API), a base da API, o tipo de API e a versão da API antes de selecionar o botão Salvar . O fluxo de prompt também oferece suporte ao Microsoft Entra ID como tipo de autenticação para autenticação baseada em identidade para o recurso Azure OpenAI. Saiba mais sobre Como configurar o Serviço OpenAI do Azure com identidades gerenciadas.
Para obter a chave, base, tipo e versão da API, você pode navegar até o playground de bate-papo no portal do Azure OpenAI e selecionar o botão Exibir código. A partir daqui, você pode copiar as informações necessárias e colá-las no painel de criação de conexão.
Depois de inserir os campos obrigatórios, selecione Salvar para criar a conexão.
Crie e desenvolva seu fluxo de prompt
Na guia Fluxos da página inicial do fluxo de prompts, selecione Criar para criar seu primeiro fluxo de prompt. Você pode criar um fluxo clonando as amostras na galeria.
Clone da amostra
As amostras incorporadas são mostradas na galeria.
Neste guia, usamos o exemplo de Classificação da Web para orientá-lo pela jornada principal do usuário. Você pode selecionar Exibir detalhes no bloco Classificação da Web para visualizar o exemplo. Em seguida, uma janela de visualização é exibida. Você pode navegar na introdução do exemplo para ver se o exemplo é semelhante ao seu cenário. Ou você pode simplesmente selecionar Clone para clonar a amostra diretamente e, em seguida, verificar o fluxo. Testá-lo, modificá-lo.
Depois de selecionar Clonar, um novo fluxo é criado e salvo em uma pasta específica dentro do armazenamento de compartilhamento de arquivos do espaço de trabalho. Você pode personalizar o nome da pasta de acordo com suas preferências no painel direito.
Iniciar sessão de computação
Em seguida, você entra na página de criação de fluxo. Antes de mergulharmos, primeiro inicie uma sessão de computação.
A sessão de computação serve como 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. É um must-have para a execução do fluxo.
Página de criação de fluxo
Quando a sessão de computação está começando, podemos dar uma olhada na página de criação de fluxo.
À esquerda da página de criação, é a visualização plana, a principal área de trabalho onde você pode criar o fluxo, por exemplo, adicionar um novo nó, editar o prompt, selecionar os dados de entrada de fluxo, etc.
O canto superior direito mostra a estrutura de pastas do fluxo. Cada fluxo tem uma pasta que contém um arquivo flow.dag.yaml, arquivos de código-fonte e pastas do sistema. Você pode exportar ou importar um fluxo facilmente para fins de teste, implantação ou colaboração.
Além de editar o nó em linha na visualização de nivelamento, você também pode ativar o modo de arquivo Raw e selecionar o nome do arquivo para editar o arquivo na guia de abertura do arquivo.
No canto inferior direito, é a visualização do gráfico apenas para visualização. Você pode ampliar, reduzir, layout automático, etc.
Neste guia, usamos o exemplo de Classificação da Web para orientá-lo pela jornada principal do usuário. A Classificação Web é um fluxo que demonstra a classificação multiclasse com LLM. Dado um URL, ele classifica o URL em uma categoria da Web com apenas algumas fotos, resumo simples e prompts de classificação. Por exemplo, dado "https://www.imdb.com/", classifica este URL em "Filme".
Na visualização de gráfico, você pode ver como é o fluxo de amostra. A entrada é uma URL para classificar, em seguida, usa um script Python para buscar conteúdo de texto da URL, use LLM para resumir o conteúdo de texto dentro de 100 palavras, em seguida, classifique com base na URL e conteúdo de texto resumido, por último use script Python para converter a saída LLM em um dicionário. O nó prepare_examples é alimentar exemplos de poucas capturas para o prompt do nó de classificação.
Dados de entrada de fluxo
Ao desdobrar a seção Entradas , você pode criar e visualizar entradas. Para o exemplo de Classificação da Web, conforme mostrado na captura de tela abaixo, a entrada de fluxo é uma URL do tipo cadeia de caracteres.
O esquema de entrada (nome: url; tipo: string) e o valor já estão definidos ao clonar amostras. Você pode alterar para outro valor manualmente, por exemplo "https://www.imdb.com/".
Configurar nós LLM
Para cada nó LLM, você precisa selecionar uma conexão para definir suas chaves de API LLM.
Para este exemplo, certifique-se de que o tipo de API é chat , pois o exemplo de prompt que fornecemos é para API de chat. Para saber a diferença de formato de prompt do chat e da API de conclusão, consulte Desenvolver um fluxo.
Em seguida, dependendo do tipo de conexão selecionado, você precisa selecionar uma implantação ou um modelo. Se você usar a conexão do Azure OpenAI, precisará selecionar uma implantação na lista suspensa (Se você não tiver uma implantação, crie uma no portal do Azure OpenAI seguindo Criar um recurso e implantar um modelo usando o Azure OpenAI). Se você usa conexão OpenAI, você precisa selecionar um modelo.
Temos dois nós LLM (summarize_text_content e classify_with_llm) no fluxo, então você precisa configurar para cada um, respectivamente.
Executar nó único
Para testar e depurar um único nó, selecione o ícone Executar no nó na visualização nivelada. O status da execução é mostrado na parte superior, uma vez concluída a execução, verifique a saída na seção de saída do nó.
Execute fetch_text_content_from_url summarize_text_content, verifique se o fluxo pode buscar conteúdo da Web com êxito e resuma o conteúdo da Web.
O status de nó único também é mostrado na visualização de gráfico. Você também pode alterar a URL de entrada de fluxo para testar o comportamento do nó para URLs diferentes.
Execute todo o fluxo
Para testar e depurar todo o fluxo, selecione o botão Executar na parte superior direita.
Em seguida, você pode verificar o status de execução e a saída de cada nó. Os status dos nós também são mostrados na visualização do gráfico. Da mesma forma, você pode alterar a URL de entrada de fluxo para testar como o fluxo se comporta para diferentes URLs.
Definir e verificar a saída do fluxo
Em vez de verificar as saídas em cada nó, você também pode definir a saída de fluxo e verificar as saídas de vários nós em um só lugar. Além disso, a saída de fluxo ajuda:
- Verifique os resultados do teste em massa em uma única tabela
- Definir mapeamento da interface de avaliação
- Definir esquema de resposta de implantação
Quando você clona a amostra, as saídas de fluxo (categoria e evidência) já estão definidas.
Você pode selecionar o botão Exibir rastreamento no banner para visualizar informações detalhadas de entrada, saída, execução de fluxo e orquestração. Você pode ver que o fluxo prevê a URL de entrada com uma categoria e evidência.
Você pode selecionar Exibir resultado do teste para verificar todos os testes históricos em uma lista.
Teste e avaliação
Depois que o fluxo for executado com êxito com uma única linha de dados, convém testar se ele funciona bem em um grande conjunto de dados, você pode executar um teste em massa e escolher alguns métodos de avaliação e verificar as métricas.
Preparar dados
Você precisa preparar os dados de teste primeiro. Por enquanto, suportamos csv, tsv e jsonl.
Vá para o GitHub para baixar "data.csv", o conjunto de dados dourado para exemplo de Classificação da Web.
Avaliar
Selecione o botão Avaliar ao lado do botão Executar e, em seguida, um painel direito aparece. É um assistente que o orienta a enviar uma execução em lote e a selecionar o método de avaliação (opcional).
Você precisa definir um nome de execução em lote, descrição e, em seguida, selecionar Adicionar novos dados para carregar os dados que você baixou. Depois de carregar os dados ou se os seus colegas na área de trabalho já tiverem criado um conjunto de dados, pode escolher o conjunto de dados a partir da lista pendente e pré-visualizar as primeiras cinco linhas. A lista suspensa de seleção do conjunto de dados suporta pesquisa e sugestão automática.
Além disso, o mapeamento de entrada suporta o mapeamento da entrada de fluxo para uma coluna de dados específica no conjunto de dados, o que significa que você pode usar qualquer coluna como entrada, mesmo que os nomes das colunas não coincidam.
Em seguida, selecione um ou vários métodos de avaliação. Os métodos de avaliação também são fluxos que usam Python ou LLM etc., para calcular métricas como precisão, pontuação de relevância. Os fluxos de avaliação incorporados e os personalizados estão listados na página. Como a classificação da Web é um cenário de classificação, é adequado selecionar a Avaliação de Precisão de Classificação a ser avaliada.
Se estiver interessado em saber como as métricas são definidas para os métodos de avaliação incorporados, pode pré-visualizar os fluxos de avaliação selecionando Mais detalhes.
Depois de selecionar Avaliação de Precisão de Classificação como método de avaliação, você pode definir o mapeamento de interface para mapear a verdade do solo para a entrada do fluxo e a previsão para a saída do fluxo.
Em seguida, selecione Revisar + enviar para enviar uma execução em lote e a avaliação selecionada.
Ver resultados
Quando a execução tiver sido enviada com êxito, selecione Exibir lista de execução para navegar até a lista de execução em lote desse fluxo.
A execução em lote pode demorar um pouco para ser concluída. Você pode atualizar a página para carregar o status mais recente.
Depois que a execução em lote for concluída, selecione a execução e, em seguida , Visualize as saídas para visualizar o resultado da execução em lote. Selecione Exibir saídas (ícone de olho) para anexar os resultados da avaliação à tabela de resultados de execução em lote. Você pode ver a contagem total de tokens e a precisão geral, em seguida, na tabela, você verá os resultados para cada linha de dados: entrada, saída de fluxo e resultados de avaliação (quais casos são previstos corretamente e quais não são).
Você pode ajustar a largura da coluna, ocultar/reexibir colunas, alterar ordens de coluna. Você também pode selecionar Exportar para baixar a tabela de saída para investigação adicional, fornecemos 2 opções:
- Download da página atual: um arquivo csv das saídas de execução em lote na página atual.
- Baixar todos os dados: o que o seu download é um arquivo de notebook Jupyter, você precisa executá-lo para baixar saídas em formato jsonl ou csv.
Como você deve saber, 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. Neste caso, você pode selecionar Avaliar ao lado do botão "Visualizar saídas", escolher outros métodos de avaliação para avaliar.
Implementação
Depois de criar um fluxo e testá-lo corretamente, convém implantá-lo como um ponto de extremidade para que você possa invocar o ponto de extremidade para inferência em tempo real.
Configurar o ponto de extremidade
Selecione o link de execução em lote e, em seguida, você será direcionado para a página de detalhes da execução em lote, selecione Implantar. Um assistente aparece para permitir que você configure o ponto de extremidade. Especifique um ponto de extremidade e um nome de implantação, selecione uma máquina virtual, defina conexões, faça algumas configurações (você pode usar as configurações padrão), selecione Revisar + criar para iniciar a implantação.
Testar o parâmetro de avaliação
Você pode ir para a página de detalhes do endpoint a partir da notificação ou navegando até Endpoints na navegação esquerda do studio e, em seguida, selecionar seu endpoint na guia Pontos de extremidade em tempo real. Leva vários minutos para implantar o ponto de extremidade. Depois que o ponto de extremidade for implantado com êxito, você poderá testá-lo na guia Teste .
Coloque a url que deseja testar na caixa de entrada e selecione Testar, então você verá o resultado previsto pelo seu ponto de extremidade.
Clean up resources (Limpar recursos)
Se você planeja continuar agora com os guias de instruções e gostaria de usar os recursos criados aqui, pule para as próximas etapas.
Parar instância de computação
Se você não vai usá-lo agora, pare a instância de computação:
- No estúdio, na área de navegação esquerda, selecione Computar.
- Nas guias superiores, selecione Instâncias de computação
- Selecione a instância de computação na lista.
- Na barra de ferramentas superior, selecione Parar.
Eliminar todos os recursos
Se você não planeja usar nenhum dos recursos que criou, exclua-os para não incorrer em cobranças:
- No portal do Azure, selecione Grupos de recursos na extremidade esquerda.
- Na lista, selecione o grupo de recursos que você criou.
- Selecione Eliminar grupo de recursos.
Próximos passos
Agora que você tem uma ideia do que está envolvido no desenvolvimento, teste, avaliação e implantação do fluxo, saiba mais sobre o processo nestes tutoriais: