Compartilhar via


Conectar-se aos serviços de IA do Azure a partir de fluxos de trabalho nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Para integrar serviços empresariais, sistemas e dados com tecnologias de IA, seus fluxos de trabalho de aplicativo lógico podem se conectar a recursos do OpenAI do Azure e da Pesquisa de IA do Azure que você usa para esses cenários de integração.

Este guia fornece uma visão geral e exemplos que mostram como usar as operações do conector do OpenAI do Azure e da Pesquisa de IA do Azure em seu fluxo de trabalho.

Por que usar aplicativos lógicos do Azure com serviços de IA?

Normalmente, a criação de soluções de IA envolve várias etapas principais e requer alguns blocos de construção. Principalmente, você precisa ter um pipeline de ingestão dinâmica e uma interface de chat que possa se comunicar com LLMs (modelos de linguagem grande) e bancos de dados de vetor.

Dica

Para saber mais, você pode fazer estas perguntas ao Copilot no Azure:

  • O que é um pipeline de ingestão dinâmica na IA?
  • O que é um banco de dados de vetores na IA?

Para localizar o Copilot no Azure, na barra de ferramentas do portal do Azure, selecione Copilot.

Você pode montar vários componentes, não apenas para executar a ingestão de dados, mas também para fornecer um back-end robusto para a interface de chat. Esse back-end facilita a inserção de prompts e gera respostas confiáveis durante as interações. No entanto, a criação do código para gerenciar e controlar todos esses elementos pode ser desafiadora, o que é o caso da maioria das soluções.

Os Aplicativos Lógicos do Azure oferecem uma abordagem de baixo código e simplificam o gerenciamento de back-end, fornecendo conectores predefinidos que você usa como blocos de construção para simplificar o processo de back-end. Essa abordagem permite que você se concentre em fornecer seus dados e garantir que os resultados da pesquisa forneçam informações atuais e relevantes. Com esses conectores de IA, seu fluxo de trabalho atua como um mecanismo de orquestração que transfere dados entre serviços de IA e outros componentes que você deseja integrar.

Para saber mais, consulte os recursos a seguir:

Pré-requisitos

  • Uma conta e uma assinatura do Azure. Se você não tiver uma assinatura do Azure, inscreva-se em uma conta gratuita do Azure.

  • Os recursos da Pesquisa de IA do Azure e do OpenAI do Azure para acessar e usar no seu fluxo de trabalho, incluindo informações de conexão:

  • Um fluxo de trabalho de aplicativo lógico em que você deseja acessar seus recursos do OpenAI do Azure e da Pesquisa de IA do Azure.

    Os conectores desses serviços atualmente fornecem apenas ações, não gatilhos. Antes de adicionar uma ação do conector de IA do Azure, verifique se o fluxo de trabalho começa com o gatilho apropriado para seu cenário.

Referência técnica do conector

Nos fluxos de trabalho de Consumo, os conectores gerenciados ou "compartilhados" do OpenAI do Azure e da Pesquisa de IA do Azure estão atualmente em versão prévia e sujeitos aos Termos de Uso Complementares para versões prévias do Microsoft Azure.

OpenAI do Azure

O Serviço OpenAI do Azure fornece acesso aos Modelos de linguagem do OpenAI, que incluem GPT-4, GPT-4 Turbo com Visão, GPT-3.5-Turbo e a série de modelos Embeddings. Com o conector do OpenAI do Azure, seu fluxo de trabalho pode se conectar ao Serviço OpenAI do Azure e obter inserções do OpenAI para seus dados ou gerar preenchimentos de chat.

Dica

Para saber mais, você pode fazer estas perguntas ao Copilot no Azure:

  • O que é uma inserção na IA?
  • O que é um preenchimento de chat na IA?

Para localizar o Copilot no Azure, na barra de ferramentas do portal do Azure, selecione Copilot.

O conector do OpenAI do Azure tem versões diferentes, com base no tipo do aplicativo lógico e no modelo do host:

Aplicativo lógico Ambiente Versão do conector
Consumo Aplicativos Lógicos Multilocatários do Azure Conector gerenciado e hospedado pelo Azure, que aparece na galeria de conectores em Runtime>Compartilhado.

Para obter mais informações, consulte a Referência do conector gerenciado do OpenAI do Azure.
Standard Aplicativos Lógicos do Azure de locatário único, Ambiente do Serviço de Aplicativo v3 (somente planos do Windows) ou implantação híbrida, que é sua própria infraestrutura. O conector interno, que aparece na galeria de conectores em Runtime>No Aplicativo e é baseado no provedor de serviços. O conector interno tem os seguintes recursos, entre outros:

Suporte a vários métodos de autenticação

