Share via


Tutorial: Criar e implantar um copiloto de perguntas e respostas com o prompt flow no Estúdio de IA do Azure

Importante

Alguns dos recursos descritos nesse artigo podem estar disponíveis apenas na versão prévia. 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.

Neste tutorial do Estúdio de IA do Azure, você usará a IA generativa e o prompt flow para criar, configurar e implantar um copiloto para sua empresa de varejo chamada Contoso. Sua empresa de varejo é especializada em equipamentos e roupas de acampamento ao ar livre.

O copiloto deve responder perguntas sobre seus produtos e serviços. Também deve responder a perguntas sobre seus clientes. Por exemplo, o copiloto pode responder a perguntas como "Quanto custam os tênis de caminhada TrailWalker?" e "Quantos tênis de caminhada TrailWalker Daniel Wilson comprou?".

Siga as etapas neste tutorial são:

  1. Adicione seus dados ao playground do chat.
  2. Crie um prompt flow do playground.
  3. Personalize o prompt flow com várias fontes de dados.
  4. Avalie o fluxo usando um conjunto de dados de avaliação de perguntas e respostas.
  5. Implante o fluxo para consumo.

Pré-requisitos

Adicione seus dados e tente o modelo de chat novamente

No início rápido do playground do Estúdio de IA (esse é um pré-requisito para este tutorial), você pode observar como seu modelo responde sem seus dados. Agora, adicione seus dados ao modelo para ajudá-lo a responder perguntas sobre seus produtos.

Para concluir esta seção, você precisa de uma cópia local dos dados do produto. O repositório Azure-Samples/aistudio-python-quickstart-sample no GitHub contém exemplos de informações de clientes e produtos de varejo relevantes para esse cenário de tutorial. Clone o repositório ou copie os arquivos de 3-product-info.

Importante

O recurso Adicionar seus dados no playground do Estúdio de IA do Azure não dá suporte usando uma rede virtual ou ponto de extremidade privado nos seguintes recursos:

  • IA do Azure Search
  • OpenAI do Azure
  • Recurso de armazenamento

Siga estas etapas para adicionar seus dados ao playground do chat para ajudar o assistente a responder perguntas sobre seus produtos. Você não está alterando o próprio modelo implantado. Seus dados são armazenados separadamente e com segurança em sua assinatura do Azure.

  1. Acesse seu projeto no Estúdio de IA do Azure.

  2. Selecione Playgrounds>Chat no painel do lado esquerdo.

  3. Selecione o modelo de chat implantado na lista suspensa Implantação.

    Captura de tela do playground de chat com o modo de chat e o modelo selecionados.

  4. No lado esquerdo do playground do chat, selecione Adicionar seus dados>+ Adicionar uma nova fonte de dados.

    Captura de tela do playground de chat com a opção de adicionar uma fonte de dados visível.

  5. No menu suspenso Fonte de dados, selecione Carregar arquivos.

    Captura de tela das opções de seleção da fonte de dados.

  6. Selecione Carregar>Carregar arquivos para procurar seus arquivos locais.

  7. Selecione os arquivos que você deseja carregar. Selecione os arquivos de informações do produto (3-product-info) que você baixou ou criou anteriormente. Adicione todos os arquivos agora. Você não poderá adicionar mais arquivos mais tarde na mesma sessão do playground.

  8. Selecione Carregar para carregar o arquivo em sua conta de armazenamento de Blobs do Azure. Em seguida, selecione Avançar.

    Captura de tela da caixa de diálogo para selecionar e carregar arquivos.

  9. Selecione um serviço da Pesquisa de IA do Azure. Neste exemplo, selecionamos Conectar outros recursos da Pesquisa de IA do Azure no menu suspenso Selecionar serviço de Pesquisa de IA do Azure. Se você não tiver um recurso de pesquisa, poderá criar um selecionando Criar um novo recurso de Pesquisa de IA do Azure. Em seguida, retorne a esta etapa para se conectar e selecioná-la.

    Captura de tela das opções de seleção de recurso de pesquisa.

  10. Procure seu serviço da Pesquisa de IA do Azure e selecione Adicionar conexão.

    Captura de tela da página para adicionar uma conexão de serviço de pesquisa.

  11. Para o Nome do índice, insira product-info e selecione Avançar.

  12. Na página Configurações de pesquisa, em Configurações de vetor, desmarque a caixa de seleção Adicionar busca em vetores a esse recurso de pesquisa. Essa configuração ajuda a determinar como o modelo responde às solicitações. Em seguida, selecione Avançar.

    Observação

    Se você adicionar busca em vetores, mais opções estarão disponíveis aqui, com um custo adicional.

  13. Revise suas configurações e selecione Criar.

  14. No playground, você pode ver que a ingestão de dados está em andamento. Esse processo pode levar vários minutos. Antes de continuar, aguarde até ver a fonte de dados e o nome do índice no lugar do status.

    Captura de tela do playground de chat com o status da ingestão de dados na exibição.

  15. Insira um nome para a configuração do playground e selecione Salvar>Salvar configuração. Todos os itens de configuração são salvos por padrão. Os itens incluem implantação, mensagem do sistema, mensagem de segurança, parâmetros, dados adicionados, exemplos e variáveis. Salvar uma configuração com o mesmo nome substituirá a versão anterior.

    Captura de tela do nome de configuração do playground e do botão Salvar.

  16. Agora você pode conversar com o modelo fazendo a mesma pergunta de antes ("Quanto custam os sapatos de caminhada TrailWalker"), e desta vez ele usa informações de seus dados para construir a resposta. Você pode expandir o botão de referências para ver os dados que foram usados.

