Partilhar 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, sistemas e dados empresariais com tecnologias de IA, os fluxos de trabalho da sua aplicação lógica podem ligar-se aos recursos do Azure OpenAI e do Azure AI Search que utiliza para estes cenários de integração.

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

Por que usar os Aplicativos Lógicos do Azure com serviços de IA?

Normalmente, a construção de soluções de IA envolve várias etapas fundamentais e requer alguns blocos de construção. Principalmente, você precisa ter um pipeline de ingestão dinâmico e uma interface de bate-papo que possa se comunicar com grandes modelos de linguagem (LLMs) e bancos de dados vetoriais.

Gorjeta

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

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

Para localizar o Azure Copilot, 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 backend 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, criar o código para gerenciar e controlar todos esses elementos pode representar desafios, 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 pré-criados que você usa como blocos de construção para simplificar o processo de back-end. Essa abordagem permite que você se concentre em obter 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 obter mais informações, consulte os seguintes recursos:

Pré-requisitos

  • Uma conta e subscrição do Azure. Se não tiver uma subscrição do Azure, inscreva-se para obter uma conta do Azure gratuita.

  • Os recursos do Azure AI Search e do Azure OpenAI para acessar e usar em seu fluxo de trabalho, incluindo informações de conexão:

  • Um fluxo de trabalho de aplicativo lógico onde você deseja acessar seus recursos do Azure OpenAI e do Azure AI Search.

    Os conectores para esses serviços atualmente fornecem apenas ações, não gatilhos. Antes de adicionar uma ação de conector de IA do Azure, verifique se seu 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 Azure OpenAI e do Azure AI Search estão atualmente em visualização e sujeitos aos Termos de Uso Suplementares das Visualizações do Microsoft Azure.

Azure OpenAI

O Serviço OpenAI do Azure fornece acesso aos modelos de linguagem da 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 Azure OpenAI , seu fluxo de trabalho pode se conectar ao Serviço OpenAI do Azure e obter incorporações do OpenAI para seus dados ou gerar finalizações de bate-papo.

Gorjeta

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

  • O que é uma incorporação em IA?
  • O que é uma conclusão de chat em IA?

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

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

Aplicação lógica Environment Versão do conector
Consumo Aplicativos Lógicos do Azure Multilocatários Conector gerenciado hospedado no Azure, que aparece na galeria de conectores em Tempo de execução>compartilhado.

Para obter mais informações, consulte Referência do conector gerenciado do Azure OpenAI.
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. Conector interno, que aparece na galeria de conectores em Runtime>In-app e é baseado em provedor de serviços. O conector embutido tem as seguintes capacidades, entre outras:

- Suporte a vários tipos de autenticação

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

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

O Azure AI Search é uma plataforma para recuperação de informações alimentada por IA que ajuda os programadores a criar experiências de pesquisa avançadas e aplicações de IA generativas ao combinar modelos de linguagem grandes com dados empresariais. Com o conector Azure AI Search , seu fluxo de trabalho pode se conectar ao Azure AI Search para indexar documentos e executar pesquisas vetoriais em seus dados.

O conector Azure AI Search tem diferentes versões, com base no tipo de aplicativo lógico e no modelo de hospedagem:

Aplicação lógica Environment Versão do conector
Consumo Aplicativos Lógicos do Azure Multilocatários Conector gerenciado hospedado no Azure, que aparece na galeria de conectores em Tempo de execução>compartilhado.

Para obter mais informações, consulte Referência do conector gerenciado do Azure AI Search.
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. Conector interno, que aparece na galeria de conectores em Runtime>In-app e é baseado em provedor de serviços. O conector embutido tem as seguintes capacidades, entre outras:

- Suporte a vários tipos de autenticação

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

Para obter mais informações, consulte Referência de conector interno do Azure AI Search.

Autenticação

Os conectores gerenciados por IA exigem uma chave de API para autenticação. No entanto, os conectores integrados de IA suportam vários tipos de autenticação para seu 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 Azure OpenAI e do Azure AI Search dentro de redes virtuais ou atrás de firewalls.

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

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

Importante

Para uma segurança ideal, use o Microsoft Entra ID com identidades gerenciadas para autenticação quando possível. Este método fornece segurança superior sem ter que 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 por conta própria. Para configurar uma identidade gerenciada para Aplicativos Lógicos do Azure, consulte Autenticar acesso e conexões com recursos do Azure com identidades gerenciadas em 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ê tenha que 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 de root.

Em ambientes de produção, proteja sempre informações e segredos confidenciais, como credenciais, certificados, impressões digitais, chaves de acesso e cadeias 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, compartilhar com outros usuários ou salvar em texto sem formatação em qualquer lugar que outras pessoas possam acessar. Alterne seus segredos o mais rápido possível se achar que essas informações podem estar comprometidas. Para obter mais informações, consulte Sobre o Azure Key Vault.

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

Adicionar uma ação do Azure OpenAI ou Azure AI Search ao seu fluxo de trabalho

Atualmente, os conectores do Azure OpenAI e do Azure AI Search fornecem apenas ações, não gatilhos. Você pode iniciar seu fluxo de trabalho com qualquer gatilho que se adapte ao seu cenário ou necessidades. Com base no facto de ter um fluxo de trabalho Consumo ou Padrão, pode seguir estes passos gerais para adicionar ações para o Azure OpenAI, Azure AI Search e outras operações.

Cenários

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

Crie uma base de dados de conhecimento para os dados da sua empresa

