Pular para o conteúdo
Skillpedia
Agentes48 mil · #2203

arrowspace

Ajuda seu agente a buscar vetores usando a estrutura do Laplaciano do grafo. É útil quando a similaridade de cosseno não captura a estrutura latente em seus embeddings.

O que ela faz

ArrowSpace ajuda a encontrar informações em grandes conjuntos de dados, considerando não apenas a semelhança direta, mas também como os itens estão conectados entre si. Ele usa uma abordagem baseada em grafos para entender a estrutura oculta dos dados.

Quando usar

  • ✓Quando buscas normais não encontram o que você procura, mesmo que pareça relacionado.
  • ✓Se você quer encontrar itens que são importantes na estrutura geral dos seus dados, não apenas os mais parecidos.
  • ✓Ao construir sistemas de busca que precisam entender o 'papel' de uma informação, não só o seu conteúdo.

Exemplo do que pedir para a IA

“Encontre documentos que são importantes para entender o contexto geral sobre inteligência artificial, não apenas os que falam diretamente sobre o assunto.”

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/arrowspace/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/arrowspace/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele cria uma rede (grafo) onde cada item é um nó e as conexões representam relações. Em seguida, analisa as propriedades dessa rede para encontrar itens que são estruturalmente importantes, além de semanticamente similares.

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 arrowspace

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/arrowspace/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

ArrowSpace

Busca vetorial espectral que aprimora a busca por vizinhos mais próximos com recursos do Laplaciano de grafos. Calcula um Laplaciano sobre o grafo de itens e usa o quociente de Rayleigh para produzir uma pontuação λτ (lambda-tau) por item, permitindo buscas que respeitam tanto a similaridade semântica quanto o papel estrutural.

Quando Usar Esta Habilidade

  • A similaridade Cosseno ou L2 não capta a estrutura latente em seus embeddings.
  • Você deseja recuperação baseada em grafos com consciência espectral.
  • Você precisa caracterizar as propriedades espectrais de um espaço de embeddings.
  • Você está construindo pipelines RAG onde o papel contextual é importante, além do conteúdo semântico.

Como Funciona

Passo 1: Instalar e importar

python3 -m pip install "arrowspace==0.28.1" numpy  # review/pin remaining dependencies in an isolated environment
from arrowspace import ArrowSpaceBuilder
import numpy as np

Passo 2: Preparar seus dados

Passe um array NumPy (N, d) de float64 com os vetores de embedding:

rng = np.random.default_rng(7)
items = rng.normal(size=(32, 8)).astype(np.float64)
items /= np.linalg.norm(items, axis=1, keepdims=True)

Passo 3: Configurar parâmetros do grafo

graph_params = {"eps": 0.5, "k": 6, "topk": 3, "p": 2.0, "sigma": None}
aspace, graph = ArrowSpaceBuilder().build(graph_params, items)

Passo 4: Consultar

lambdas = aspace.lambdas()           # array indexed by insertion order
sorted_res = aspace.lambdas_sorted()  # (score, index) pairs ascending

Estas são assinaturas espectrais por item, não autovalores do grafo ou pontuações de relevância dependentes da consulta. Ordená-las isoladamente não é recuperação de vizinhos mais próximos; não infira proximidade a uma consulta ou centralidade do grafo a partir de uma assinatura grande.

Exemplos

Exemplo 1: Recuperação espectral básica

# Reuse the normalized corpus and graph above; verify degenerate scores first.
if np.any(np.abs(aspace.lambdas()) < 1e-12):
    raise ValueError("Tune graph parameters for this corpus before searching")
query = items[0].copy()
hits = aspace.search(query, graph, tau=0.7, k=5)
# hits contains query-dependent (item_index, score) pairs, not a lambda-only ranking.

Exemplo 2: Comparar ranking espectral vs. cosseno

from sklearn.metrics.pairwise import cosine_similarity
cos_sim = cosine_similarity(items)
cosine_order = np.argsort(cos_sim[0])[::-1][:5]
spectral_order = [index for index, score in aspace.search(items[0], graph, tau=0.7, k=5)]
# For retrieval evaluation, exclude self-matches and use held-out relevance labels.

Melhores Práticas

  • ✅ Normalize os embeddings para norma unitária antes de passá-los para o ArrowSpace.
  • ✅ Trate os parâmetros do grafo como dependentes do corpus; inspecione pontuações desconectadas/degeneradas e ajuste usando um objetivo explicitamente selecionado.
  • ✅ Escolha k em relação ao corpus real e às restrições da biblioteca; N/50 não é uma garantia universal de qualidade.
  • ✅ Na API revisada 0.28, sigma=None usa o padrão dependente de eps; não é ajuste automático de distribuição.
  • ✅ Pequenos corpora podem ilustrar a API, mas a qualidade da recuperação requer avaliação apropriada ao corpus; dez itens não é um limite de validade matemática.
  • ❌ Não use para dados de streaming em tempo real (ArrowSpace é orientado a lotes).

Limitações

  • Os exemplos da API visam a interface revisada 0.28; habilidade upstream imutável documenta o construtor, o valor de retorno do grafo e a busca ciente da consulta. Estes exemplos foram verificados contra a documentação fonte, não executados aqui.
  • Ajuste os parâmetros do grafo e tau com base em evidências de recuperação retidas; as assinaturas λτ sozinhas não provam melhor recall ou importância estrutural.
  • ArrowSpace é orientado a lotes e não foi projetado para indexação em tempo real de dados de streaming.

Armadilhas Comuns

  • Problema: eps é muito pequeno, produzindo um grafo desconectado. Solução: Inspecione a conectividade do grafo e as pontuações degeneradas, então ajuste eps contra os dados reais; nenhuma fórmula baseada apenas na dimensão é garantida.

  • Problema: k é muito grande, produzindo um grafo denso com características espectrais "lavadas". Solução: Mantenha k ≤ 25 para a maioria dos conjuntos de dados.

Habilidades Relacionadas

  • vector-database-engineer — Expertise geral em banco de dados vetorial.
  • embedding-strategies — Seleção de modelo de embedding e chunking.
  • similarity-search-patterns — Padrões de implementação de busca semântica.
  • hybrid-search-implementation — Busca semântica + por palavra-chave combinada.
Perguntas frequentes

O que são 'embeddings'?

São representações numéricas de informações (como textos ou imagens) que um computador pode entender. Quanto mais parecidos os números, mais parecidas são as informações originais.

Por que não usar apenas busca por similaridade normal (como cosseno)?

A busca normal pode falhar em capturar relações mais sutis ou a importância estrutural de um item dentro de um conjunto maior de dados.

Posso usar isso para dados em tempo real?

Não, ArrowSpace é projetado para processar dados em lotes (batches) e não é ideal para dados que mudam constantemente em tempo real.

Detalhes

Descrição original do autor

Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2203
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas