Crie uma Estrutura de IA Conversacional Ágil, de Alta Fidelidade com a Select AI e o Oracle APEX
Essa solução de chatbot orientada por IA utiliza uma estrutura agêntica que incorpora recursos de visualização e geração de relatórios de dados, minimizando alucinações e garantindo alta precisão.
As consultas de linguagem natural (NL) são traduzidas em instruções SQL executáveis para acesso ao Oracle Database, com um mecanismo human-in-the-loop para validar o SQL antes da execução. A solução é hospedada na OCI, com uma interface de usuário do Oracle APEX Application Development, agentes de IA baseados em LangChain em execução no OCI Compute e integração com serviços de OCI Generative AI e Oracle Autonomous AI Database. A arquitetura permite uma interação perfeita de linguagem natural com dados corporativos, combinando um front-end de processamento de linguagem natural responsivo com visualizações dinâmicas e um back-end seguro e de alto desempenho para exploração de dados em tempo real.
Esta solução de chatbot de IA oferece:
- Consulta de linguagem natural no banco de dados com acesso baseado em atribuição aos dados
- Visualização e geração de relatórios dinâmicos de dados
- Validação de SQL Human-in-the-loop
- Alucinações próximas do zero
Arquitetura
A estrutura agentic inclui camadas funcionais distintas que lidam com interação do usuário, acesso à API, processamento de IA e armazenamento de dados na Oracle Cloud Infrastructure (OCI).
O diagrama a seguir mostra as camadas funcionais e o fluxo do processo:
select-ai-apex-architecture-oracle.zip
Fluxo de Trabalho:
- O usuário acessa e envia uma consulta em linguagem natural por meio do aplicativo front-end do Oracle APEX Application Development.
- A solicitação é roteada por meio do Oracle Cloud Infrastructure API Gateway para o mecanismo de orquestração.
- A solicitação é roteada do OCI API Gateway para o OCI Compute que contém agentes de IA, desenvolvidos com uma estrutura como LangChain, em execução em uma OCI Container Instances.
- O agente executa um fluxo de trabalho projetado para garantir a precisão da consulta e mitigar imprecisões (alucinações).
- O agente chama o recurso Select AI do Oracle Autonomous AI Database, que aproveita o OCI Generative AI para traduzir a consulta de linguagem natural e seus metadados em uma instrução SQL executável.
- Os dados de origem residem em um Autonomous Database separado, como o Oracle Exadata Database Service. O Oracle Autonomous AI Database funciona como um sidecar inteligente, acessando esses dados usando links de banco de dados seguros. Esse padrão de arquitetura permite o uso do recurso Selecionar IA em dados armazenados em versões anteriores do banco de dados sem exigir migração de dados.
- Os resultados da consulta SQL final são retornados ao usuário por meio do front-end do aplicativo. Cada resposta é formatada em linguagem natural para emular uma experiência de bate-papo e é acompanhada por visualizações de dados personalizadas para o resultado da consulta específica.
- O controle de acesso baseado em função (RBAC) é aplicado durante esse processo. O agente seleciona um perfil Selecionar IA específico correspondente à função do usuário. Cada perfil é restrito a um subconjunto específico do esquema do banco de dados de origem, garantindo que o SQL gerado só acesse dados autorizados.
Essa arquitetura utiliza os seguintes componentes principais do OCI:
- Oracle Autonomous AI Database
Fornece o núcleo da camada de dados de IA, incluindo:
- Integração de Dados: acessa a origem que não é do Autonomous Database usando links de banco de dados (sidecar).
- Interação de Linguagem Natural: Usa o recurso Select AI integrado para conversão de linguagem natural em SQL.
- Vector Search: emprega o recurso AI Vector Search do banco de dados para o loop de feedback de geração aumentada de recuperação (RAG).
- Oracle APEX Application Development
Fornece uma plataforma low-code para criar a interface de usuário orientada por dados. Totalmente integrado ao Autonomous Database, ele serve como front-end para entrada de consulta e visualização de resultados.
- OCI Compute com Runtime Python
Hospeda o mecanismo de orquestração para os workflows de IA. Ele recebe solicitações do aplicativo APEX Service usando a API REST, consulta o banco de dados e chama a OCI Generative AI. Este componente fornece um ambiente de runtime persistente de baixa latência.
- IA Generativa do OCI
Fornece acesso a grandes modelos de linguagem (LLMs) para três funções principais:
- Natural Language to SQL: Serve como o mecanismo de inferência para o recurso Selecionar IA.
- Feedback Vectorization: Gera incorporações de texto para armazenamento no AI Vector Store.
- Serviços LLM de back-end: podem ser chamados diretamente pelo back-end do Python para outras tarefas generativas, como resumo de resultados.
- Gateway de API do OCI
Fornece um ponto final gerenciado e seguro para serviços de back-end, roteando solicitações do front-end do APEX Service para o mecanismo de orquestração no OCI Container Instances.
- Oracle Exadata Database Service
O banco de dados de alto desempenho que contém os dados de origem a serem consultados.
- Oracle Cloud Infrastructure Web Application Firewall (WAF)
O OCI WAF atua como uma proteção de segurança crítica, inspecionando todas as solicitações do front-end do APEX Service para proteger o Gateway de API e os serviços de back-end contra ataques mal-intencionados baseados na Web.
- IAM (Identity and Access Management) do OCI
As políticas do IAM são usadas para inspeção, controle de acesso e execução segura.
Workflow Ágil para Minimizar Alucinações
O seguinte fluxo de trabalho descreve uma abordagem ágil projetada para atingir quase zero alucinações no processamento de consultas em linguagem natural (NL):
alucinação-redução-fluxo-oracle.zip
- Entrada do usuário: Um usuário envia uma consulta em linguagem natural por meio do front-end do APEX Service.
- Ponto de verificação RAG: A consulta é avaliada primeiro no AI Vector Store no Oracle Autonomous AI Database usando a pesquisa de similaridade semântica. Se uma consulta pré-validada correspondente for encontrada, seu SQL correspondente será reutilizado para garantir consistência e eficiência.
- Linguagem natural para geração de SQL: Se nenhuma correspondência for identificada, o mecanismo de orquestração acionará o recurso Selecionar IA no Autonomous Database. Esse componente utiliza o OCI Generative AI para converter a entrada do usuário em uma consulta SQL executável.
- Validação de consulta: O SQL gerado é apresentado ao usuário para revisão e aprovação, introduzindo uma salvaguarda humana antes da execução.
- Execução e recuperação de dados: Após a validação, a consulta SQL é executada no Oracle Exadata Database Service. Os dados resultantes são renderizados no front-end do APEX Service.
- Loop de feedback: A consulta de linguagem natural validada e seu SQL correspondente são incorporados como vetores usando o OCI Generative AI e são armazenados no AI Vector Store. Isso aprimora a resolução futura de consultas baseadas em RAG, expandindo o repositório de pares de consultas confiáveis.
Esse fluxo de trabalho iterativo permite que o sistema aprenda continuamente com o feedback do usuário, reduzindo progressivamente a probabilidade de alucinações ao longo do tempo.
Padrão Sidecar para Acesso a Dados Legados
O Oracle Autonomous AI Database atua como um sidecar de IA com bancos de dados legados, manipulando linguagem natural para tradução de SQL e pesquisa vetorial, ao mesmo tempo em que federa consultas ao Exadata Database Service usando links de banco de dados seguros.
Essa abordagem elimina a necessidade de migrar dados legados, permitindo que as empresas modernizem o acesso a consultas sem interromper os sistemas existentes.
Aproveitando o APEX Service incorporado ao Oracle JET para Visualização Dinâmica
Para oferecer suporte a visualizações dinâmicas e orientadas por dados, essa arquitetura usa integração direta com o Oracle JET em vez dos componentes de gráfico declarativo do APEX Service. Isso permite a renderização de runtime necessária com base em dados gerados por IA.
A arquitetura MVVM (modelo de visualização de modelo) do Oracle JET, que aproveita o Knockout.js, permite o gerenciamento de dependência modular, a vinculação de dados assíncrona e a composição da interface do usuário de runtime. Isso permite que o front-end responda dinamicamente a saídas JSON estruturadas geradas por consultas SQL orientadas por IA.
Ao separar a renderização do gráfico da camada declarativa do APEX Service, obtemos controle arquitetônico sobre o pipeline de visualização. Os tipos de gráfico e os modelos de dados são selecionados e introduzidos no tempo de execução, permitindo uma experiência de usuário responsiva e extensível alinhada aos fluxos de trabalho de análise modernos.
Visão Geral do Pipeline de Renderização:
- Geração de modelos: os resultados SQL gerados por IA são transformados em JSON estruturado usando agentes de IA.
- Payads JSON: Armazenados em itens de página do APEX Service para acesso front-end.
- Exibir composição: As recomendações de tipo de gráfico, por exemplo, gráficos de barras, linhas e pizza, são recuperadas pelo AI e armazenadas em um item de grupo de opções do APEX Service, permitindo que os usuários alternem entre diferentes tipos de gráfico.
- Execução do gráfico de runtime: A função JavaScript vincula o modelo JSON ao componente do gráfico do Oracle JET em uma região estática que renderiza a visualização em tempo real.
Recomendações
- Humano-em-loop
Estabeleça diretrizes e interfaces claras para essa interação. Projete interfaces de revisão intuitivas e defina critérios claros de escalonamento para garantir que a supervisão humana seja eficiente e eficaz. Isso promove a confiança no sistema e permite a melhoria contínua por meio de ciclos de feedback.
- Feedback
Implemente análises abrangentes nos logs de feedback gerados pelo sistema. Isso fornecerá insights sobre como o sistema está aprendendo e evoluindo. Monitorar os principais indicadores de desempenho (KPI), como precisão da consulta, satisfação do usuário e tempos de resposta, ajudará a identificar áreas de melhoria e garantir uma experiência de usuário de alta qualidade.
Considerações
Considere os seguintes pontos ao implantar essa arquitetura de referência na Oracle Cloud Infrastructure (OCI):
- IA Generativa
- Para obter desempenho previsível, especialmente em ambientes de produção, implante clusters de IA dedicados para inferência de modelo. Esses clusters não são compartilhados com outros tenants, garantindo tempos de resposta consistentes. Para tarefas menos críticas, como a geração de incorporação, o modo sob demanda pode ser uma opção mais econômica.
- Para incorporações, você pode importar modelos pré-treinados para o Oracle Autonomous AI Database ou gerar incorporações externamente usando o OCI Generative AI. O Oracle Autonomous AI Database inclui um mecanismo integrado de runtime do Open Neural Network Exchange (ONNX), permitindo que os modelos de incorporação sejam executados diretamente no banco de dados.
- Alta Disponibilidade
- Agentes de IA: Para garantir alta disponibilidade, os agentes de IA baseados em LangChain devem ser implantados em várias instâncias de computação em diferentes domínios de falha ou domínios de disponibilidade. Recomendamos o uso de Pools de Instâncias do OCI para escalabilidade e facilidade de gerenciamento. Um OCI Load Balancer distribui o tráfego entre essas instâncias e executa verificações de integridade.
- Serviços Gerenciados: Outros componentes da arquitetura, como Autonomous Database, APEX Service, OCI Generative AI e OCI API Gateway, são serviços totalmente gerenciados com tolerância a falhas integrada e alta disponibilidade, não exigindo configuração adicional para redundância.
- Recuperação de Desastres: Para proteção contra interrupções em todo o site, ative o Oracle Autonomous Data Guard para replicar o banco de dados para outra região da OCI.
- Segurança e Conformidade
- Abordagem de Segurança em Camadas: Implemente uma estratégia de segurança em várias camadas. Isso deve incluir medidas de segurança de rede, como usar um Oracle Cloud Infrastructure Web Application Firewall e seguir o princípio do privilégio mínimo para todas as interações de serviço.
- Controle de Acesso Detalhado: Além do controle de acesso baseado em função (RBAC) implementado por meio de perfis de IA, considere o uso de políticas de VPD (virtual private database) para controle mais granular sobre o acesso aos dados.
Explorar Mais
Saiba mais sobre os recursos desta arquitetura e sobre arquiteturas relacionadas.