– Acesso direto a recursos em redes virtuais e pontos de extremidade do Azure para o OpenAI do Azure atrás de firewalls.

Para obter mais informações, consulte a Referência do conector interno do OpenAI do Azure.

A Pesquisa de IA do Azure é uma plataforma para recuperação de informações alimentadas por IA que ajuda os desenvolvedores a criar experiências de pesquisa avançadas e aplicativos de IA generativos combinando modelos de linguagem grande com dados corporativos. Com o conector da Pesquisa de IA do Azure, seu fluxo de trabalho pode se conectar à Pesquisa de IA do Azure para indexar documentos e executar busca em vetores em seus dados.

O conector da Pesquisa de IA do Azure tem versões diferentes, com base no tipo do aplicativo lógico e no modelo do host:

Aplicativo lógico Ambiente Versão do conector
Consumo Aplicativos Lógicos Multilocatários do Azure Conector gerenciado e hospedado pelo Azure, que aparece na galeria de conectores em Runtime>Compartilhado.

Para obter mais informações, consulte a Referência do conector gerenciado pela Pesquisa de IA do Azure.
Standard Aplicativos Lógicos do Azure de locatário único, Ambiente do Serviço de Aplicativo v3 (somente planos do Windows) ou implantação híbrida, que é sua própria infraestrutura. O conector interno, que aparece na galeria de conectores em Runtime>No Aplicativo e é baseado no provedor de serviços. O conector interno tem os seguintes recursos, entre outros:

Suporte a vários métodos de autenticação

– Acesso direto a recursos em redes virtuais e pontos de extremidade do Azure para o OpenAI do Azure atrás de firewalls.

Para obter mais informações, consulte a Referência do conector interno da Pesquisa de IA do Azure.

Autenticação

Os conectores gerenciados por IA exigem uma chave de API para autenticação. No entanto, os conectores internos de IA dão suporte a vários tipos de autenticação para o ponto de extremidade de serviço de IA. Essas opções fornecem autenticação robusta que atende às necessidades da maioria dos clientes. Ambos os conectores internos também podem se conectar diretamente aos recursos do OpenAI do Azure e da Pesquisa de IA do Azure dentro de redes virtuais ou atrás de firewalls.

A tabela a seguir descreve as opções de autenticação do conector interno, que exigem que você forneça a URL para o ponto de extremidade de serviço de IA:

Tipo de autenticação Descrição
Autenticação baseada em chave e URL Forneça a chave de API ou de administração gerada pelo serviço de IA.
OAuth do Active Directory (Microsoft Entra ID) Forneça informações como seu locatário do Entra, a ID do cliente e a senha para se autenticar como um usuário do Entra.
Identidade gerenciada Depois de configurar a autenticação de identidade gerenciada em seu recurso de serviço de IA e no recurso do aplicativo lógico, você pode usar essa identidade para autenticar o acesso ao conector.

Importante

Para segurança ideal, use o Microsoft Entra ID com identidades gerenciadas para autenticação quando possível. Esse método oferece segurança superior sem a necessidade de fornecer credenciais. O Azure gerencia essa identidade e ajuda a manter as informações de autenticação seguras para que você não precise gerenciar essas informações confidenciais sozinho. Para configurar uma identidade gerenciada para Aplicativos Lógicos do Azure, consulte Autenticar o acesso e as conexões aos recursos do Azure com identidades gerenciadas nos Aplicativos Lógicos do Azure.

Se você tiver que usar um tipo de autenticação diferente, use a próxima opção de segurança de nível mais alto disponível. Por exemplo, suponha que você precise criar uma conexão usando uma cadeia de conexão. Uma cadeia de conexão inclui as informações de autorização necessárias para que seu aplicativo acesse um recurso, serviço ou sistema específico. A chave de acesso na cadeia de conexão é semelhante a uma senha root.

Em ambientes de produção, sempre proteja informações confidenciais e segredos, como credenciais, certificados, impressões digitais, chaves de acesso e strings de conexão. Certifique-se de armazenar essas informações com segurança usando o Microsoft Entra ID e o Azure Key Vault. Evite codificar essas informações, compartilhá-las com outros usuários ou salvá-las em texto simples em qualquer lugar que outros possam acessar. Rotacione seus segredos o mais rápido possível se achar que essas informações podem estar comprometidas. Para saber mais, confira Sobre o Azure Key Vault.

Para obter mais informações, consulte os seguintes recursos:

Adicionar uma ação do OpenAI do Azure ou da Pesquisa de IA do Azure ao fluxo de trabalho

