Mistral Search Toolkit: Monte Seu Próprio Motor de Busca com IA em 30 Minutos (Open Source)
No dia 28 de maio de 2026, a Mistral AI fez um movimento que pegou muitos de surpresa. Não lançou um modelo maior, mais rápido ou mais barato. Lançou um framework de busca.
O Search Toolkit é um conjunto de ferramentas open source que unifica tudo o que você precisa para construir um pipeline de busca em produção: ingestão de documentos, recuperação híbrida (BM25 + embeddings + busca combinada) e avaliação integrada. Tudo numa interface só, rodando onde você quiser.
"Most teams building retrieval systems spend more time assembling infrastructure than improving search quality", escreveu a equipe da Mistral no anúncio oficial. E é verdade — qualquer um que já montou um sistema de busca do zero sabe o calvário que é conectar um indexador, um banco vetorial, um reranker e uma ferramenta de avaliação que conversem entre si.
O Search Toolkit corta esse ciclo. E neste tutorial, você vai ver exatamente como.
Por Que Mistral Criou Mais um Framework de Busca?
O ecossistema de busca com IA em 2026 está maduro, mas fragmentado. Você quer BM25? Precisa do Elasticsearch. Busca vetorial? ChromaDB, Pinecone ou Weaviate. Avaliação? RAGAS, ARES, ou um script caseiro. Cada ferramenta tem sua própria API, seu próprio schema, suas próprias suposições sobre como os dados se parecem.
O resultado é que times gastam semanas — às vezes meses — só para fazer a infraestrutura funcionar, antes de começar a melhorar a qualidade da busca de verdade.
O Search Toolkit resolve isso com uma camada unificada. Você define o schema uma vez. O framework cuida da ingestão, indexação, recuperação e avaliação com a mesma interface. E o backend de indexação vetorial fica por conta do Vespa, o motor open source da Yahoo que já roda em produção na Amazon, Spotify e na própria Mistral.
| Abordagem | O que usa | Setup | Flexibilidade |
|---|---|---|---|
| BM25 puro | Elasticsearch / OpenSearch | Simples, mas busca por palavra-chave | Baixa — não entende contexto |
| Busca densa (vetorial) | ChromaDB, Pinecone, Weaviate | Requer embeddings + banco vetorial | Alta — entende semântica |
| Híbrida (BM25 + vetorial) | Search Toolkit + Vespa | Médio — framework unificado | Máxima — combina o melhor dos dois |
| Híbrida + avaliação | Search Toolkit completo | Framework gerencia tudo | Máxima + métricas embutidas |
"Search Toolkit gives your agents a high-quality indexed search path to call on alongside live retrieval." — Mistral AI
A mensagem é clara: a Mistral está mirando no mundo dos agentes de IA. Seu agente precisa buscar informação em uma base indexada de forma confiável, não apenas fazer consultas ao vivo na web. O Search Toolkit é essa base.
O Que Você Precisa Para Começar
Antes de botar a mão no código, garanta que tem isso instalado:
- Python 3.10+ (de preferência 3.11 ou 3.12)
- Docker Desktop (para rodar o Vespa)
- uv (o gerenciador de pacotes rápido em Rust —
pip install uvoucurl -LsSf https://astral.sh/uv/install.sh | sh) - Git (para clonar o starter app)
- Cerca de 4 GB de RAM livre para o Vespa
Tudo open source, zero custo de API, 100% local.
Passo a Passo: Seu Primeiro Pipeline de Busca em 30 Minutos
Vou dividir em cinco passos. No final, você vai ter um motor de busca híbrida funcional com BM25 + embeddings, rodando no seu computador.
Passo 1: Scaffold do Projeto
A Mistral preparou um starter app que já vem com tudo configurado. São quatro comandos e você está rodando:
# Cria o projeto a partir do template oficial
uvx copier copy gh:mistralai/search-starter-app meu-busca-ia
Entra no diretório
cd meu-busca-ia
Sobe o Vespa com Docker
make setup-vespa
Faz a ingestão dos documentos de exemplo
make ingest
O comando uvx copier copy baixa o template, pergunta algumas configurações básicas (nome do projeto, schema dos dados) e já deixa tudo pronto. O make setup-vespa sobe o container do Vespa com a configuração de schema já definida.
Repare que não precisa escrever uma linha de YAML de configuração do Vespa. O starter app já vem com tudo pré-ajustado.
Passo 2: Indexar Documentos
Com o Vespa rodando, o próximo passo é ingerir os documentos. O starter app inclui alguns documentos de exemplo, mas você pode apontar para seus próprios dados:
# Ingere os documentos de exemplo
make ingest
O comando acima roda algo como:
python -m search_toolkit.ingest --input ./data/documents.jsonl
Se quiser usar seus próprios documentos, o formato esperado é um JSONL (uma linha por documento):
{"id": "doc-001", "title": "Mistral Search Toolkit", "content": "Framework composável para pipelines de busca...", "metadata": {"source": "blog", "date": "2026-05-28"}}
{"id": "doc-002", "title": "O que é RAG", "content": "Retrieval-Augmented Generation é uma arquitetura..."}
O framework automaticamente:
- Divide o conteúdo em chunks
- Gera embeddings (usando o modelo
mistral-embedvia API ou um modelo local) - Indexa tanto os embeddings quanto o texto bruto para BM25
- Armazena tudo no Vespa em uma estrutura otimizada para busca
Passo 3: Fazer a Primeira Busca
Com os documentos indexados, a busca é tão simples quanto:
# Busca interativa no terminal
make search
Ou, se quiser chamar direto via Python:
from mistralai_search_toolkit import SearchToolkit
Conecta no Vespa
toolkit = SearchToolkit(vespa_url="http://localhost:8080")
Busca híbrida (BM25 + vetorial combinados)
resultados = toolkit.search( query="como funciona busca híbrida", top_k=5, strategy="hybrid", # "bm25" | "dense" | "hybrid" )
for doc in resultados: print(f"[{doc.score:.3f}] {doc.title}") print(doc.content[:200]) print("---")
Três estratégias de busca disponíveis:
bm25: busca puramente por palavra-chave, rápida e previsíveldense: busca por similaridade semântica via embeddingshybrid: combina os dois com fusão de rankings recíprocos
O strategy="hybrid" é o padrão por um motivo: ele pega o melhor dos dois mundos. Termos exatos são capturados pelo BM25, enquanto sinônimos e contexto são capturados pela busca densa.
Passo 4: Avaliar a Qualidade da Busca
Construir a busca é metade do trabalho. Saber se ela é boa é a outra metade. O Search Toolkit já vem com avaliação integrada:
from mistralai_search_toolkit.evaluation import evaluate
metricas = evaluate( toolkit=toolkit, queries=[ "como funciona busca híbrida", "diferença entre BM25 e embeddings", ], relevant_docs=[ ["doc-001", "doc-003"], ["doc-002", "doc-004"], ], metrics=["recall@5", "precision@5", "mrr", "ndcg@5"], )
print(metricas)
Exemplo: {"recall@5": 0.85, "precision@5": 0.73, "mrr": 0.91, "ndcg@5": 0.79}
As métricas são as mesmas usadas em competições de busca (TREC, MS MARCO):
| Métrica | O que mede | Ideal para |
|---|---|---|
| Recall@K | Dos documentos relevantes, quantos foram recuperados? | Cenários onde perder um documento é crítico |
| Precision@K | Dos documentos recuperados, quantos são relevantes? | Experiência do usuário (evitar ruído) |
| MRR | O primeiro resultado relevante aparece em que posição? | Q&A e busca por resposta única |
| NDCG@K | Qualidade da ordenação considerando graus de relevância | Search geral com relevância graduada |
Passo 5: Usar num Pipeline RAG
O Search Toolkit foi feito para ser usado por agentes de IA. Integrar com um LLM é trivial:
from mistralai import Mistral
client = Mistral(api_key="sua-chave")
Busca documentos relevantes
docs = toolkit.search("impacto da IA na logística", top_k=3)
Monta o contexto para o LLM
contexto = "\n\n".join(doc.content for doc in docs)
Gera resposta com base nos documentos
resposta = client.chat.complete( model="mistral-large-2407", messages=[ { "role": "system", "content": "Responda com base APENAS no contexto fornecido.", }, { "role": "user", "content": f"Contexto:\n{contexto}\n\nPergunta: impacto da IA na logística?", }, ], )
print(resposta.choices[0].message.content)
Esse padrão — busca híbrida + LLM com contexto — é a espinha dorsal dos sistemas RAG em produção em 2026. A diferença é que antes você precisava de quatro bibliotecas para fazer isso. Agora precisa de uma.
Caso Real: CMA CGM Contra Fake News em 15 Segundos
Um dos primeiros deployments do Search Toolkit em produção é na CMA CGM, uma das maiores empresas de navegação e logística do mundo.
Eles usam o Search Toolkit junto com o modelo de voz Voxtral (também da Mistral) para detectar fake news em áudio. O sistema processa três fontes de dados distintas — comunicados oficiais, relatórios de incidentes e feeds de notícias — e retorna alertas de inconsistência em até 15 segundos.
O fluxo é simples: um áudio chega, o Voxtral transcreve, o Search Toolkit busca documentos relacionados que confirmem ou contradigam a informação, e um agente de IA decide se o alerta deve ser disparado. Tudo rodando em infraestrutura própria da CMA CGM, sem depender de serviços de nuvem de terceiros.
É o tipo de aplicação que o Search Toolkit viabiliza: busca indexada de alta qualidade, acoplada a agentes de IA, rodando onde o dado está.
Conclusão: O Framework que Faltava
O Search Toolkit não é um produto que a Mistral vai vender. É open source, roda em qualquer lugar — cloud, on-premises, edge. A estratégia é clara: tornar a Mistral o padrão para busca em sistemas de agentes de IA, da mesma forma que o LangChain se tornou o padrão para orquestração de LLMs.
Para quem trabalha com RAG, sistemas de recomendação, busca documental ou qualquer aplicação que precise de recuperação de informação em produção, vale a pena testar. O setup é rápido, a API é limpa e a avaliação integrada resolve um dos maiores gargalos do desenvolvimento de sistemas de busca: saber se o que você construiu realmente funciona.
Se você já experimentou o RAG do Zero com LangChain e ChromaDB, vai notar que o Search Toolkit segue a mesma filosofia — mas com um nível de maturidade de produção que o ChromaDB sozinho não entrega.
O próximo passo? Testar com seus próprios dados. O tutorial de 30 minutos que você viu aqui escala para milhões de documentos com a mesma API. É só trocar o dataset de exemplo pelos seus arquivos reais.
Os comandos estão aí em cima. Roda e me conta o que achou.
Artigos Relacionados
Confira também: 2026: O Ano em que a Regulamentação de IA Saiu do Papel — Prazos, Multas e o Que Mudou no Brasil e no Mundo Confira também: A Crise de Segurança dos Agentes de IA em 2026: 30 Mil Instâncias Expostas, 1,5 Milhão de Tokens Vazados e o que Isso Significa para Você Confira também: 1.451 Dispositivos com IA Aprovados pelo FDA: a Revolução Silenciosa na Saúde em 2026
NeuralPulse
Blog profissional sobre Inteligencia Artificial. Exploramos tendencias, ferramentas, tutoriais e analises profundas sobre como a IA esta transformando negocios, tecnologia e o dia a dia.
Receba as novidades sobre IA
Junte-se a milhares de leitores que acompanham as ultimas tendencias em inteligencia artificial.
Artigos Relacionados
Como Pequenas Empresas Podem Avaliar o Custo Real de Modelos de IA Open-Source em 2026
Guia prático para PMEs brasileiras calcularem o TCO (Custo Total de Propriedade) de soluções de IA open-source versus SaaS, com dados do Gartner e IDC.
Function Calling na Prática: Tutorial Python para Chatbots com LLMs que Executam Ações em 2026
Aprenda a implementar function calling em Python com OpenAI, Anthropic Claude e Google Gemini. Tutorial completo com código para integrar APIs, bancos de dad...
Árvore de Decisão vs Random Forest vs XGBoost: Tutorial Prático de Machine Learning em 2026 (com Código Python e Dados Reais)
Comparação prática entre Árvore de Decisão, Random Forest e XGBoost para classificação em 2026, com implementação passo a passo em Python e análise de perfor...
Comentarios
Powered by Disqus
Para ativar os comentarios, configure seu shortname do Disqus no componente.
<div id="disqus_thread"></div>