SQL no Microsoft Fabric: Como construir um ChatBot?

by | 4/12/2024 | Fabric | 0 comments

Reading time: 12 minutes

Com todos os avanços produzidos pela Microsoft no universo de dados e IA – particularmente com a introdução do Bancos de Dados SQL no Microsoft Fabric -, a barreira para que desenvolvedores criem aplicativos inovadores de IA reduziu significativamente. Essas inovações aproximaram a IA dos dados, capacitando todos os desenvolvedores a criar um aplicativo de IA nativamente e de maneira mais segura.

Agora, imagine que você é fundador de uma startup de comércio eletrônico em rápido crescimento. À medida que sua loja online cresce, você percebe que muitos clientes entram em contato em busca de informações básicas do produto, como: Preço, disponibilidade e recursos específicos.

E, para que você possa automatizar a resposta dessas perguntas rotineiras, você decide criar um chatbot.

No artigo de hoje, iremos apresentar como o processo de criação de um chatbot pode lidar com eficiência com consultas relacionadas ao produto, liberando sua equipe de suporte ao cliente para se concentrar em questões mais complexas.

Vamos detalhar os blocos de construção do chatbot. Os principais componentes que alimentam o assistente de IA são:

  • LangChain: uma estrutura de código aberto para criar aplicativos de IA alimentados por Large Language Models (LLMs). Ele serve como orquestrador no padrão RG (Retrieval Augmented Generation).
  • Chainlit: Uma biblioteca Python de código aberto para criar aplicativos de IA conversacional escaláveis. A integração nativa do Chainlit com o LangChain e sua interface de bate-papo intuitiva fornece uma interface de usuário perfeita para o chatbot.
  • Banco de dados SQL no Microsoft Fabric: o banco de dados SQL no Fabric oferece vários recursos importantes que o tornam uma excelente opção para o desenvolvimento de novos aplicativos de IA. Esses recursos variam desde, mas não se limitam a, fornecer suporte nativo para Vector e RAG, capacidade de chamar qualquer modelo por meio de APIs de dentro do banco de dados, integração com plataformas e serviços de IA populares, como serviços de IA do Azure e Azure AI Foundry. O banco de dados SQL no Fabric é utilizado para fragmentar texto, gerar incorporações, armazenar os dados e realizar pesquisas de similaridade para recuperar informações relevantes.
  • Azure Functions: uma plataforma de computação sem servidor que permite criar e implantar aplicativos controlados por eventos sem gerenciar a infraestrutura. Aproveita o Azure Functions para criar um pipeline escalonável e eficiente para o chatbot, automatizando tarefas como ingestão de dados e armazenamento de inserção.
  • Azure Open AI: uma plataforma que fornece modelos e ferramentas avançados de IA. O chatbot utilizará os modelos de linguagem da OpenAI para tarefas como gerar respostas de texto e incorporações para pesquisa semântica.

Com uma sólida compreensão desses componentes principais, você está pronto para mergulhar na implementação prática. Na próxima seção, veremos um guia passo a passo para criar nosso chatbot.

Prerequisites

Etapa 1: Criar e implantar banco de dados          

Nesta etapa, criaremos um banco de dados SQL no Microsoft Fabric e executaremos o projeto de implantação do banco de dados que:

  • Crie tabelas de produtos e incorporações de produtos.
  • Crie três procedimentos armazenados que: Gere incorporações para qualquer texto, encontre produtos usando a pesquisa de similaridade e atualize automaticamente as incorporações de produtos para todos os novos produtos criados ou atualizados.
  • Execute scripts de criação de dados para preencher ambas as tabelas.

O projeto de banco de dados aproveita o DbUp, uma biblioteca .NET para controlar e gerenciar alterações de esquema de banco de dados durante todo o processo de implantação.

Criando um banco de dados SQL no Microsoft Fabric

  1. Faça logon no portal do Microsoft Fabric e crie um espaço de trabalho.
  2. No seu espaço de trabalho, clique em ‘+ Novo item’ e pesquise SQL na caixa de texto de pesquisa na página ‘Novo item’, conforme mostrado abaixo. Selecione Banco de dados SQL (versão prévia).
  • Quando solicitado o nome do banco de dados, insira ContosoDB.
  • Depois que o banco de dados for criado, clique no ícone de configurações e copie as informações da Cadeia de Conexão e armazene-as separadamente em um bloco de notas. Você precisará disso mais tarde, para configurar o ambiente.