Atualmente, os conectores do OpenAI do Azure e da Pesquisa de IA do Azure fornecem apenas ações, não gatilhos. Você pode iniciar seu fluxo de trabalho com qualquer gatilho adequado ao seu cenário ou necessidades. Com base no fluxo de trabalho de Consumo ou Standard, você pode seguir estas etapas gerais para adicionar ações para o OpenAI do Azure, Pesquisa de IA do Azure e outras operações.

Cenários

Os cenários a seguir descrevem apenas duas das várias maneiras pelas quais você pode usar as operações de conector de IA em seus fluxos de trabalho:

Criar uma base de dados de conhecimento para seus dados corporativos

Os Aplicativos Lógicos do Azure fornecem mais de 1.400 conectores gerenciados pela Microsoft e executam nativamente conectores internos para que seu fluxo de trabalho se conecte com segurança a quase qualquer fonte de dados, como SharePoint, Oracle DB, Salesforce, OneDrive, Dropbox, SAP, IBM e assim por diante. Cada conector fornece operações, que incluem gatilhos, ações ou ambos, para você usar em seu fluxo de trabalho.

Por exemplo, você pode selecionar entre muitos tipos de gatilho para fazer seu fluxo de trabalho automatizado ser executado em um agendamento ou com base em eventos específicos, como o carregamento de novos documentos para um site do SharePoint. Com tantas operações para você escolher, você pode criar uma base de dados de conhecimento e criar facilmente um pipeline de ingestão de documentos usando embeddings de vetor para esses documentos na Pesquisa de IA do Azure.

Para saber mais, consulte os recursos a seguir:

Gerar conclusões

Um fluxo de trabalho dos Aplicativos Lógicos do Azure pode aceitar entradas, enquanto o Serviço OpenAI do Azure pode executar operações de conclusão. Esses recursos significam que seu fluxo de trabalho pode ingerir perguntas em tempo real, gerar respostas sobre seus dados ou enviar respostas automatizadas usando o OpenAI do Azure. Você pode enviar imediatamente as respostas de volta para o cliente ou para um fluxo de trabalho de aprovação para verificação.

Para saber mais, consulte os recursos a seguir:

Cenário de exemplo com código de exemplo: ingerir dados e criar interações de chat

Este exemplo de fluxo de trabalho Standard mostra como usar os conectores do OpenAI do Azure e da Pesquisa de IA do Azure para dividir a lógica de back-end para ingerir dados e conduzir conversas de chat simples em dois fluxos de trabalho principais. Para obter um desempenho mais rápido, crie fluxos de trabalho sem estado que, por padrão, não salvem e armazenem o histórico para cada execução.

Código de exemplo

Criar um chat usando dados ingeridos

Outros pré-requisitos

  • Um fluxo de trabalho do aplicativo lógico Standard

  • Consulte os requisitos do código de exemplo.

  • Os seguintes valores de parâmetro entre ambientes também são usados pelas operações de fluxo de trabalho neste exemplo:

    Nome do parâmetro Descrição
    aisearch_admin_key A chave de administração da Pesquisa de IA do Azure
    aisearch_endpoint A URL do ponto de extremidade para o exemplo da Pesquisa de IA do Azure
    aisearch_index_name O índice a ser usado para o exemplo da Pesquisa de IA do Azure
    openapi_api_key A chave de API do OpenAI do Azure
    openai_deployment_id A ID de implantação para o exemplo do OpenAI do Azure
    openai_endpoint A URL do ponto de extremidade para o exemplo do OpenAI do Azure
    tokenize_function_url A URL de uma função personalizada do Azure que agrupa e tokeniza dados, o que é necessário para o OpenAI do Azure criar adequadamente os embeddings para este exemplo.

    Para obter mais informações sobre essa função, consulte o código de exemplo para "Criar um chat usando dados ingeridos".

Vídeo: Saiba como criar aplicativos de IA usando aplicativos lógicos

Saiba como criar aplicativos de IA usando aplicativos lógicos

Fluxo de trabalho de ingestão de dados

Para economizar tempo e esforço consideráveis ao criar um pipeline de ingestão, implemente o padrão a seguir com qualquer fonte de dados. Esse padrão encapsula todas as vantagens e benefícios atualmente oferecidos pelos fluxos de trabalho Standard nos Aplicativos Lógicos do Azure de locatário único.

Cada etapa nesse padrão garante que a IA extraia diretamente todas as informações cruciais de seus arquivos de dados. Se for executado como um fluxo de trabalho sem estado, esse padrão também fornecerá um desempenho mais rápido. Essa abordagem simplifica não apenas o aspecto de codificação, mas também garante que seus fluxos de trabalho tenham processos eficazes de autenticação, monitoramento e implantação em vigor.

Captura de tela que mostra o portal do Azure, o designer de fluxo de trabalho Standard e as operações de fluxo de trabalho que implementam a funcionalidade de ingestão de dados.