Criar um prompt flow do playground

Mas você pode perguntar "Como posso personalizar ainda mais esse copiloto?" Talvez você queira adicionar várias fontes de dados, comparar prompts diferentes ou o desempenho de vários modelos. Um prompt flow serve como um fluxo de trabalho executável que simplifica o desenvolvimento do aplicativo de IA baseado em LLM. Ele fornece uma estrutura abrangente para gerenciar o fluxo de dados e o processamento em seu aplicativo. Use o prompt flow para otimizar as mensagens enviadas para o modelo de chat do copiloto.

Nesta seção, você aprenderá a fazer a transição para o prompt flow a partir do playground. Você exporta o ambiente de chat do playground, incluindo conexões com os dados que adicionou. Posteriormente neste tutorial, você avaliará o fluxo e, em seguida, implantará o fluxo para consumo.

Observação

As alterações feitas no prompt flow não são aplicadas de trás para frente para atualizar o ambiente do playground.

Você pode criar um prompt flow do playground seguindo estas etapas:

  1. Vá para o seu projeto no Estúdio de IA.

  2. Selecione Playgrounds>Chat no painel do lado esquerdo.

  3. Como estamos usando nossos próprios dados, você precisa selecionar Adicione seus dados. Você já deve ter um índice chamado product-info que criou anteriormente no playground do chat. Selecione-o no menu suspenso Selecionar projeto disponível índice. Caso contrário, primeiro crie um índice com os dados do seu produto e depois volte para essa etapa.

  4. Selecione Prompt flow no menu acima do painel da sessão de chat.

  5. Insira um nome de pasta para o seu prompt flow. Em seguida, selecione Abrir. A IA Studio exporta o ambiente de chat do playground para prompt flow. A exportação inclui as conexões com os dados que você adicionou.

    Captura de tela da caixa de diálogo abrir no prompt flow.

Dentro de um fluxo, os nós assumem o papel principal, representando ferramentas específicas com recursos exclusivos. Esses nós lidam com processamento de dados, execução de tarefas e operações algorítmicas, com entradas e saídas. Ao conectar nós, você estabelece uma cadeia contínua de operações que orienta o fluxo de dados por meio de seu aplicativo. Para obter mais informações, confira as ferramentas do prompt flow.

