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

Observação

Atualmente, o Estúdio de IA do Azure está em visualização 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.

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. Crie um projeto do Estúdio de IA do Azure.
  2. Implante um modelo do OpenAI doo Azure e converse com seus dados.
  3. Crie um prompt flow do playground.
  4. Personalize o prompt flow com várias fontes de dados.
  5. Avalie o fluxo usando um conjunto de dados de avaliação de perguntas e respostas.
  6. Implante o fluxo para consumo.

Pré-requisitos

Criar um projeto de IA do Azure no Estúdio de IA do Azure

Seu projeto de IA do Azure é usado para organizar seu trabalho e salvar o estado durante a criação do copiloto. Durante este tutorial, seu projeto contém seus dados, runtime do prompt flow, avaliações e outros recursos. Para obter mais informações sobre o modelo de recursos e projetos de IA do Azure, consulte recursos de hub de IA do Azure.

Para criar um projeto de IA do Azure no Estúdio de IA do Azure, siga estas etapas:

  1. Selecione a guia Criar na parte superior da página.

  2. Selecione + Novo projeto de IA.

    Captura de tela do guia Build do Estúdio de IA do Azure com a opção de criar um novo projeto visível.

  3. Insira um nome para o projeto.

  4. Selecione um recurso do hub de IA do Azure na lista de seleção para hospedar seu projeto. Se você ainda não tiver acesso a um recurso do hub de IA do Azure, selecione Criar um novo recurso.

    Captura de tela da página de detalhes do projeto na caixa de diálogo de criação do projeto.

    Observação

    Para criar um recurso do hub de IA do Azure, você deve ter permissões de Proprietário ou Colaborador no grupo de recursos selecionado. É recomendável compartilhar um recurso do hub de IA do Azure com sua equipe. Isso permite que você compartilhe configurações como conexões de dados com todos os projetos e gerencie centralmente as configurações de segurança e os gastos.

  5. Se você estiver criando um novo recurso do hub de IA do Azure, insira um nome.

  6. Selecione a assinatura do Azure na lista suspensa. Escolha uma assinatura específica do Azure para seu projeto por motivos administrativos, de cobrança ou de acesso. Por exemplo, isso concede aos usuários e entidades de serviço acesso no nível de assinatura ao seu projeto.

  7. Defina Grupo de recursos como o padrão para criar um grupo de recursos. Como alternativa, você pode selecionar um grupo de recursos existente na lista suspensa.

    Dica

    Principalmente para começar, é recomendável criar um grupo de recursos para seu projeto. Isso permite que você gerencie facilmente o projeto e todos os seus recursos em conjunto. Quando você cria um projeto, vários recursos são criados no grupo de recursos, incluindo um recurso do hub de IA do Azure, um registro de contêiner e uma conta de armazenamento.

  8. Insira o Local do recurso do hub de IA do Azure e depois selecione Próximo. O local é a região em que o recurso do hub de IA do Azure é hospedado. O local do recurso do hub de IA do Azure também é o local do projeto. A disponibilidade dos serviços de IA do Azure difere por região. Por exemplo, determinados modelos podem não estar disponíveis em determinadas regiões.

  9. Selecione um recurso existente do Azure OpenAI na lista suspensa ou crie um novo.

    Captura de tela da página de criação de recursos na caixa de diálogo de criação de projeto.

  10. Na página Revisar e finalizar, você visualizará o nome do recurso do Serviço OpenAI do Azure e outras configurações a serem revisadas.

    Captura de tela da página de revisão e conclusão na caixa de diálogo de criação do projeto.

  11. Revise os detalhes do projeto e selecione Criar um projeto de IA. Você visualiza o progresso da criação do recurso e o projeto é criado quando o processo é concluído.

    Captura de tela do progresso da criação de recursos na caixa de diálogo de criação de projeto.

Depois que um projeto é criado, você pode acessar os ativos Ferramentas, Componentes e Configurações do projeto de IA no painel de navegação esquerdo. Para um projeto que utiliza um Hub de IA do Azure com suporte para o OpenAI do Azure, verá a opção de navegação Playground em Ferramentas.

Implantar um modelo de chat