Implantando o projeto de banco de dados

  • Abra o projeto clonado no Visual Studio Code e navegue até a pasta do banco de dados.
  • Crie um arquivo ‘. env’, com base no modelo ‘. env.example’.
  • Para obter valores do Azure Open AI (OPENAI_URL e OPENAI_KEY), navegue até Open AI Studio e faça logon usando suas credenciais do Azure. Na página inicial, copie os valores ‘Azure OpenAI Endpoint’ e ‘Chave de API 1’ (ou chave de API 2 funciona), respectivamente.
  • Preencha os valores de configuração necessários, incluindo a cadeia de conexão do banco de dados (MSSQL). Nos valores de cadeia de conexão salvos anteriormente, use os valores Fonte de Dados e Catálogo Inicial para os valores Servidor e Banco de Dados, respectivamente. ENCRYPTION_PASSWORD valor será usado para criptografar a chave mestra no banco de dados e deve atender ao requisito de política de senha do Windows.
  • Abra uma nova janela de terminal, navegue até a pasta do banco de dados.
  • Execute os seguintes comandos para implantar os scripts de banco de dados,
  • Quando a implantação estiver concluída. No portal do Microsoft Fabric, navegue até o explorador de banco de dados e verifique se as tabelas e os procedimentos armazenados estão implantados corretamente. 

Com nosso banco de dados agora totalmente preenchido, vamos prosseguir para a construção da interface de chatbot baseada em python usando LangChain e Chainlit.

Etapa 2: Criar uma interface de chatbot

Esta seção mergulha nos principais recursos do LangChain e do ChainLit que enriquecem o processo de criação de um chatbot com uma experiência tranquila. Você encontrará o exemplo de código no arquivo app.py.

Recursos do LangChain

  • Construção rápida sem esforço: O LangChain simplifica os prompts de criação para o seu chatbot, orientando o LLM em direção à resposta desejada.
  • Retrievers agentes: Defina agentes especializados no LangChain que possam executar tarefas em seu nome, como recuperar informações contextuais relevantes do seu banco de dados. Isso enriquece os dados disponíveis para que o chatbot gere respostas mais informadas.
  • LangChain Expression Language (LECL): LECL atua como a ponte, combinando o prompt construído e o contexto recuperado. Em seguida, ele passa essas informações combinadas para o LLM (Large Language Model) configurado para gerar respostas.

Integração nativa do ChainLit

O ChainLit simplifica o desenvolvimento de chatbots por meio de seu suporte integrado para LangChain, especificamente por meio da função LangChainCallbackHandler. Essa integração acontece em dois pontos principais:

  • «on_chat_start»: Quando um usuário inicia uma sessão de bate-papo, a cadeia do LangChain é inicializada, preparando-a para lidar com interações futuras.
  • «on_message»: À medida que os usuários enviam mensagens, o ChainLit as retransmite com eficiência para a cadeia da LangChain para processamento e geração de respostas. Isso garante um fluxo de conversa suave, permitindo que o chatbot entenda e responda com precisão.

Além disso, o arquivo ‘utlilities.py’ contém o código necessário para se conectar e interagir com o banco de dados.

Agora que exploramos as principais funcionalidades, vamos vê-lo em ação.

Criar um ambiente Python e requisitos de instalação

  • Navegue até a pasta chainlit do projeto clonado.
  • Crie um arquivo ‘. env’, com base no modelo ‘. env.example’.
  • Para obter valores do Open AI do Azure (AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_API_KEY), navegue até Open AI Studio e faça logon usando suas credenciais do Azure. Na home page, copie os valores ‘Azure OpenAI Endpoint’ e ‘Chave de API 1’ (ou chave de API 2 funciona), respectivamente.
  • Preencha os valores de configuração necessários, incluindo a cadeia de conexão do banco de dados (FABRIC_SQL_CONNECTION_STRING). Nos valores de cadeia de conexão salvos anteriormente, use os valores Fonte de Dados e Catálogo Inicial para os valores Servidor e Banco de Dados, respectivamente.
  • Abra uma nova janela de terminal, navegue até a pasta chainlit, crie um ambiente virtual e instale os requisitos:

Para janelas

Iniciar chatbot

Ligue-o! Em seu ambiente Python, execute o comando a seguir.

Seu chatbot será iniciado automaticamente às http://localhost:8000/. Agora você pode começar a interagir com ele, assim como pedir.

Quais são algumas recomendações para um carregador sem fio?

LangChain chama a função GetRelevantProducts , que executa o procedimento armazenado dbo.find_relevant_products no banco de dados para executar a pesquisa de vetor ou similaridade.

Conexão de banco de dados SQL – Permissões de usuário