Para facilitar a configuração e o ajuste fino dos nós, uma representação visual da estrutura do fluxo de trabalho é fornecida através de um Grafo Direcionado Acíclico (DAG). Este grafo mostra a conectividade e as dependências entre nós, fornecendo uma visão geral clara de todo o fluxo de trabalho. Os nós no grafo mostrado aqui são representativos da experiência de chat do playground que você exportou para o prompt flow.

Captura de tela do grafo padrão exportado do playground para o prompt flow.

No prompt flow, você também deve ver:

  • Botão Salvar: Você pode salvar seu prompt flow a qualquer momento selecionando Salvar no menu superior. Salve o prompt flow periodicamente conforme você faz alterações neste tutorial.
  • Botão Iniciar sessão de computação: você precisa iniciar uma sessão de computação para executar seu prompt flow. Você pode iniciar a sessão posteriormente no tutorial. Você incorre em custos para instâncias de computação enquanto elas estão em execução. Para obter mais informações, veja como criar uma sessão de computação.

Captura de tela dos botões salvar e iniciar sessão em seu fluxo.

Você pode retornar ao prompt flow a qualquer momento selecionando Prompt flow em Ferramentas no menu esquerdo. Em seguida, selecione a pasta de prompt flow que você criou anteriormente.

Captura de tela da lista de prompt flow.

Personalizar o prompt flow com várias fontes de dados

anteriormente no playground de chat do IA Studio, você adicionou seus dados para criar um índice de pesquisa que continha dados do produto para o copiloto da Contoso. Até agora, os usuários só podem perguntar sobre produtos com perguntas como "Quanto custam os tênis de caminhada TrailWalker?". Mas eles não podem obter respostas para perguntas como "Quantos tênis de caminhada TrailWalker Daniel Wilson comprou?" Para habilitar esse cenário, adicionamos outro índice com informações do cliente ao fluxo.

Criar o índice de informações do cliente

Para continuar, você precisa de uma cópia local de exemplos de informações do cliente. Para obter mais informações e links para os dados de exemplo, confira os pré-requisitos.

Siga essas instruções sobre como criar um novo índice. Você retornará ao prompt flow posteriormente nesse tutorial para adicionar as informações do cliente ao fluxo. Você pode abrir uma nova guia em seu navegador para seguir essas instruções e depois retornar ao prompt flow.

  1. Vá para o seu projeto no Estúdio de IA.

  2. Selecione Índice no menu à esquerda. Observe que você já tem um índice chamado product-info criado anteriormente no playground do chat.

    Captura de tela da página índices com o botão para criar um novo índice.

  3. Selecione + Novo índice. Você é levado para o assistente Criar um índice.

  4. Na página Dados de origem, selecione Carregar arquivos na lista suspensa Fonte de dados. Em seguida, selecione Fazer upload>Fazer upload de arquivos para navegar pelos arquivos locais.

  5. Selecione os arquivos de informações do cliente que você baixou ou criou anteriormente. Consulte os pré-requisitos. Em seguida, selecione Avançar.

    Captura de tela das opções de seleção da fonte de dados do cliente.

  6. Selecione a mesma conexão do serviço Pesquisa de IA do Azure (contosooutdooraisearch) que você usou para o índice de informações do produto. Em seguida, selecione Avançar.

  7. Insira customer-info para o nome do índice.

    Captura de tela do serviço da Pesquisa de IA do Azure e do nome de índice.

  8. Selecione uma máquina virtual para executar trabalhos de indexação. A opção padrão é Selecionar automaticamente. Em seguida, selecione Avançar.

  9. Na página Configurações de pesquisa, em Configurações de vetor, desmarque a caixa de seleção Adicionar busca em vetores a esse recurso de pesquisa. Essa configuração ajuda a determinar como o modelo responde às solicitações. Em seguida, selecione Avançar.

    Observação

    Se você adicionar busca em vetores, mais opções estarão disponíveis aqui, com um custo adicional.

  10. Revise os detalhes inseridos e selecione Criar.

    Captura de tela da página de criação de índice de revisão e término.

    Observação

    Você usará o índice customer-info e a conexão contosooutdooraisearch no serviço da Pesquisa de IA do Azure no prompt flow posteriormente neste tutorial. Se os nomes inseridos forem diferentes dos especificados aqui, use os nomes inseridos no restante do tutorial.

  11. Você é levado para a página de detalhes do índice em que pode ver o status da criação do índice.

    Captura de tela dos detalhes do índice de informações do cliente.