Siga estas etapas para implantar um modelo de chat do OpenAI do Azure para seu copiloto.

  1. Entre no Estúdio de IA do Azure com credenciais que tenham acesso ao recurso do OpenAI do Azure. Durante o fluxo de trabalho de entrada, selecione o diretório apropriado, a assinatura do Azure e o recurso OpenAI do Azure. Você deve estar na home page do Estúdio de IA do Azure.

  2. Selecione Compilar no menu superior e, em seguida, selecione Implantações>Criar>Ponto de extremidade em tempo real.

    Captura de tela da página de implantações com um botão para criar um novo projeto.

  3. Na página Selecionar um modelo, selecione o modelo a ser implantado na lista de modelos. Por exemplo, selecione gpt-35-turbo-16k. Em seguida, selecione Confirmar.

    Captura de tela da página de seleção do modelo.

  4. Na página Implantar modelo, insira um nome para sua implantação e selecione Implantar. Depois que a implantação for criada, você verá a página de detalhes da implantação. Os detalhes incluem a data em que você criou a implantação e a data e a versão criadas do modelo implantado.

  5. Na página de detalhes da implantação da etapa anterior, selecione Abrir no playground.

    Captura de tela dos detalhes da implantação do GPT chat.

Para obter mais informações sobre como implantar modelos, confira como implantar modelos.

Converse no playground sem seus dados

No playground do Estúdio de IA do Azure, você poderá observar como seu modelo responde com e sem seus dados. Nesta seção, você testará seu modelo sem seus dados. Na próxima seção, você adicionará seus dados ao modelo para ajudá-lo a responder melhor às perguntas sobre seus produtos.

  1. No playground, verifique se o Chat está selecionado na lista suspensa Modo. Selecione o modelo de chat GPT implantado na lista suspensa Implantação.

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

  2. Na caixa de texto da mensagem do sistema no painel de configuração do Assistente, forneça este prompt para orientar o assistente: “Você é um assistente de IA que ajuda as pessoas a encontrar informações.” Você pode adaptar o prompt para seu cenário. Para obter mais informações, confira exemplos de prompt.

  3. Selecione Aplicar alterações para salvar suas alterações e, quando solicitado a responder se deseja atualizar a mensagem do sistema, selecione Continuar.

  4. No painel da sessão de chat, insira a seguinte pergunta: "Quanto custam os tênis de caminhada TrailWalker" e selecione o ícone de seta para a direita para enviar.

    Captura de tela da primeira pergunta de chat sem dados de fundamentação.

  5. O assistente responde que não sabe a resposta. O modelo não tem acesso às informações do produto sobre os tênis de caminhada TrailWalker.

    Captura de tela da resposta do assistente sem dados de fundamentação.

Na próxima seção, você adicionará seus dados ao modelo para ajudá-lo a responder perguntas sobre seus produtos.

Adicione seus dados e tente o modelo de chat novamente

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

Carregue seus arquivos de dados locais no Armazenamento de Blobs do Azure e crie um índice do Azure AI Search. Sua fonte de dados é usada para ajudar a aterrar o modelo com dados específicos. Aterramento significa que o modelo usa seus dados para ajudá-lo a entender o contexto de sua pergunta. 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. Para saber mais, confira OpenAI do Azure para seus dados.

Siga estas etapas para adicionar seus dados ao playground para ajudar o assistente a responder perguntas sobre seus produtos.

  1. Se você ainda não estiver no playground do Estúdio de IA do Azure, selecione Criar no menu superior e selecione Playground no menu esquerdo recolhível.

  2. No painel Configuração do Assistente, selecione Adicionar seus dados (versão prévia)>+ Adicionar uma fonte de dados .

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

  3. Na página Fonte de dados exibida, selecione Carregar arquivos na lista suspensa Selecionar fonte de dados.

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

    Dica

    Para obter opções de fonte de dados e formatos e tipos de arquivo com suporte, consulte o OpenAI do Azure para seus dados.

  4. Insira as informações do produto como o nome do índice de informações do produto.

    Captura de tela dos recursos e das informações necessárias para carregar arquivos.

  5. Selecione ou crie um recurso de Pesquisa de IA do Azure chamado contoso-outdoor-search e selecione o reconhecimento de que conectá-lo incorre em uso em sua conta.

    Observação

    Você usa o índice de informações do produto e o recurso contoso-outdoor-search de 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.

  6. Selecione a assinatura do Azure que contém o recurso do OpenAI do Azure que você deseja usar. Em seguida, selecione Avançar.

  7. Na página Carregar arquivos, selecione Procurar um arquivo e selecione os arquivos que você deseja carregar. Selecione os arquivos de informações do produto que você baixou ou criou anteriormente. Consulte os pré-requisitos. Se você quiser carregar mais de um arquivo, faça isso agora. Você não poderá adicionar mais arquivos mais tarde na mesma sessão de playground.

  8. Selecione Carregar para carregar o arquivo em sua conta de armazenamento de Blobs do Azure. Em seguida, selecione Avançar na parte inferior da página.

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

  9. Na página Gerenciamento de dados em Tipo de pesquisa, selecione Palavra-chave. Essa configuração ajuda a determinar como o modelo responde às solicitações. Em seguida, selecione Avançar.

    Observação

    Se você tiver adicionado a busca em vetores na página Selecionar ou adicionar fonte de dados, mais opções estarão disponíveis aqui para um custo adicional. Para saber mais, confira OpenAI do Azure para seus dados.

  10. Reveja os detalhes inseridos e selecione Salvar e fechar. Agora é possível conversar com o modelo e ele usará as informações dos seus dados para construir a resposta.

    Captura de tela da página de revisão e término para adicionar dados.

  11. Agora, no painel de configuração do Assistente, você pode ver que a ingestão de dados está em andamento. 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.

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

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

