Avalie o risco de fornecedor em tempo real MongoDB Atlas. Descubra fornecedores alternativos usando a pesquisa multimodal alimentada pela Voyage AI.
Casos de uso: Inteligência artificial, pesquisa inteligente
Setores: Varejo
Produtos: MongoDB Atlas, Voyage AI, MongoDB Automated Embedding, MongoDB Vector Search, Charts
Visão Geral da Solução
As cadeias de suprimentos globais enfrentam macro-interrupções constantes. Geopolítica, eventos meteorológicos e gargalos logs
Os sistemas legados de planejamento de recursos empresariais (ERP) não conseguem se adaptar a essas mudanças rápidas. Eles capturam informações críticas do fornecedor em tabelas relacionais rígidas, planilhas estáticas e contratos e e-mails em PDF inconsultáveis. Quando ocorre uma interrupção, as equipes de compras passam horas ou dias coletando dados manualmente em silos desconectados. Esse atraso leva a rupturas de estoque, custos inesperados e perda da confiança do consumidor.
Desacoplar o gerenciamento de fornecedores do núcleo do seu sistema legado , criando umacamada de inteligência unificada e unificada no MongoDB Atlas.
Essa solução trata o MongoDB Atlas como um armazenamento de dados convergido- uma plataforma que funciona simultaneamente como armazenamento operacional, armazenamento de vetores, mecanismo de pesquisa e memória de agente . Cada fragmento de contexto que um agente autônomo precisa para raciocinar sobre uma interrupção ativa (a localização de um fornecedor, suas ordens de compra em aberto, certificados e histórico anterior) está a uma query de distância, na mesma collection, sob os mesmos controles de acesso.
No topo da camada de dados de inteligência, os seguintes módulos de backend transformam um sinal bruto de interrupção em uma decisão verificada e aprovada por humanos:
ingestion_engine: Camada de normalização determinística sem LLM, agente ou loop de argumentos. Ele transforma sinais externos brutos (como dados geopolícitos, climáticos e de logstica) em um formato interno consistente e os grava no Atlas. Ele fornece o ponto de partida limpo do qual todos os processos downstream dependem.risk_evaluator: agente do LangGraph que lê esses sinais contra os dados do fornecedor ativo e da ordem de compra, combina a exposição geoespacialmente, calcula um Número de Prioridade de Risco (RPN) dinâmico e raciocina sobre o precedente histórico armazenado noagent_memoryantes de escrever um resumo do risco de linguagem simples para Atlas.alternative_finder: agente LangGraph que, uma vez que um gerente sinaliza um fornecedor para ação, pesquisa o corpus de documentação do fornecedor com vetor híbrido e recuperação de texto completo, reclassifica candidatos, audita cada reivindicação em relação às provas citadas e classifica as opções restantes por proximidade enquanto deixa o chamada final para um ser humano.
Ao unificar os dados operacionais e os recursos de IA no MongoDB Atlas, você reage a condições externas quase em tempo real e mantém sua empresa flexível.
Arquiteturas de referência
Um agente argumenta com qualquer coisa que alcance sua janela de contexto, não com tudo que ele sabe. Cada decisão do agente depende da filtragem prévia de dados. A camada de dados apresenta, filtra e classifica as informações em primeiro lugar. Trate o MongoDB Atlas como esta camada de contexto. O Atlas decide quais provas valem tokens antes que os agentes raciocinam.
Um agente que raciocina por meio de interrupções ao vivo executa correspondência geoespacial, pesquisa vetorial, pesquisa de texto completo, reclassificação e pesquisas de memória. Ida e volta entre bancos de dados separados, armazenamentos de vetores e mecanismos de pesquisa desaceleram os agentes. Execute todas as queries dentro de agregação pipelines do MongoDB Atlas . Uma API substitui toda a pilha.
O controle de contexto também é controle de custos. Os sistemas com vários agentes consomem até 15x mais tokens do que chats únicos. A recuperação redundante aumenta os custos. Controle o contexto do modelo para controlar seu orçamento.
Fornecedores, sinais de interrupção e provas de compliance mudam constantemente. Use o modelo de documento flexível para armazenar essa variação em uma coleção.
Cadeias de suprimentos globais geram provas em vários idiomas. A IA do Voyage mapeia ocorrências multilíngues em um espaço vetorial compartilhado, e o Atlas Auto-Embedding mantém esses vetores sincronizados. A recuperação multilíngue se torna uma propriedade do banco de dados nativo em vez de um serviço externo.
O diagrama de arquitetura e as etapas a seguir descrevem o fluxo de trabalho de ponta a ponta e os principais recursos do banco de dados . Rastreie sinais de feeds externos brutos para fornecedores alternativos aprovados.
Gráfico 1. Visão geral de alto nível
Etapa 0: ingestão de documentos não estruturados
Armazene documentação comercial bruta e não estruturada, como PDFs, e-mails, contratos e relatórios de auditar , do armazenamento na nuvem diretamente no MongoDB Atlas. O modelo de incorporação multimodal da Voyage AI incorpora automaticamente documentos fragmentados em qualquer idioma para permitir a pesquisa multimodal e multilíngue segura no banco de dados.
Etapa 1: desacoplar do RH
Um RH impõe regras de negócios e possui fluxos de trabalho transacionais. Deixe essas regras no RH. Transmita seus dados de fornecedores e pedidos para o Atlas por meio do Change Data Capture (CDC) e permita que os agentes leiam a partir dessa cópia em vez de consultarem diretamente o sistema de implantação do sistema.
O desacoplamento permite que novos recursos evoluam acima do RH em seu próprio cronograma.
Etapa 2 — 3: ingestão de sinal de risco externo
Extraia dados de logstica, geopolítica e climtica do mundo real para a camada de dados operacionais. Esses dados de risco externo são originados de fontes como o LineTraffic, a Administração Nacional Oceântica e Atmosférica (NOAA) e feeds de notícias globais. Nesta solução, o mecanismo de ingestão gera três sinais de trigger de demonstração por sessão para inicializar o fluxo.
Processe sinais externos brutos por meio do mecanismo de ingestão. O mecanismo traduz eventos de interrupção externos em linguagem de negócios interna normalizada e grava sinais estruturados no MongoDB Atlas.
Etapa 4: Avaliação de risco do fornecedor (agente avaliador de risco)
Acione o agente avaliador de risco quando sinais normalizados pousarem no MongoDB Atlas. O agente lê dados operacionais e agent_memory, realiza correspondência geoespacial ($geoWithin), calcula RPN dinâmico e grava avaliações de volta no banco de dados.
Etapa 5: Descoberta de fornecedor alternativo (agente localizador de fornecedor alternativo)
Ative o agente Alternative_ Finder quando um gerente selecionar um fornecedor afetado. O agente faz query de chunks de documento usando pesquisa vetorial multimodal, pesquisa híbrida ($rankFusion) e reclassificação nativa ($rerank) para encontrar fornecedores alternativos compatíveis e, em seguida, grava as opções candidatas de volta no MongoDB Atlas.
Etapa 6: enriquecimento da memória
O risk_evaluator pontua cada interrupção com um número de prioridade de risco (RPN) dinâmico. A memória alimenta diretamente essa pontuação antes que o agente a finalize.
Ele faz a query agent_memory duas vezes por avaliação: uma vez para o próprio histórico do fornecedor e uma vez para o precedente entre fornecedores por tipo de risco. O alternative_finder segue a mesma lógica no lado da origem. Ele verifica o histórico de um candidato e extrai precedentes semânticas de fornecedores semelhantes antes de classificar os candidatos.
O Atlas lida com ambas as estruturas de memória de forma nativa. A memória assume duas formas: fato estruturado ("isso exatamente aconteceu") e similaridade semântica ("algo como isso aconteceu"). A maioria das arquiteturas os divisão em dois sistemas: um banco de dados para eventos e um armazenamento de vetores para similaridade. No Atlas, uma collection contém ambos. Uma query find e uma query $vectorSearch exatas atingem os mesmos documentos porque campos estruturados e texto incorporado andam lado a lado.
Fluxo de trabalho inteligente do centro de suprimentos
O diagrama de nadadões a seguir mostra como o controle se move entre as camadas do sistema durante uma interrupção.
Gráfico 2. Fluxo de trabalho de análise de risco da cadeia de suprimentos
À medida que os sinais de risco externo chegam, o ingestion_engine os normaliza no MongoDB Atlas, acionando o agente risk_evaluator para calcular automaticamente as pontuações de risco do fornecedor. Em seguida, o fluxo de trabalho é pausado no primeiro ponto de decisão humano, em que um gerente de aquisições analisa as pontuações de risco sinalizadas e seleciona um fornecedor impactado. Esta seleção ativa o agente alternative_finder para recuperar, auditar e reclassificar candidatos de substituição do MongoDB Atlas. Finalmente, no segundo ponto de decisão humano , o gerente analisa documentos de compliance pré-atualizados e mencionados fornecidos para aprovar um fornecedor alternativo. Isso elimina pesquisas manuais em sistemas isolados, formatos de arquivo e idiomas estrangeiros.
Inteligência multimodal e multilíngue no banco de dados
O gerenciamento global da cadeia de suprimentos requer a pesquisa de documentação comercial não estruturada e em vários formatos, como contratos em PDF, acordos comerciais, certificados de conformidade e relatórios de auditar , escritos em vários idiomas.
O MongoDB Atlas lida com essa complexidade armazenando incorporações de vetores multimodais de IA Voyage diretamente junto com dados operacionais para exibir insights críticos de conformidade que, de outra forma, permaneceriam em silos de documento impossíveis de pesquisar:
Atlas Auto-incorporação
Bloco e incorpore registros e contratos de conformidade de fornecedores não estruturados, como contratos em PDF, relatórios de auditar digitalizados e acordos comerciais, e armazene-os no MongoDB Atlas.
Crie um índice de pesquisa vetorial com o tipo autoEmbed para ativar a incorporação automatizada nos blocos do documento . Isso garante que as incorporações vetoriais sejam geradas automaticamente após a inserção ou atualização de dados usando o modelo de IA Voyage configurado.
db.suppliers.createSearchIndex( "suppliers_autoembed_index", "vectorSearch", { fields: [ { type: "autoEmbed", modality: "text", path: "auto_embed_text", model: "voyage-4" }, { type: "filter", path: "region" }, { type: "filter", path: "product_categories" }, { type: "filter", path: "status" } ] } );
A incorporação automatizada elimina os serviços externos de incorporação e os pipelines ETL complexos, mantendo os dados seguros dentro do território do MongoDB Atlas .
Gráfico 3. Agente avaliador de risco
Aproveite o pipeline de agregação , os recursos de pesquisa e o modelo de documento flexível para executar queries avançadas nesses chunks e realizar a validação de compliance em seus dados ingeridos.
Pesquisa e recuperação de incorporações multimodais
Com os blocos de documento armazenados no MongoDB Atlas, consulte dados não estruturados usando a pesquisa híbrida. Crie uma query de pesquisa dinâmica para encontrar parceiros de substituição durante uma interrupção. Combine pré-filtros regionais com uma string de query semântica detalhada. Por exemplo, procure um "Fabricante de materiais de embalagem em uma zona de livre concorrência com certificados de qualidade ativos e compromisso de entrega urgente".
Execute esta pesquisa em um único pipeline de agregação do MongoDB Atlas . Use a pesquisa híbrida $rankFusion para mesclar a similaridade vetorial com a relevância da pesquisa de texto completo. Essa query híbrida corresponde a conceitos semânticas e palavras-chave exatas simultaneamente.
Encadeie um estágio de reclassificação nativo ($rerank) após a fusão usando um modelo de reclassificação da Voyage AI para melhorar a precisão da recuperação. O codificador cruzado no banco de dados avalia os chunks candidatos em conjunto com sua query para calcular pontuações de relevância precisas. A execução da reclassificação in-pipeline mantém os registros confidenciais de fornecedores com segurança dentro do território do banco de dados .
Gráfico 4. Agente fornecedor de busca de alternativas
Inteligência multilíngue
Pesquise e analise a documentação de fornecedores globais em qualquer idioma sem criar pipelines de tradução personalizados. O modelo multilíngue da Voyage AI mapeia textos de diferentes idiomas em um espaço vetorial compartilhado.
Consulte o banco de dados em inglês para recuperar contratos ou certificados relevantes escritos em árbitro, espanhol, chinês ou vietnamita. Armazene essas incorporações multilíngues nativamente no MongoDB Atlas para executar pesquisas semânticas entre idiomas com latência próxima a zero.
Consolide a documentação de seu fornecedor global em um único índice de pesquisa multilíngue para simplificar seus fluxos de trabalho de conformidade internacional e remover a sobrecarga de tradução.
Abordagem do modelo de dados
Bancos de dados rígidos forçam formatos de dados incompatíveis em tabelas simples. As entidades da cadeia de suprimentos do mundo real mudam constantemente e têm estruturas confusas e em desenvolvimento. Um esquema flexível nativo de documentos permite que o modelo de dados evolua em um passo de negócios. Armazene registros operacionais, incorporações vetoriais e coordenadas nativamente em uma única API. Evite o tempo de inatividade de migrações de banco de dados rígido.
Esta solução usa oito collections para gerenciar riscos e fontes alternativas.
Nome da collection | Propósito |
|---|---|
| Captura sinais de risco externo ao vivo com expiração do TTL. |
| Codifica pontuações e limites de risco estáticos do Modo de Falha e da Análise de Efeitos (FMEA). |
| Armazena registros mestres de fornecedores com localizações GeoJSON. |
| Rastreia pedidos ativos para quantidader a exposição financeira. |
| Contém certificados e contratos de fornecedores auto-incorporados fragmentados. |
| Armazena eventos históricos de risco para aprendizado contextual. |
| Abriga pontuações RPN dinâmicas e resumos de risco de linguagem natural. |
| Persiste as listas de pré-selecionados classificados que aguardam aprovação humana. |
Para obter uma visão geral completa do modelo de documento , consulte o README de backend da solução. Examine as coleções external_conditions e supplier_documents para explorar os benefícios do modelo de documento .
condições_externas
A coleção external_conditions serve como ponto de entrada para alertas de risco do mundo real, armazenando interrupções normalizadas. Diferentes tipos de risco coexistem na mesma coleção sem impor um esquema rígido.
Veja a seguir os campos que os documentos compartilham em todos os alertas de risco.
{ "condition_id": "COND-20260505-0941", "risk_type_triggered": "logistics_disruption", "condition_score": 0.76, "has_physical_location": true, "detected_at": "2026-05-05T09:41:00Z", "valid_until": "2026-05-08T09:41:00Z" }
Os alertas climáticos e de Logística armazenam coordenadas precisas para um local físico e raio de impacto . As coordenadas devem ser um objeto de ponto GeoJSON para executar queries geoespaciais nos dados. Use $geoWithin para encontrar fornecedores localizados inteiramente dentro de uma área afetada especificada.
{ // other shared fields "epicentre": { "type": "Point", "coordinates": [114.1095, 22.5229] }, "impact_radius_km": 80, "has_physical_location": true, }
Os alertas geopolíticas rastreiam os limites regionais com uma série de regiões afetadas. Para consultar fornecedores em regiões afetadas, use o operador $in.
{ // other shared fields "affected_regions": ["CN", "HK"], "has_physical_location": false, }
O ingestion_engine normaliza as cargas úteis diversas da API de entrada na estrutura limpa do documento mostrada nos exemplos de código anteriores.
O polimorfismo permite consultar ambos os tipos de sinal simultaneamente. Execute queries de correspondência geográfica unificadas usando $geoWithin e $in em uma única chamada de banco de dados . Essa consolidação simplifica a lógica do seu aplicação e evita divisões de query que drenam o desempenho.
provider_documents
A coleção supplier_documents abriga papelada comercial não estruturada tornada pesquisável. A seguinte amostra de documento ilustra este layout de coleção:
{ "supplier_id": "SUP-882", "doc_type": "quality_certification", "filename": "certificado_SUP882_2024.pdf", "chunk_index": 2, "chunk_total": 4, "chunk_text": "ISO 9001:2015 and IATF 16949:2016. Valid 2024-11-01 to 2027-10-31...", "page_ref": 1, "valid_until": "2027-10-31T00:00:00Z", "embedding": [/* 1024 dimensions */] }
chunk_text: armazena um segmento de texto de tokens 400 a 600 de arquivos PDF brutos. Esse agrupamento de alta fidelidade divide grandes contratos em segmentos sobrepostos para preservar cláusulas críticas. Ele mantém o conteúdo do documento não estruturado armazenado nativamente junto com seus registros do banco de dados operacional.embedding: armazena o vetor de 1024-dimensão gerado pela Voyage AI. O modelo multilíngue mapeia vários idiomas para um único espaço vetorial compartilhado. Esse alinhamento permite consultar documentos em espanhol ou alemão usando strings de pesquisa em inglês.valid_until: acompanha as datas de expiração da certificação de conformidade para expirar automaticamente registros de fornecedores desatualizados.
Construir a solução
Implemente a solução agente de risco da cadeia de suprimentos.
Pré-requisitos
Certifique-se de ter as seguintes contas, chaves e software antes de começar:
Conta do MongoDB Atlas: Um cluster do Atlas (nível M10 ou superior).
Chave de API antrófica: uma chave de API ativa para alimentar o argumento e o planejamento do LLM.
Docker Desktop: o aplicação necessário para executar os serviços de frontend e backend.
Definir configurações do Atlas
Ative as seguintes capacidades do Atlas antes de distribuir o código:
Acesse sua conta do MongoDB Atlas .
Habilite o estágio de agregação $rerank nas configurações do seu projeto .
Adicione a chave API do modelo Voyage em nível de projeto às configurações do projeto Atlas .
Configurar e popular o banco de dados
Configure seu banco de dados, importe os arquivos iniciais e crie os índices necessários para executar a demonstração.
Inicie sessão no MongoDB Atlas e crie um banco de dados denominado retail-supply-chain-risk no seu Atlas cluster.
Importe os cinco arquivos JSON de sementes da pasta docs/setup/collections:
Selecione seu novo banco de dados na tela Collections.
Clique no ícone de mais (+) ou clique em Create Collection para adicionar cada uma das cinco coleções.
Selecione cada coleção, clique em Import Data e carregue o respectivo arquivo JSON.
Crie os índices geoespaciais e de pesquisa necessários para executar pesquisa vetorial, pesquisa híbrida e queries geoespaciais. As configurações de índice estão na pasta docs/setup/indexes. Execute as seguintes etapas para criar cada índice.
mongosh "<your-connection-string>" --file suppliers-location-2dsphere.js mongosh "<your-connection-string>" --file external_conditions-epicentre-2dsphere.js mongosh "<your-connection-string>" --file suppliers_autoembed_index.js mongosh "<your-connection-string>" --file agent_memory_autoembed_index.js mongosh "<your-connection-string>" --file supplier_documents_vector_index.js mongosh "<your-connection-string>" --file supplier_documents_fulltext_index.js
Clone o repositório e configure variáveis de ambiente
Clone o repositório do projeto do GitHub.
git clone https://github.com/mongodb-industry-solutions/retail-supply-chain-management.git
Configure as variáveis de ambiente de frontend e backend:
Copie a amostra frontend/EXAMPLE.env para um novo arquivo
.envno mesmo diretório. Substitua os valores do espaço reservado pelos detalhes da configuração. DefinaBACKEND_URLcomohttp://127.0.0.1:8000.Copie o backend/.env da amostra. exemplo para um novo arquivo
.envno mesmo diretório. Substitua os valores do espaço reservado pelos detalhes da configuração. Adicione sua chave de API antrófica comoLLM_API_KEY.
Crie e inicie o aplicativo
Compile e inicie seu ambiente de vários serviços usando o Docker Compose ou executando o backend e o frontend separadamente.
Para iniciar o aplicação usando o Docker Compose, execute:
make build
Para executar os serviços manualmente, primeiro inicie o frontend:
cd frontend npm i npm run dev
Em seguida, navegue até o diretório raiz e inicie o backend:
make uv_init make uv_sync source backend/.venv/bin/activate cd backend uvicorn main:app --reload
Abra o dashboard de frontend em http://localhost:3000 no seu navegador. Visualize a documentação da API interativa em http://localhost:8000/docs.
Gráfico 5. Sistema Inteligente de Hub de Fornecedor
Leia o guia do usuário para navegar pela demonstração.
Principais Aprendizados
Esta solução demonstra vários padrões de arquitetura críticos para a criação de aplicativos de cadeia de suprimentos orientados por IA:
Construa uma camada de inteligênciaunificada para controlar os custos: desvincule o gerenciamento de fornecedores de sistemas legado rígidos criando uma camada de inteligência unificada no MongoDB Atlas. Consolide dados operacionais, incorporações de vetores e memória de agente em uma plataforma sincronizando dados do RH usando o CDC. Essa estrutura permite que os agentes leiam o estado atual sem consultar o sistema diretamente. Leia o mesmo documento para verificações operacionais e recuperação e, em seguida, restrinja deterministicamente os dados usando filtros geoespaciais, pesquisa híbrida e reclassificação antes que um LLM os receba. Controlar o que chega ao modelo otimiza o desempenho do argumentos e reduz os custos de execução.
Unifique dados não estruturados em vários idiomas: armazene documentos não estruturados, como contratos em PDF, e-mails e relatórios de auditar digitalizados, juntamente com registros estruturados de fornecedores. Use a Voyage AI para incorporar esses diversos formatos em uma única coleção do MongoDB . Esse layout unificado permite queries semânticas em texto e imagens, simplificando sua arquitetura de recuperação sem manter sistemas de banco de dados separados. Além disso, os modelos de incorporação multimodal permitem queries entre idiomas sem sobrecarga de tradução.
Mantenha a pesquisa e a reclassificação dentro doAtlas: consolidar o Vector Search, a pesquisa de texto completo e a reclassificação nativa em uma única query de banco de dados . Use
$rankFusionpara executar a pesquisa híbrida e encadeie$reranknativo com a Voyage AI diretamente dentro do seu pipeline de agregação . Isso elimina saltos extras de rede, latência de API e gerenciamento de credenciais personalizado.
Autores
Florencia Arin, MongoDB
Angie Guemes, MongoDB
Ronan Conlon, MongoDB
Daniel Jamir, MongoDB