Para obter mais informações sobre como criar um índice, confira Criar um índice.

Crie uma sessão de computação necessária para o prompt flow

Depois de criar seu índice, retorne ao prompt flow e inicie a sessão de computação. O prompt flow requer uma sessão de computação para ser executado.

  1. Acesse seu projeto.
  2. Selecione Prompt flow em Ferramentas no menu esquerdo. Em seguida, selecione a pasta de prompt flow que você criou anteriormente.
  3. Selecione Iniciar sessão de computação no menu superior.

Para criar uma instância de computação e uma sessão de computação, você também pode seguir as etapas em como criar uma sessão de computação.

Para concluir o restante do tutorial, certifique-se de que sua sessão de computação esteja em execução.

Importante

Você é cobrado pelas instâncias de computação enquanto elas estão em execução. Para evitar incorrer em custos desnecessários do Azure, pause a instância de computação quando não estiver trabalhando ativamente no prompt flow. Para obter mais informações, confira Como iniciar e parar a computação.

Adicionar informações do cliente ao fluxo

Depois de terminar de criar seu índice, retorne ao prompt flow e siga estas etapas para adicionar as informações do cliente ao fluxo:

  1. Certifique-se de ter uma sessão de computação em execução. Se você não tiver uma, veja criar uma sessão de computação na seção anterior.

  2. Selecione + Mais ferramentas no menu superior e selecione Pesquisa de índice na lista de ferramentas.

    Captura de tela da seleção da ferramenta de pesquisa de índice no prompt flow.

  3. Nomeie o novo nó como queryCustomerIndex e selecione Adicionar.

  4. Selecione a caixa de texto mlindex_content no nó queryCustomerIndex.

    Captura de tela da caixa de texto mlindex_content no nó de pesquisa de índice.

    A caixa de diálogo Gerar é aberta. Você usa essa caixa de diálogo para configurar o nó queryCustomerIndex para conectar-se ao seu índice customer-info.

  5. Para o valor index_type, selecione IA do Azure Search.

  6. Selecione ou insira os valores a seguir:

    Nome Valor
    acs_index_connection O nome da sua conexão de serviço de Pesquisa de IA do Azure (como contosooutdooraisearch)
    acs_index_name customer-info
    acs_content_field content
    acs_metadata_field meta_json_string
    semantic_configuration azuremldefault
    embedding_type Nenhuma
  7. Selecione salvar para salvar suas configurações.

  8. Selecione ou insira os seguintes valores para o nó queryCustomerIndex:

    Nome Valor
    queries ${extractSearchIntent.output}
    query_type Palavra-chave
    topK 5

    Você pode ver que o nó queryCustomerIndex está conectado ao nó extractSearchIntent no gráfico.

    Captura de tela do nó de prompt flow para recuperar informações do produto.

  9. Selecione Salvar no menu superior para salvar suas alterações. Lembre-se de salvar seu prompt flow periodicamente à medida que faz alterações.

Conecte as informações do cliente ao fluxo