Criar computação e runtime necessários para o prompt flow

Use o prompt flow para otimizar as mensagens enviadas para o modelo de chat do copiloto. O prompt flow requer uma instância de computação e um runtime. Se você já tiver uma instância de computação e um runtime, poderá ignorar esta seção e permanecer no playground.

Para criar uma instância de computação e um runtime, siga estas etapas:

  1. Se você não tiver uma instância de computação, poderá criar uma no Estúdio de IA do Azure.
  2. Em seguida, crie um runtime seguindo as etapas em como criar um runtime.

Para concluir o restante do tutorial, verifique se o runtime está em estado de Execução. Talvez seja necessário selecionar Atualizar para ver o status atualizado.

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.

Criar um prompt flow do playground

Agora que seu modelo de chat implantado está funcionando no playground com seus dados, você poderá implantar seu copiloto como um aplicativo Web a partir 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.

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. Se você ainda não estiver no playground do Estúdio de IA do Azure, selecione Criar no menu superior e selecione Playground no menu esquerdo recolhível.

  2. Selecione Abrir no prompt flow no menu acima do painel Sessão de chat.

  3. Insira um nome de pasta para o seu prompt flow. Em seguida, selecione Abrir. O Estúdio de IA do Azure exporta o ambiente de chat do playground, incluindo conexões com seus dados para o prompt flow.

    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.

Nós podem ser adicionados, atualizados, reorganizados ou removidos. Os nós em seu fluxo neste ponto incluem:

  • DetermineIntent: esse nó determina a intenção da consulta do usuário. Ele usa o prompt do sistema para determinar a intenção. Você pode editar o prompt do sistema para fornecer poucos exemplos de cenários específicos.
  • ExtractIntent: esse nó formata a saída do nó DetermineIntent e o envia para o nó RetrieveDocuments.
  • RetrieveDocuments: esse nó pesquisa os principais documentos relacionados à consulta. Esse nó usa o tipo de pesquisa e todos os parâmetros pré-configurados no playground.
  • FormatRetrievedDocuments: Este nó formata a saída do nó RetrieveDocuments e a envia para o nó DetermineReply.
  • DetermineReply: esse nó contém um prompt de sistema extenso, que solicita que a LLM responda usando apenas os documentos recuperados. Há duas entradas:
    • O nó RetrieveDocuments fornece os principais documentos recuperados.
    • O nó FormatConversation fornece o histórico de conversa formatado, incluindo a consulta mais recente.

O nó FormatReply formata a saída do nó DetermineReply.

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

  • Salvar: Você pode salvar o prompt flow a qualquer momento selecionando Salvar no menu superior. Salve o prompt flow periodicamente conforme você faz alterações neste tutorial.

  • Runtime: O runtime que você criou anteriormente neste tutorial. Você pode iniciar e parar runtimes e instâncias de computação por meio das Configurações do projeto de IA no menu à esquerda. Para trabalhar no prompt flow, verifique se o runtime está em estado de Execução.

    Captura de tela do editor de prompt flow e menus ao redor.

  • Ferramentas: Você pode retornar ao prompt flow a qualquer momento selecionando Prompt flow em Ferramentas no menu à esquerda. Em seguida, selecione a pasta do prompt flow que você criou anteriormente (não o fluxo de exemplo).

    Captura de tela da lista de prompt flow.