Ocasionalmente, você pode encontrar uma autenticação SQL para “falha de logon do usuário” devido a um token inválido. Nesse caso, você precisará configurar seu arquivo .env para usar a configuração CONN_TOKEN para autenticação. Para gerar um token, siga estas etapas:

Abra uma janela de terminal e execute o seguinte comando da CLI do Azure para fazer logon em sua conta do Azure,

Selecione a assinatura e execute o seguinte comando da CLI do Azure para gerar um token,

Etapa 3 (opcional): Automatizar a ingestão de dados

Esta é uma etapa opcional; caso você queira ingerir dados em tempo real e também gerar e armazenar incorporações na tabela de incorporação de produtos. Para isso, aproveitaremos a associação de gatilho do SQL do Azure que dispararia uma função do Azure sempre que uma linha fosse criada, atualizada ou excluída na tabela Products.

  • Abra o projeto clonado no Visual Studio Code e navegue até a pasta azure-function.
  • Crie um arquivo ‘local.settings.json’, com base no modelo ‘local.settings.json.example’.
  • Preencha os valores de configuração necessários, incluindo a cadeia de conexão do banco de dados (FABRIC_SQL_CONNECTION_STRING). Nos valores de cadeia de conexão salvos anteriormente, use os valores Fonte de Dados e Catálogo Inicial para os valores Servidor e Banco de Dados, respectivamente.
  • Abra uma nova janela de terminal, navegue até a pasta azure-function.
  • Execute os comandos a seguir para criar e iniciar a função azure.

Agora, sempre que você inserir ou atualizar um registro na tabela Produtos, o ‘Gatilho de Produto’ do Azure Function será invocado. Essa função chamará o procedimento armazenado ‘update_product_embeddings’ para gerar inserções e armazená-las na tabela Product Embeddings.

Esperamos que este guia tenha fornecido uma base sólida para criar seus próprios chatbots com inteligência artificial. Estamos ansiosos para ver o que você criará. Sinta-se à vontade para compartilhar seus projetos e experiências nos comentários abaixo.

Boa programação!!

Source: Blog Microsoft Fabric.

Transforme seu negócio com a DataEX

A DataEX é líder em soluções inovadoras no universo de dados e inteligência artificial, com mais de uma década de experiência no mercado. Nosso time, certificado pela Microsoft, alia expertise técnica a uma abordagem consultiva para entregar soluções personalizadas que transformam negócios. Ao escolher a DataEX, você contará com profissionais altamente capacitados para implementar tecnologias como Microsoft Fabric e Azure AI, ajudando sua empresa a automatizar processos, melhorar a eficiência operacional e alavancar resultados.

Não perca a oportunidade de impulsionar seu negócio com soluções que já fazem a diferença para líderes de mercado. Agende uma reunião conosco e descubra como a DataEX pode ser o parceiro ideal na sua jornada de inovação tecnológica. Juntos, podemos transformar desafios em oportunidades e garantir o sucesso do seu projeto.

Preencha o formulário abaixo e nosso time de especialistas entrará em contato.

E não se esqueça de nos seguir em nossas social networks e leia o blog Data Universe diariamente.

Ebook Data Driven Team - Cultura de Dados

Data Driven Team Ebook

Learn about the process that values and encourages the use of data in crucial decision-making in your business.

Privacy statement
Ebook Data Driven Team - Cultura de Dados

Data Driven Team Ebook

Learn about the process that values and encourages the use of data in crucial decision-making in your business.

See more related articles

Fabric + Databricks para múltiplas equipes: governança com liberdade operacional

Fabric e Databricks para múltiplas equipes ganham relevância quando a organização precisa...

Interoperabilidade entre Fabric, Redshift e Databricks sem retrabalho

A maioria das grandes empresas já não opera em uma única plataforma de dados. Parte da engenharia...

Azure + AWS + Lakehouse: plataformas híbridas em operação prática

O modelo azure aws lakehouse híbrido já faz parte da realidade de muitas empresas que operam entre...

Microsoft Fabric + Amazon S3: consolidação sem replicação desnecessária

A evolução das arquiteturas de dados tornou uma coisa evidente: poucas empresas operam hoje em um...

Fabric in a Day no Brasil: DataEX realiza o primeiro evento presencial do programa Microsoft e acelera a adoção de dados e IA

Um marco para o ecossistema de dados no Brasil A transformação orientada por dados deixou de ser...

Decisão orientada por dados: por que muitas empresas ainda erram mesmo com tecnologia 

Em 2026, falar em decisão orientada por dados já não é novidade, mas errar mesmo com tecnologia...