Etapa Tarefa Operação subjacente Descrição
1 Verifique se há novos dados. Quando uma solicitação HTTP é recebida Um gatilho que sonda ou aguarda a chegada de novos dados, com base em uma recorrência agendada ou em resposta a eventos específicos, respectivamente. Esse evento pode ser um novo arquivo carregado em um sistema de armazenamento específico, como SharePoint, OneDrive ou Armazenamento de Blobs do Azure.

Neste exemplo, a operação de gatilho Request aguarda uma solicitação HTTP ou HTTPS enviada de outro ponto de extremidade. A solicitação inclui a URL de um novo documento carregado.
2 Obter os dados. HTTP Uma ação HTTP que recupera o documento carregado usando a URL do arquivo da saída do gatilho.
3 Compor detalhes do documento. Redigir Uma ação Data Operations que concatena vários itens.

Este exemplo concatena informações chave-valor sobre o documento.
4 Crie uma cadeia de caracteres de tokens. Analisar um documento Uma ação Operações de Dados que produz uma cadeia de caracteres de token usando a saída da ação Redigir.
5 Crie pedaços de conteúdo. Texto em partes Uma ação de Operações de Dados que divide a sequência de tokens em partes, com base no número de caracteres ou de tokens por bloco de conteúdo.
6 Converter dados tokenizados em JSON. Analisar JSON Uma ação Operações de Dados que converte as partes da cadeia de caracteres de token em uma matriz JSON.
7 Selecionar itens da matriz JSON. Selecionar Uma ação Data Operations que seleciona vários itens da matriz JSON.
8 Gerar os embeddings. Obter vários embeddings Uma ação Azure OpenAI que cria embeddings para cada item da matriz JSON.
9 Selecione embeddings e outras informações. Selecionar Uma ação Data Operations que seleciona embeddings e outras informações de documento.
10 Indexar os dados. Indexar documentos Uma ação Azure AI Search que indexa os dados com base em cada embedding selecionado.

Fluxo de trabalho de chat

À medida que os bancos de dados vetoriais continuam a ingerir dados, verifique se os dados são facilmente pesquisáveis para que, quando um usuário fizer uma pergunta, o fluxo de trabalho do aplicativo lógico Standard de back-end possa processar a solicitação e gerar uma resposta confiável.

O padrão a seguir é apenas um exemplo que mostra a aparência de um fluxo de trabalho de chat:

A captura de tela mostra o portal do Azure, o designer de fluxo de trabalho Standard e as operações de fluxo de trabalho que implementam uma interação de chat.

Etapa Tarefa Operação subjacente Descrição
1 Aguarde o prompt de entrada. Quando uma solicitação HTTP é recebida Um gatilho que sonda ou aguarda a chegada de novos dados, com base em uma recorrência agendada ou em resposta a eventos específicos, respectivamente.

Neste exemplo, o gatilho Request aguarda e captura a pergunta do cliente.
2 Mensagem do sistema de entrada para o modelo. Redigir Uma ação Data Operations que fornece entradas para treinar o modelo.
3 Exemplos de perguntas e respostas de entrada. Redigir Uma ação Data Operations que fornece exemplos de perguntas do cliente e funções associadas para treinar o modelo.
4 Mensagem do sistema de entrada para consulta de pesquisa. Redigir Uma ação Data Operations que fornece entradas de consulta de pesquisa para treinar o modelo.
5 Gerar consulta de pesquisa. Executar o código JavaScript Uma ação Inline Code que usa JavaScript para criar uma consulta de pesquisa para o repositório de vetores, com base nas saídas das ações Compose anteriores.
6 Converter consulta em embedding. Obter conclusões de chat Uma ação Azure OpenAI que se conecta à API de conclusão de chat, que garante respostas confiáveis em conversas de chat.

Neste exemplo, a ação aceita consultas de pesquisa e funções como entradas para o modelo e retorna embeddings de vetor como saída.
7 Obter um embedding. Obter um embedding Uma ação Azure OpenAI que obtém um único embedding do vetor.
8 Pesquisar o banco de dados de vetor. Pesquisar vetores Uma ação Azure AI Search que executa pesquisas no repositório de vetores.
9 Crie um prompt. Executar o código JavaScript Uma ação Inline Code que usa JavaScript para criar prompts.
10 Executar a conclusão do chat. Obter conclusões de chat Uma ação Azure OpenAI que se conecta à API de conclusão de chat, que garante respostas confiáveis em conversas de chat.

Neste exemplo, a ação aceita prompts e funções como entrada para o modelo e retorna respostas geradas por modelo como saída.
11 Retornar uma resposta. Response Uma ação Request que retorna os resultados para o chamador quando você usa o gatilho Request.