Personalizar o prompt flow com várias fontes de dados

No início do playground do Estúdio de IA do Azure, 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

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

Siga estas instruções sobre como criar um novo índice:

  1. Selecione Índice no menu à esquerda. Em seguida, selecione + Novo índice.

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

    Você é levado para o assistente Criar um índice.

  2. Na página Dados de origem, selecione Carregar pasta na lista suspensa Carregar. Selecione os arquivos de informações do cliente que você baixou ou criou anteriormente. Consulte os pré-requisitos.

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

  3. Selecione Avançar na parte inferior da página.

  4. Selecione o mesmo recurso de Pesquisa de IA do Azure (contoso-outdoor-search) que você usou para o índice de informações do produto (product-info). Em seguida, selecione Avançar.

    Captura de tela do recurso selecionado da Pesquisa de IA do Azure.

  5. Selecione Híbrido + Semântico (Recomendado) para o Tipo de pesquisa. Esse tipo deve ser selecionado por padrão.

  6. Selecione Default_AzureOpenAI na lista suspensa Recursos do OpenAI do Azure. Marque a caixa de seleção para reconhecer que um modelo de inserção do OpenAI do Azure será implantado se ainda não estiver. Em seguida, selecione Avançar.

    Captura de tela das opções de tipo de pesquisa de índice.

    Observação

    O modelo de inserção é listado com outras implantações de modelo na página Implantações.

  7. Insira customer-info para o nome do índice. Em seguida, selecione Avançar.

    Captura de tela do nome do índice e das opções da máquina virtual.

  8. 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 o recurso contoso-outdoor-search de 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.

  9. 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.

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. Selecione o nó RetrieveDocuments no grafo e renomeie-o como RetrieveProductInfo. Agora o nó de recuperação de informações do produto pode ser diferenciado do nó de recuperação de informações do cliente que você inclui no fluxo.

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

  2. Selecione + Python no menu superior para criar um novo nó Python usado para recuperar informações do cliente.

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

  3. Nomeie o nó RetrieveCustomerInfo e selecione Adicionar.

  4. Copie e cole o código Python do nó RetrieveProductInfo no nó RetrieveCustomerInfo para substituir todo o código padrão.

  5. Selecione o botão Validar e analisar a entrada para validar as entradas do nó RetrieveCustomerInfo. 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 botão validar e analisar entrada.

  6. Edite as entradas RetrieveCustomerInfo que o prompt flow analisou para você para que ele possa se conectar ao índice de customer-info.

    Captura de tela das entradas a serem editadas no nó recuperar informações do cliente.

    Observação

    O grafo é atualizado imediatamente após você definir o valor de entrada das consultas como ExtractIntent.output.search_intents. No grafo, você pode ver que RetrieveCustomerInfo obtém entradas de ExtractIntent.

    As entradas diferenciam maiúsculas de minúsculas, portanto, verifique se correspondem exatamente a esses valores:

    Nome Tipo Valor
    embeddingModelConnection OpenAI do Azure Default_AzureOpenAI
    embeddingModelName string Nenhuma
    indexName string customer-info
    queries string ${ExtractIntent.output.search_intents}
    queryType string simpless
    searchConnection Pesquisa cognitiva contoso-outdoor-search
    semanticConfiguration string Nenhuma
    topK INT 5
  7. Selecione Salvar no menu superior para salvar suas alterações.

Formatar os documentos recuperados para a saída