Na próxima seção, você agregará as informações do produto e do cliente para produzi-las em um formato que o modelo de linguagem grande possa usar. Mas primeiro você precisa conectar as informações do cliente ao fluxo.

  1. Selecione o ícone de reticências próximo a + Mais ferramentas e selecione Modo de arquivo bruto para alternar para o modo de arquivo bruto. Esse modo permite copiar e colar nós no gráfico.

    Captura de tela da opção de modo de arquivo bruto no prompt flow.

  2. Substitua todas as instâncias de querySearchResource por queryProductIndex no gráfico. Estamos renomeando o nó para refletir melhor que ele recupera informações do produto e contrasta com o nó queryCustomerIndex que você adicionou ao fluxo.

  3. Renomeie e substitua todas as instâncias de chunkDocuments por chunkProductDocuments no gráfico.

  4. Renomeie e substitua todas as instâncias de selectChunks por selectProductChunks no gráfico.

  5. Copie e cole os nós chunkProductDocuments e selectProductChunks para criar nós semelhantes para as informações do cliente. Renomeie os novos nós chunkCustomerDocuments e selectCustomerChunks respectivamente.

  6. No nó chunkCustomerDocuments, substitua a ${queryProductIndex.output} entrada por ${queryCustomerIndex.output}.

  7. No nó selectCustomerChunks, substitua a ${chunkProductDocuments.output} entrada por ${chunkCustomerDocuments.output}.

  8. Selecione Salvar no menu superior para salvar suas alterações.

    Captura de tela da opção de salvar o arquivo yaml no modo de arquivo bruto.

    Até agora, o arquivo flow.dag.yaml deve incluir nós (entre outros) semelhantes ao exemplo a seguir:

    - name: chunkProductDocuments
      type: python
      source:
        type: code
        path: chunkProductDocuments.py
      inputs:
        data_source: Azure AI Search
        max_tokens: 1050
        queries: ${extractSearchIntent.output}
        query_type: Keyword
        results: ${queryProductIndex.output}
        top_k: 5
      use_variants: false
    - name: selectProductChunks
      type: python
      source:
        type: code
        path: filterChunks.py
      inputs:
        min_score: 0.3
        results: ${chunkProductDocuments.output}
        top_k: 5
      use_variants: false
    - name: chunkCustomerDocuments
      type: python
      source:
        type: code
        path: chunkCustomerDocuments.py
      inputs:
        data_source: Azure AI Search
        max_tokens: 1050
        queries: ${extractSearchIntent.output}
        query_type: Keyword
        results: ${queryCustomerIndex.output}
        top_k: 5
      use_variants: false
    - name: selectCustomerChunks
      type: python
      source:
        type: code
        path: filterChunks.py
      inputs:
        min_score: 0.3
        results: ${chunkCustomerDocuments.output}
        top_k: 5
      use_variants: false
    

Agregar informações de produtos e clientes

Nesse ponto, o prompt flow utiliza apenas as informações do produto.

  • extractSearchIntent extrai a intenção de pesquisa da pergunta do usuário.
  • queryProductIndex recupera as informações do produto do índice de informações do produto.
  • A ferramenta LLM (para modelos de linguagem grandes) recebe uma resposta formatada por meio dos nós chunkProductDocuments>selectProductChunks>formatGeneratedReplyInputs.

Você precisa conectar e agregar as informações do produto e do cliente para produzi-las em um formato que a ferramenta LLM possa usar. Siga essas etapas para agregar as informações do produto e do cliente:

  1. Selecione Python na lista de ferramentas.

  2. Nomeie a ferramenta agregadoChunks e selecione Adicionar.

  3. Copie e cole o seguinte código Python para substituir todo o conteúdo no bloco de código agregadoChunks.

    from promptflow import tool
    from typing import List
    
    @tool
    def aggregate_chunks(input1: List, input2: List) -> str:
        interleaved_list = []
        for i in range(max(len(input1), len(input2))):
            if i < len(input1):
                interleaved_list.append(input1[i])
            if i < len(input2):
                interleaved_list.append(input2[i])
        return interleaved_list
    
  4. Selecione o botão Validar e analisar entrada para validar as entradas para o nó agregadoChunks. Se as entradas forem válidas, o prompt flow analisará as entradas e criará as variáveis necessárias para você usar em seu código.

    Captura de tela do nó de prompt flow para agregar informações de produtos e clientes.

  5. Edite o nó agregadoChunks para conectar as informações do produto e do cliente. Defina as entradas com os seguintes valores:

    Nome Tipo Valor
    input1 lista ${selectProductChunks.output}
    input2 lista ${selectCustomerChunks.output}

    Captura de tela das entradas a serem editadas no nó de blocos agregados.

  6. Selecione o nó shouldGenerateReply no gráfico. Selecione ou insira ${aggregateChunks.output} para a entrada chunks.

  7. Selecione o nó formatGenerateReplyInputs no gráfico. Selecione ou insira ${aggregateChunks.output} para a entrada chunks.

  8. Selecione o nó de saídas no grafo. Selecione ou insira ${aggregateChunks.output} para a entrada chunks.

  9. Selecione Salvar no menu superior para salvar suas alterações. Lembre-se de salvar seu prompt flow periodicamente à medida que faz alterações.