Os Aplicativos Lógicos do Azure fornecem mais de 1.400 conectores gerenciados pela Microsoft e conectores internos em execução nativa para que seu fluxo de trabalho se conecte com segurança a praticamente 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 vários tipos de gatilho para fazer com que seu fluxo de trabalho automatizado seja executado em uma agenda ou com base em eventos específicos, como o carregamento de novos documentos em 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 incorporações vetoriais para esses documentos no Azure AI Search.

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

Gerar finalizações

Um fluxo de trabalho de 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 Azure OpenAI. Você pode enviar imediatamente as respostas de volta para o cliente ou para um fluxo de trabalho de aprovação para verificação.

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

Cenário de exemplo com código de exemplo: Ingerir dados e criar interações de bate-papo

Este exemplo de fluxo de trabalho padrão mostra como usar os conectores internos do Azure OpenAI e do Azure AI Search para quebrar a lógica de back-end para ingerir dados e conduzir conversas de bate-papo simples em dois fluxos de trabalho principais. Para um desempenho mais rápido, crie fluxos de trabalho sem estado que, por padrão, não salvam nem armazenam o histórico de cada execução.

Código de exemplo

Criar um chat usando dados ingeridos

Outros pré-requisitos

  • Um fluxo de trabalho de aplicativo lógico padrão

  • Consulte os requisitos de código de exemplo.

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

    Nome do parâmetro Description
    aisearch_admin_key A chave de administrador para o Azure AI Search
    aisearch_endpoint A URL do ponto de extremidade para o exemplo do Azure AI Search
    aisearch_index_name O índice a ser usado para o exemplo do Azure AI Search
    openapi_api_key A chave de API para o Azure OpenAI
    openai_deployment_id A ID de implantação para o exemplo do Azure OpenAI
    openai_endpoint A URL do ponto de extremidade para o exemplo do Azure OpenAI
    tokenize_function_url A URL para uma função personalizada do Azure que agrupa e tokeniza dados, que é necessária para que o Azure OpenAI crie incorporações corretamente para este exemplo.

    Para obter mais informações sobre essa função, consulte o código de exemplo para "Criar um bate-papo 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

Ingerir fluxo de trabalho de dados

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

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

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

Passo Tarefa Operação subjacente Description
5 Verifique se há novos dados. Quando uma solicitação HTTP é recebida Um gatilho que sonda ou aguarda a chegada de novos dados, seja com base em uma recorrência programada 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. O pedido inclui o URL de um novo documento carregado.
2 Obtenha os dados. HTTP Uma ação HTTP que recupera o documento carregado usando a URL do arquivo da saída do gatilho.
3 Redigir detalhes do documento. Compose Uma ação de Operações de Dados que concatena vários itens.

Este exemplo concatena informações de chave-valor sobre o documento.
4 Crie uma cadeia de caracteres de token. Analisar um documento Uma ação de Operações de Dados que produz uma cadeia de caracteres de token usando a saída da ação Compor .
5 Crie blocos de conteúdo. Fragmentar texto Uma ação de Operações de Dados que divide a cadeia de caracteres de token em partes, com base no número de caracteres ou tokens por bloco de conteúdo.
6 Converta dados tokenizados em JSON. Analisar JSON Uma ação de Operações de Dados que converte os blocos de cadeia de caracteres de token em uma matriz JSON.
7 Selecione itens de matriz JSON. Selecionar Uma ação de Operações de Dados que seleciona vários itens da matriz JSON.
8 Gere as incorporações. Obtenha várias incorporações Uma ação do Azure OpenAI que cria incorporações para cada item de matriz JSON.
9 Selecione incorporações e outras informações. Selecionar Uma ação de Operações de Dados que seleciona incorporações e outras informações do documento.
10 Indexe os dados. Documentos de índice Uma ação do Azure AI Search que indexa os dados com base em cada incorporação selecionada.

Fluxo de trabalho de bate-papo

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

O padrão a seguir é apenas um exemplo que mostra como um fluxo de trabalho de bate-papo pode parecer:

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

Passo Tarefa Operação subjacente Description
5 Aguarde o prompt de entrada. Quando uma solicitação HTTP é recebida Um gatilho que sonda ou aguarda a chegada de novos dados, seja com base em uma recorrência programada 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. Compose Uma ação de Operações de Dados que fornece entrada para treinar o modelo.
3 Insira exemplos de perguntas e respostas. Compose Uma ação de Operações de Dados 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. Compose Uma ação de Operações de Dados que fornece entrada de consulta de pesquisa para treinar o modelo.
5 Gerar consulta de pesquisa. Executar código JavaScript Uma ação de código embutido que usa JavaScript para criar uma consulta de pesquisa para o repositório de vetores, com base nas saídas das ações de composição anteriores.
6 Converter consulta em incorporação. Obter conclusão de bate-papo Uma ação do 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 entrada para o modelo e retorna incorporações de vetor como saída.
7 Obtenha uma incorporação. Obter uma incorporação Uma ação do Azure OpenAI que obtém a incorporação de um único vetor.
8 Pesquise o banco de dados vetorial. Vetores de pesquisa Uma ação do Azure AI Search que executa pesquisas no repositório de vetores.
9 Criar prompt. Executar código JavaScript Uma ação de código embutido que usa JavaScript para criar prompts.
10 Execute a conclusão do chat. Obter conclusão de bate-papo Uma ação do 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 pelo modelo como saída.
11 Retorne uma resposta. Response Uma ação Solicitar que retorna os resultados para o chamador quando você usa o gatilho Solicitação .