Agora que você tem as informações do produto e do cliente no prompt flow, formate os documentos recuperados para que o modelo de linguagem grande possa usá-los.

  1. Selecione o nó FormatRetrievedDocuments no grafo.

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

    from promptflow import tool
    
    @tool
    def format_retrieved_documents(docs1: object, docs2: object, maxTokens: int) -> str:
      formattedDocs = []
      strResult = ""
      docs = [val for pair in zip(docs1, docs2) for val in pair]
      for index, doc in enumerate(docs):
        formattedDocs.append({
          f"[doc{index}]": {
            "title": doc['title'],
            "content": doc['content']
          }
        })
        formattedResult = { "retrieved_documents": formattedDocs }
        nextStrResult = str(formattedResult)
        if (estimate_tokens(nextStrResult) > maxTokens):
          break
        strResult = nextStrResult
    
      return {
              "combined_docs": docs,
              "strResult": strResult
          }
    
    def estimate_tokens(text: str) -> int:
      return (len(text) + 2) / 3
    
  3. Selecione o botão Validar e analisar a entrada para validar as entradas do nó FormatRetrievedDocuments. 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.

  4. Edite as entradas FormatRetrievedDocuments que o prompt flow analisou para você para que ele possa extrair informações de produtos e clientes dos nós RetrieveProductInfo e RetrieveCustomerInfo.

    Captura de tela das entradas a serem editadas no nó de documentos recuperados no formato.

    As entradas diferenciam maiúsculas de minúsculas, portanto, verifique se correspondem exatamente a esses valores:

    Nome Tipo Valor
    docs1 objeto ${RetrieveProductInfo.output}
    docs2 objeto ${RetrieveCustomerInfo.output}
    maxTokens INT 5000
  5. Selecione o nó DetermineReply no grafo.

  6. Defina a entrada da documentação como ${FormatRetrievedDocuments.output.strResult}.

    Captura de tela da edição do valor de entrada da documentação no nó determinar resposta.

  7. Selecione o nó de saídas no grafo.

  8. Defina a entrada fetched_docs como ${FormatRetrievedDocuments.output.combined_docs}.

    Captura de tela da edição do valor de entrada fetched_docs no nó de saídas.

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

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. Selecione Chat no menu superior no prompt flow para tentar conversar.

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

  3. 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 Estúdio de IA do Azure, 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 um runtime.

  3. Selecione Pares de perguntas e respostas com geração aumentada de recuperação nas opções de cenário.

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

  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.

  5. Selecione as métricas que você deseja usar para avaliar seu fluxo. Neste exemplo, selecione Fundamentação, Relevância e Pontuação de recuperação.

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

  6. Selecione um modelo a ser usado para avaliação. Neste exemplo, selecione gpt-35-turbo-16k. Em seguida, selecione Avançar.

    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 implementou anteriormente este modelo, poderá implantar outro modelo seguindo as etapas em Implantar um modelo de chat. Em seguida, retorne a esta etapa e selecione o modelo implantado.

  7. Selecione Adicionar novo conjunto de dados. Em seguida, selecione Avançar.

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

  8. Selecione Carregar arquivos, procure os arquivos e selecione o arquivo qa-evaluation.jsonl criado anteriormente.

    Captura de tela do botão carregar arquivos do conjunto de dados.

  9. Depois que o arquivo é carregado, você precisa mapear as propriedades do arquivo (fonte de dados) para as propriedades de avaliação. Insira os seguintes valores para cada propriedade da fonte de dados:

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

    Nome Descrição Tipo Fonte de dados
    chat_history O histórico do chat lista ${data.chat_history}
    consulta A consulta string ${data.question}
    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.fetched_docs}
  10. Selecione Avançar.

  11. Examine os detalhes da avaliação e selecione Enviar.

    Captura de tela da página de revisão e conclusão na caixa de diálogo Criar avaliação.

    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 você ainda não estiver lá, vá para Build>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.

    Dica

    Depois que a avaliação estiver no status Concluído, você não precisará de runtime ou computação para concluir o restante deste 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.

  2. Selecione o nome da avaliação que foi concluída primeiro (contoso-evaluate-from-flow_variant_0) para ver os detalhes da avaliação com as colunas mapeadas anteriormente.

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

  3. Selecione o nome da avaliação que foi concluída em segundo lugar (evaluation_contoso-evaluate-from-flow_variant_0) para ver as métricas de avaliação: Fundamentação,Relevância e Pontuação de recuperação.

    Captura de tela das pontuações médias 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 estas etapas para implantar um prompt flow como um ponto de extremidade online do Estúdio de IA do Azure.

  1. Tenha um prompt flow pronto para ser implantado. Se você não tiver um, confira 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.

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

  5. Selecione Avançar para prosseguir para as páginas de configurações avançadas.

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

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

  8. 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.

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

  10. 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 exibir o status da implantação no Estúdio de IA do Azure, selecione Implantações na navegação à esquerda. Uma vez que a implantação tenha sido criada com êxito, você poderá selecioná-la para exibir os detalhes.

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

    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 parar ou excluir sua instância de computação no Estúdio de IA do Azure.

Demonstração da solução de chats empresariais do Estúdio de IA do Azure

Saiba como criar um copilot de varejo usando seus dados com o Estúdio de IA do Azure neste vídeo passo a passo de ponta a ponta.

Próximas etapas