Imagine sistemas de IA multiagentes colaborando como uma equipe de especialistas interdisciplinares, vasculhando autonomamente enormes conjuntos de dados para descobrir padrões e hipóteses inovadoras. Isso agora é convenientemente alcançável com o Model Context Protocol (MCP), um novo padrão para integrar facilmente diversas fontes de dados e ferramentas. O crescente ecossistema de servidores MCP — de bases de conhecimento a geradores de relatórios — oferece capacidades infinitas.
Conheça o AiChemy, um assistente multiagente que combina servidores MCP externos como OpenTargets, PubChem e PubMed com suas próprias bibliotecas químicas no Databricks, de modo que as bases de conhecimento combinadas possam ser melhor analisadas e interpretadas em conjunto. Ele também possui Skills que podem ser carregadas opcionalmente para fornecer instruções detalhadas para a produção de relatórios específicos para tarefas, formatados de forma consistente para necessidades de pesquisa, regulatórias ou de negócios.
Figura 1. AiChemy é um supervisor multiagente que compreende servidores MCP externos PubChem, PubMed e OpenTargets, e servidores MCP gerenciados pelo Databricks do Genie Space (text-to-SQL para dados estruturados do DrugBank) e do Vector Search (para dados não estruturados como embeddings moleculares ZINC). Skills também podem ser carregados para especificar a sequência de tarefas e a formatação e estilo do relatório para garantir resultados consistentes.
Suas principais capacidades incluem a identificação de alvos de doenças e candidatos a medicamentos, a recuperação de suas propriedades químicas e farmacocinéticas detalhadas, e a oferta de avaliações de segurança e toxicidade. Crucialmente, o AiChemy fundamenta suas descobertas com evidências de apoio rastreáveis a fontes de dados verificáveis, tornando-o ideal para pesquisa.
O painel Tarefas Guiadas fornece os prompts e Skills de agente necessários para executar as etapas-chave em um fluxo de trabalho de descoberta de medicamentos: doença -> alvo -> medicamento -> validação de literatura.
Para identificar um sucessor para o Modulador Seletivo do Receptor de Estrogênio (SERM) oral aprovado em 2023, Elacestrant, podemos alavancar a similaridade química. Buscamos na grande biblioteca química ZINC15 por moléculas semelhantes a medicamentos (drug-like) estruturalmente ao Elacestrant, pois os princípios de Relação Quantitativa Estrutura-Atividade (QSAR) sugerem que elas compartilharão propriedades semelhantes. Isso é alcançado consultando o Databricks Vector Search, que usa o embedding molecular Extended-Connectivity Fingerprint (ECFP) de 1024 bits do Elacestrant (como vetor de consulta) para encontrar os embeddings mais semelhantes dentro do índice de 250.000 moléculas do ZINC.
Figura 2. O AiChemy inclui a busca vetorial no banco de dados ZINC de 250.000 moléculas comercialmente disponíveis. Isso nos permite gerar compostos líderes por similaridade química. Nesta captura de tela, pedimos ao AiChemy para encontrar no Vector Search do ZINC os compostos mais semelhantes ao Elacestrant com base no embedding molecular ECFP4.
Personalizaremos um supervisor multiagente no Databricks integrando servidores MCP públicos com dados proprietários no Databricks. Para conseguir isso, você tem a opção de usar o Agent Bricks sem código ou opções de codificação como Notebooks. O Databricks Playground permite prototipagem e iteração rápidas de seus agentes.
O sistema multiagente possui 5 workers:
Etapa 1a: Conecte-se com segurança a servidores MCP públicos via conexões do Unity Catalog (UC) na UI ou em um Databricks Notebook (por exemplo, 4_connect_ext_mcp_opentarget.py).
Etapa 1b: Certifique-se de que sua(s) tabela(s) estruturada(s) (por exemplo, DrugBank) seja(m) transformada(s) em um espaço Genie com funcionalidade text-to-SQL usando a UI. Veja 1_load_drugbank and descriptors.py
Etapa 1c: Certifique-se de que sua biblioteca química não estruturada seja criada como um índice vetorial na UI ou em um Notebook para habilitar a busca por similaridade. Veja 2_create VS zinc15.py
Para montá-los, experimente o Agent Bricks sem código, que constrói um agente supervisor com os componentes acima pela interface do usuário e o implanta em um endpoint de API REST, tudo em poucos minutos.
Para recursos mais avançados, como memória agentiva e Skills, desenvolva um supervisor Langgraph no Databricks Notebooks para integrar com Lakebase, o banco de dados Postgres Serverless da Databricks. Confira este repositório de código onde você pode simplesmente definir os componentes multiagente (veja a Etapa 1) no config.yml.
Após definir o config.yml, você pode implantar o supervisor multiagente como um MLflow AgentServer (wrapper FastAPI) com uma interface de usuário web React (UI). Implante ambos no Databricks Apps via UI ou Databricks CLI. Defina as permissões apropriadas para que os usuários usem o Databricks App e para que o principal de serviço do aplicativo acesse os recursos subjacentes (por exemplo, experimento para registrar traces, escopo secreto, se houver).
Cada invocação ao agente é registrada automaticamente e rastreada para um experimento MLflow da Databricks usando padrões OpenTelemetry. Isso permite a fácil avaliação das respostas offline ou online para melhorar o agente ao longo do tempo. Além disso, seu agente multiagente implantado usa o LLM por trás do AI Gateway para que você possa aproveitar os benefícios de governança centralizada, salvaguardas integradas e observabilidade completa para prontidão de produção.
Figura 3. Todas as invocações ao agente multiagente, seja via UI React ou API REST, serão registradas em MLflow traces, em conformidade com os padrões OpenTelemetry, para observabilidade de ponta a ponta.
Figura 4. MLflow traces capturam o grafo de execução completo, incluindo etapas de raciocínio, chamadas de ferramentas, documentos recuperados, latência e uso de tokens para facilitar a depuração e otimização.
Convidamos você a explorar o aplicativo web AiChemy e o repositório Github. Comece a construir seu sistema multiagente personalizado com o framework intuitivo e sem código Agent Bricks no Databricks para que você possa parar de vasculhar e começar a descobrir!
(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original