Agora você pode ver o nó agregadoChunks no gráfico. O nó conecta as informações do produto e do cliente para produzi-las em um formato que a ferramenta LLM pode usar.

Captura de tela das entradas e saídas do nó de pedaços agregados no gráfico.

Converse no prompt flow com informações do produto e do cliente

Agora você tem as informações do produto e do cliente no prompt flow. Você pode conversar com o modelo no prompt flow e obter respostas para perguntas como "Quantos tênis de caminhada TrailWalker Daniel Wilson comprou?" Antes de prosseguir para uma avaliação mais formal, você pode, opcionalmente, conversar com o modelo para ver como ele responde às suas perguntas.

  1. Continue da seção anterior com o nó saídas selecionado. Certifique-se de que a saída responder tenha o botão de opção Saída de chat selecionado. Caso contrário, o conjunto completo de documentos será devolvido em resposta à pergunta no chat.

  2. Selecione Chat no menu superior no prompt flow para tentar conversar.

  3. Insira "Quantos tênis de caminhada TrailWalker Daniel Wilson comprou?" e, em seguida, selecione o ícone de seta para a direita para enviar.

    Observação

    Pode levar alguns segundos para o modelo responder. Você pode esperar que o tempo de resposta seja mais rápido ao usar um fluxo implantado.

  4. A resposta é o que você espera. O modelo usa as informações do cliente para responder à pergunta.

    Captura de tela da resposta do assistente com dados de fundamentação de produtos e clientes.

Avaliar o fluxo usando um conjunto de dados de avaliação de perguntas e respostas

No IA Studio, você deseja avaliar o fluxo antes de implantar o fluxo para Consumo.

Nesta seção, você usará a avaliação interna para avaliar seu fluxo com um conjunto de dados de avaliação de perguntas e respostas. A avaliação interna usa métricas assistidas por IA para avaliar seu fluxo: fundamentação, relevância e pontuação de recuperação. Para obter mais informações, confira as métricas de avaliação internas.

Criar uma avaliação

Você precisa de um conjunto de dados de avaliação de perguntas e respostas que contenha perguntas e respostas relevantes para seu cenário. Crie um novo arquivo localmente denominado qa-evaluation.jsonl. Copie e cole as seguintes perguntas e respostas ("truth") no arquivo.

{"question": "What color is the CozyNights Sleeping Bag?", "truth": "Red", "chat_history": [], }
{"question": "When did Daniel Wilson order the BaseCamp Folding Table?", "truth": "May 7th, 2023", "chat_history": [] }
{"question": "How much does TrailWalker Hiking Shoes cost? ", "truth": "$110", "chat_history": [] }
{"question": "What kind of tent did Sarah Lee buy?", "truth": "SkyView 2 person tent", "chat_history": [] }
{"question": "What is Melissa Davis's phone number?", "truth": "555-333-4444", "chat_history": [] }
{"question": "What is the proper care for trailwalker hiking shoes?", "truth": "After each use, remove any dirt or debris by brushing or wiping the shoes with a damp cloth.", "chat_history": [] }
{"question": "Does TrailMaster Tent come with a warranty?", "truth": "2 years", "chat_history": [] }
{"question": "How much did David Kim spend on the TrailLite Daypack?", "truth": "$240", "chat_history": [] }
{"question": "What items did Amanda Perez purchase?", "truth": "TrailMaster X4 Tent, TrekReady Hiking Boots (quantity 3), CozyNights Sleeping Bag, TrailBlaze Hiking Pants, RainGuard Hiking Jacket, and CompactCook Camping Stove", "chat_history": [] }
{"question": "What is the Brand for TrekReady Hiking Boots", "truth": "TrekReady", "chat_history": [] }
{"question": "How many items did Karen Williams buy?", "truth": "three items of the Summit Breeze Jacket", "chat_history": [] }
{"question": "France is in Europe", "truth": "Sorry, I can only truth questions related to outdoor/camping gear and equipment", "chat_history": [] }

