embedding-strategies
Ajuda seu agente a escolher os melhores modelos para buscas. Ele otimiza a forma como a informação é encontrada em sistemas de busca.
O que ela faz
Esta ferramenta ajuda você a escolher e configurar modelos de 'embedding' (representações numéricas de texto) para usar em sistemas de busca de informações. Ela te guia na seleção do modelo certo, como dividir seus textos e como otimizar tudo para que a busca funcione melhor.
Quando usar
- ✓Quando você quer que um programa encontre informações parecidas em muitos textos.
- ✓Quando você precisa decidir qual modelo matemático usar para entender o significado de palavras.
- ✓Quando você quer melhorar a precisão de um sistema de busca de perguntas e respostas.
Exemplo do que pedir para a IA
“Qual o melhor modelo de embedding para buscar documentos legais em português?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta analisa seus objetivos e os dados que você tem. Depois, ela sugere modelos de embedding e métodos para preparar seus textos (dividir em pedaços menores, por exemplo) para que a busca seja eficiente.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill embedding-strategiesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/embedding-strategies/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Estratégias de Embedding
Guia para selecionar e otimizar modelos de embedding para aplicações de busca vetorial.
Não use esta habilidade quando
- A tarefa não estiver relacionada a estratégias de embedding
- Você precisar de um domínio ou ferramenta diferente fora deste escopo
Instruções
- Clarifique objetivos, restrições e entradas necessárias.
- Aplique as melhores práticas relevantes e valide os resultados.
- Forneça passos acionáveis e verificação.
- Se exemplos detalhados forem necessários, abra
resources/implementation-playbook.md.
Use esta habilidade quando
- Escolher modelos de embedding para RAG
- Otimizar estratégias de chunking
- Ajustar embeddings para domínios específicos
- Comparar o desempenho de modelos de embedding
- Reduzir dimensões de embedding
- Lidar com conteúdo multilíngue
Conceitos Principais
1. Comparação de Modelos de Embedding
| Modelo | Dimensões | Máx. Tokens | Ideal para |
|---|---|---|---|
| text-embedding-3-large | 3072 | 8191 | Alta precisão |
| text-embedding-3-small | 1536 | 8191 | Custo-benefício |
| voyage-2 | 1024 | 4000 | Código, jurídico |
| bge-large-en-v1.5 | 1024 | 512 | Código aberto |
| all-MiniLM-L6-v2 | 384 | 256 | Rápido, leve |
| multilingual-e5-large | 1024 | 512 | Multilíngue |
2. Pipeline de Embedding
Document → Chunking → Preprocessing → Embedding Model → Vector
↓
[Overlap, Size] [Clean, Normalize] [API/Local]
Modelos
Modelo 1: Embeddings da OpenAI
from openai import OpenAI
from typing import List
import numpy as np
client = OpenAI()
def get_embeddings(
texts: List[str],
model: str = "text-embedding-3-small",
dimensions: int = None
) -> List[List[float]]:
"""Get embeddings from OpenAI."""
# Handle batching for large lists
batch_size = 100
all_embeddings = []
for i in range(0, len(texts), batch_size):
batch = texts[i:i + batch_size]
kwargs = {"input": batch, "model": model}
if dimensions:
kwargs["dimensions"] = dimensions
response = client.embeddings.create(**kwargs)
embeddings = [item.embedding for item in response.data]
all_embeddings.extend(embeddings)
return all_embeddings
def get_embedding(text: str, **kwargs) -> List[float]:
"""Get single embedding."""
return get_embeddings([text], **kwargs)[0]
# Dimension reduction with OpenAI
def get_reduced_embedding(text: str, dimensions: int = 512) -> List[float]:
"""Get embedding with reduced dimensions (Matryoshka)."""
return get_embedding(
text,
model="text-embedding-3-small",
dimensions=dimensions
)
Modelo 2: Embeddings Locais com Sentence Transformers
from sentence_transformers import SentenceTransformer
from typing import List, Optional
import numpy as np
class LocalEmbedder:
"""Local embedding with sentence-transformers."""
def __init__(
self,
model_name: str = "BAAI/bge-large-en-v1.5",
device: str = "cpu",
query_prefix: str = ""
):
self.model = SentenceTransformer(model_name, device=device)
self.query_prefix = query_prefix # Choose from the selected model card.
def embed(
self,
texts: List[str],
normalize: bool = True,
show_progress: bool = False
) -> np.ndarray:
"""Embed texts with optional normalization."""
embeddings = self.model.encode(
texts,
normalize_embeddings=normalize,
show_progress_bar=show_progress,
convert_to_numpy=True
)
return embeddings
def embed_query(self, query: str) -> np.ndarray:
"""Embed a query with the explicitly configured model prefix."""
return self.embed([self.query_prefix + query])[0]
def embed_documents(self, documents: List[str]) -> np.ndarray:
"""Embed documents for indexing."""
return self.embed(documents)
# E5 model with instructions
class E5Embedder:
def __init__(self, model_name: str = "intfloat/multilingual-e5-large"):
self.model = SentenceTransformer(model_name)
def embed_query(self, query: str) -> np.ndarray:
return self.model.encode(f"query: {query}")
def embed_document(self, document: str) -> np.ndarray:
return self.model.encode(f"passage: {document}")
Modelo 3: Estratégias de Chunking
from typing import List, Tuple
import re
def chunk_by_tokens(
text: str,
chunk_size: int = 512,
…
Perguntas frequentes
O que são 'embeddings'?
Embeddings são como traduções de palavras ou frases para números. Computadores entendem esses números para saber o quão parecidas são as ideias de diferentes textos.
O que é 'RAG'?
RAG significa 'Retrieval-Augmented Generation'. É uma técnica que usa embeddings para encontrar informações relevantes em uma base de dados e, em seguida, usa essas informações para gerar uma resposta mais precisa.
Como eu escolho o melhor modelo?
A ferramenta compara modelos com base em características como precisão, custo e o tipo de texto que eles entendem melhor (como código ou textos em vários idiomas).
Detalhes
Descrição original do autor
Guide to selecting and optimizing embedding models for vector search applications.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2913
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC