(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

AI-901: Embeddings e pesquisa semântica com Foundry

João Barros 22 de July de 2026 4 min de leitura

Neste guia vou ensinar a competência de usar embeddings para implementar uma pesquisa semântica com Microsoft Foundry e OneLake — uma área prática frequentemente avaliada na parte de implementação de soluções de IA. Compreender embeddings e como os indexar/consultar é útil no exame e fundamental para construir pesquisas por significado em documentos, FAQs e aplicações conversacionais.

O que precisas de saber

Embeddings são representações numéricas (vetores) de texto, imagens ou outro conteúdo que capturam semântica: objetos semanticamente semelhantes têm vetores próximos. Em sistemas de pesquisa semântica, convertemos documentos e consultas em vetores e usamos similaridade (ex.: cosine similarity) para encontrar os documentos mais relevantes.

Exemplo simples: os textos "Como mudar a palavra-passe" e "Alterar password" terão embeddings próximos, mesmo com palavras diferentes — ao contrário de uma pesquisa por palavra exacta.

Na prática

Passos essenciais para implementar uma pesquisa semântica com Foundry e OneLake:

  1. Preparar dados: recolhe e limpa documentos (ficheiros, páginas, transcrições). Normaliza texto: remove HTML desnecessário, normaliza espaços e separa por unidades de contexto (parágrafos, segmentos).
  2. Gerar embeddings: escolhe um modelo de embeddings (fornecido por Azure OpenAI, ou outro integrado no Foundry) e transforma cada segmento num vetor.
  3. Armazenar vetores: regista os vetores num índice vetorial suportado por OneLake/Foundry (ou num serviço de vector store compatível), incluindo metadados (id do documento, localização, resumo).
  4. Indexar e optimizar: usa técnicas como chunking adequado (tamanho do segmento), normalização e, quando disponível, criação de índices aproximados (ex.: HNSW) para consultas rápidas.
  5. Consultar: para cada consulta do utilizador, gera o embedding da consulta, calcula similaridades com os vetores indexados e devolve os documentos mais próximos. Opcional: rerank com um modelo de compreensão ou sumarização antes de apresentar ao utilizador.

Aqui fica um exemplo simplificado em Python (pseudo-código) para gerar e comparar embeddings:

from azure.identity import DefaultAzureCredential
from azure.ai.openai import OpenAIClient
import numpy as np

# Autenticação e cliente (exemplo conceptual)
credential = DefaultAzureCredential()
client = OpenAIClient(endpoint, credential)

# 1. Gerar embedding para um documento
resp = client.get_embeddings(model='embedding-model', input='Texto do documento aqui')
doc_vector = np.array(resp.data[0].embedding)

# Armazenar doc_vector com id e metadados no índice vetorial (OneLake/Foundry)
# (Esta etapa depende do serviço de indexação do Foundry)

# 2. Gerar embedding para a query
q_resp = client.get_embeddings(model='embedding-model', input='Como alterar a password?')
query_vector = np.array(q_resp.data[0].embedding)

# 3. Calcular cosine similarity (exemplo para poucos vetores)
def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

score = cosine_similarity(query_vector, doc_vector)
# ordenar por score e retornar os top-K

Notas práticas: em produção, não carregues todos os vetores em memória — usa um índice vetorial que suporte pesquisas aproximadas e escaláveis (por exemplo, HNSW). Em Foundry, usa os componentes de indexing/OneLake que facilitam a gestão dos vetores e metadados.

Erros comuns

  • Fragmentação inadequada: dividir documentos em segmentos demasiado grandes ou pequenos. Segmentos muito grandes diluem o contexto; demasiado pequenos perdem sentido. Testa tamanhos e avalia a qualidade da recuperação.
  • Comparar vetores sem normalização: esquecer de normalizar vetores ou usar métricas inconsistentes pode distorcer os resultados. Para cosine similarity, normaliza ou calcula correctamente.
  • Ignorar metadados: não guardar metadados úteis (data, título, local) dificulta a filtragem e a explicabilidade. Metadados permitem combinar filtros semânticos e estruturados.

Como praticar

Para praticar esta competência de forma alinhada com o exame e com recursos oficiais:

  • Faz o Practice Assessment OFICIAL da Microsoft (gratuito) para o AI-901 — é a forma correta de avaliar a tua preparação.
  • Segue a study guide / learning path da Microsoft para AI-901 no Microsoft Learn (gratuito). Procura módulos sobre embeddings, Azure OpenAI e serviços de indexação/Vector Search.
  • Implementa um pequeno projecto: pega em 50–200 documentos, gera embeddings com um modelo disponível no teu ambiente Azure/Foundry, indexa-os e implementa consultas. Avalia a qualidade com exemplos reais e ajusta o chunking e os modelos.

Em resumo

  • Embeddings transformam texto em vetores; a pesquisa semântica usa similaridade para recuperar conteúdo por significado.
  • Fluxo prático: preparar dados → gerar embeddings → armazenar num índice vetorial → consultar com embeddings da query.
  • Evita fragmentação inadequada, falhas de normalização e falta de metadados; usa índices aproximados para escalabilidade.
  • Pratica com o Practice Assessment OFICIAL da Microsoft e com os módulos no Microsoft Learn para consolidar conhecimento.