Agora que você tem seu conjunto de dados de avaliação, você pode avaliar seu fluxo seguindo estas etapas:

  1. Selecione Avaliar>Avaliação interna no menu superior no prompt flow.

    Captura de tela da opção para criar uma avaliação interna do prompt flow.

    Você é levado para o assistente Criar uma nova avaliação.

  2. Insira um nome para sua avaliação e selecione uma sessão de computação.

  3. Selecione Pergunta e resposta sem contexto nas opções de cenário.

  4. Selecione o fluxo a ser avaliado. Neste exemplo, selecione o fluxo externo da Contoso ou o que você nomeou seu fluxo. Em seguida, selecione Avançar.

    Captura de tela da seleção de um cenário de avaliação.

  5. Selecione Adicionar seu conjunto de dados na página Configurar dados de teste.

    Captura de tela da opção para usar um conjunto de dados novo ou existente.

  6. Selecione Fazer upload do arquivo, navegue pelos arquivos e selecione o arquivo qa-evaluation.jsonl que você criou anteriormente.

  7. Após o fazer upload do arquivo, você precisa configurar suas colunas de dados para corresponder às entradas necessárias para o prompt flow para executar uma execução em lote que gera saída para avaliação. Insira ou selecione os valores a seguir para cada mapeamento de conjunto de dados para prompt flow.

    Captura de tela do mapeamento do conjunto de dados de avaliação de prompt flow.

    Nome Descrição Tipo Fonte de dados
    chat_history O histórico do chat lista ${data.chat_history}
    consulta A consulta string ${data.question}
  8. Selecione Avançar.

  9. Selecione as métricas que você deseja usar para avaliar seu fluxo. Nesse exemplo, selecione Coerência, Fluência, Similaridade GPT e pontuação F1.

  10. Selecione uma conexão e um modelo para usar na avaliação. Neste exemplo, selecione gpt-35-turbo-16k. Em seguida, selecione Avançar.

    Captura de tela da seleção de métricas de avaliação.

    Observação

    A avaliação com métricas assistidas por IA precisa chamar outro modelo de GPT para fazer o cálculo. Para obter melhor desempenho, use um modelo que dê suporte a pelo menos 16 mil tokens, como o modelo gpt-4-32k ou gpt-35-turbo-16k. Se você não implantou anteriormente este modelo, poderá implantar outro modelo seguindo as etapas no início rápido do playground do chat do Estúdio de IA. Em seguida, retorne a esta etapa e selecione o modelo implantado.

  11. Você precisa configurar suas colunas de dados para corresponder às entradas necessárias para gerar métricas de avaliação. Insira os seguintes valores para mapear o conjunto de dados para as propriedades de avaliação:

    Nome Descrição Tipo Fonte de dados
    question Uma consulta que busca informações específicas. string ${data.question}
    answer A resposta à pergunta gerada pelo modelo como resposta. string ${run.outputs.reply}
    documentos Cadeia de caracteres com contexto de documentos recuperados. string ${run.outputs.documents}
  12. Selecione Avançar.

  13. Examine os detalhes da avaliação e selecione Enviar. Você é levado para a página Avaliações de métrica.

Exibir o status e os resultados da avaliação

Agora você pode exibir o status da avaliação e os resultados seguindo estas etapas:

  1. Depois de criar uma avaliação, se ainda não estiver lá vá para a Avaliação. Na página Avaliações de métrica, você verá o status da avaliação e as métricas selecionadas. Talvez seja necessário selecionar Atualizar após alguns minutos para ver o status Concluído.

    Captura de tela da página de avaliações de métrica.

  2. Pare sua sessão de computação no prompt flow. Acesse o prompt flow e selecione Sessão de computação em execução>Parar sessão de computação no menu superior.

    Captura de tela do botão para interromper uma sessão de computação no prompt flow.

    Dica

    Depois que a avaliação estiver no status Concluída, você não precisará de uma sessão de computação para concluir o restante desse tutorial. Você pode interromper sua instância de computação para evitar incorrer em custos desnecessários do Azure. Para obter mais informações, confira Como iniciar e parar a computação.

  3. Selecione o nome da avaliação (como evaluation_evaluate_from_flow_variant_0) para ver as métricas de avaliação.

    Captura de tela da página de resultados detalhados das métricas.

Para obter mais informações, confira os resultados da avaliação de exibição.

Implantar o fluxo

Agora que você criou um fluxo e concluiu uma avaliação baseada em métricas, é hora de criar seu ponto de extremidade online para inferência em tempo real. Isso significa que você pode usar o fluxo implantado para responder perguntas em tempo real.

Siga essas etapas para implantar um prompt flow como um terminal online do IA Studio.

  1. Tenha um prompt flow pronto para ser implantado. Se você não tiver um, veja as seções anteriores ou como criar um prompt flow.

  2. Opcional: selecione Chat para testar se o fluxo está funcionando corretamente. Testar o fluxo antes da implantação é a prática recomendada.

  3. Selecione Implantar no editor de fluxo.

    Captura de tela do botão implantar de um editor de prompt flow.

  4. Forneça as informações solicitadas na página Configurações Básicas do assistente de implantação. Selecione Avançar para prosseguir para as páginas de configurações avançadas.

    Captura de tela da página de configurações básicas no assistente de implantação.

  5. Na página Configurações avançadas – Ponto de extremidade, deixe as configurações padrão e selecione Avançar.

  6. Na página Configurações avançadas – Implantação, deixe as configurações padrão e selecione Avançar.

  7. Na página Configurações avançadas – Saídas e conexões, verifique se todas as saídas estão selecionadas em Incluído na resposta do ponto de extremidade.

    Captura de tela da página de configurações avançadas no assistente de implantação.

  8. Selecione Examinar + Criar para revisar as configurações e criar a implantação.

  9. Selecione Criar para implantar o prompt flow.

    Captura de tela da página de configurações de implantação do prompt flow de revisão.

Para obter mais informações, confira como implantar um fluxo.

Usar o fluxo implantado

Seu aplicativo copiloto pode usar o prompt flow implantado para responder perguntas em tempo real. Você pode usar o ponto de extremidade REST ou o SDK para usar o fluxo implantado.

  1. Para visualizar o status da sua implantação no IA Studio, selecione Implantações na navegação à esquerda.

    Captura de tela do estado de implantação do prompt flow em andamento.

    Uma vez que a implantação tenha sido criada com êxito, você poderá selecioná-la para exibir os detalhes.

    Observação

    Se você vir uma mensagem informando "Atualmente este ponto de extremidade não tem implantações" ou se o Estado ainda estiver Atualizando, talvez seja necessário selecionar Atualizar após alguns minutos para ver a implantação.

  2. Opcionalmente, a página de detalhes é onde você pode alterar o tipo de autenticação ou habilitar o monitoramento.

    Captura de tela da página de detalhes da implantação do prompt flow.

  3. Selecione a guia Consumir. Você pode ver os códigos de exemplo e o ponto de extremidade REST do aplicativo copiloto para usar o fluxo implantado.

    Captura de tela dos exemplos de código e do ponto de extremidade de implantação de prompt flow.

Limpar os recursos

Para evitar incorrer em custos desnecessários do Azure, exclua os recursos criados neste tutorial se eles não forem mais necessários. Para gerenciar os recursos, use o portal do Azure.

Você também pode interromper ou excluir sua instância de computação no IA Studio conforme necessário.

Próximas etapas