ForHosting KIT · Matemática

Calculadora de similaridade de cosseno

Meça o quanto dois vetores apontam na mesma direção, de -1 quando são opostos a 1 quando coincidem. Como o comprimento não conta, 1, 2, 3 e 10, 20, 30 recebem um 1 perfeito, bom para comparar textos, avaliações ou perfis de pesquisa. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Primeiro texto
1, 2, 3
Segundo texto
4, -5, 6
Você obtém
N
3
Produto escalar
12
Magnitude de a
3,7416573868
Magnitude de b
8,7749643874

Você envia as duas listas de componentes — embeddings, pesos de características, contagens de termos, pontuações de pesquisas — e recebe o produto escalar, as duas magnitudes e uma única pontuação de similaridade entre -1 e 1: 1 significa direção idêntica, 0 significa ortogonal e -1 significa oposta.

O que a similaridade de cosseno realmente mede

A distância euclidiana informa a que distância dois pontos estão; a similaridade de cosseno informa se eles apontam na mesma direção. Essa distinção importa mais do que parece à primeira vista. Dois documentos podem ter comprimentos muito diferentes e ainda assim tratar do mesmo assunto; dois perfis de clientes podem diferir no gasto absoluto e ainda compartilhar a mesma forma de preferências.

Ao dividir o produto escalar pelo produto das magnitudes, a similaridade de cosseno remove a escala e mantém apenas a direção. O resultado sempre fica entre -1 e 1. Uma pontuação de 1 significa que os vetores estão perfeitamente alinhados, 0 significa que são ortogonais e não compartilham nenhum componente direcional, e -1 significa que são exatamente opostos.

Como a magnitude é removida, um vetor [1, 2, 3] e um vetor [10, 20, 30] obtêm um 1 perfeito: descrevem as mesmas proporções em intensidades diferentes, que é exatamente o que a maioria das comparações de texto, gosto ou comportamento procura.

Como a pontuação é calculada

Em seguida, acumula três somas em uma única passagem: o produto escalar Σ aᵢbᵢ e as magnitudes ao quadrado Σ aᵢ² e Σ bᵢ². A similaridade é o produto escalar dividido pelo produto das raízes quadradas das magnitudes, limitada ao intervalo [-1, 1] para absorver o ruído de ponto flutuante e arredondada em doze casas decimais para que a resposta seja estável byte a byte entre máquinas.

Se algum dos vetores tiver magnitude zero — todos os componentes são zero — a divisão é indefinida e a chamada falha com uma mensagem explícita, porque um vetor zero não tem direção a comparar. A resposta também inclui o produto escalar, as duas magnitudes, uma classificação legível e os passos intermediários para que você possa auditar cada valor.

Onde ela se encaixa na prática

A similaridade de cosseno é a métrica fundamental por trás da busca semântica, dos mecanismos de recomendação, da desduplicação e das verificações de qualidade de clusters. Se você armazena embeddings de texto para recuperação, esta é a pontuação que classifica os candidatos; se constrói perfis de usuário como vetores de características, é assim que encontra os vizinhos mais próximos.

Para equipes que comparam muitos vetores, o arredondamento estável e os casos de erro explícitos tornam o uso seguro em testes e suítes de regressão: comprimentos diferentes e vetores zero falham de forma visível em vez de produzir rankings silenciosamente errados.

Classificar candidatos de embeddings

Pontue o quão próximo o embedding de uma consulta está de cada embedding de documento e ordene os resultados por similaridade direcional, não pelo comprimento do vetor.

Detectar itens quase duplicados

Marque dois vetores de características como duplicados quando a similaridade de cosseno ficar acima de um limiar próximo de 1, mesmo que as contagens brutas difiram.

Comparar perfis de preferência

Encontre usuários com a mesma forma de gosto comparando vetores normalizados de avaliações ou comportamento para um mecanismo de recomendação.

Quanto custa?

Também é grátis executar no seu navegador nesta página com o mesmo código.

O que significa uma pontuação de 0?

Os vetores são ortogonais: não compartilham nenhum componente direcional. Uma pontuação de 1 significa direção idêntica e -1 significa direções exatamente opostas.

O que acontece com um vetor zero?

Um vetor cujos componentes são todos zero não tem direção, portanto a similaridade é indefinida e a chamada falha com um erro claro em vez de retornar um número enganoso.

A magnitude do vetor afeta a pontuação?

Não. A pontuação mede apenas a direção: [1, 2, 3] e [10, 20, 30] têm similaridade de cosseno 1 porque suas proporções são idênticas.

Quais formatos de entrada são aceitos?

Os componentes devem ser números finitos dentro dos limites publicados.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/math/cosine-similarity

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/math/cosine-similarity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":[1,2,3],"b":[4,-5,6]}'
{
  "a": [
    1,
    2,
    3
  ],
  "b": [
    4,
    -5,
    6
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.cosine_similarity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_abs1000000000000
max_dim1000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

A API de similaridade de cosseno mede o quanto dois vetores apontam na mesma direção, independentemente do seu comprimento. A execução ocorre em uma única passagem determinista, de modo que o número que você vê na versão gratuita do navegador é exatamente o número que a API paga retorna.

Como a pontuação é calculada

O endpoint converte as duas entradas em vetores de números finitos, aceitando tanto arrays JSON quanto texto simples separado por vírgulas, e verifica se ambos têm o mesmo comprimento — uma comparação entre vetores de dimensões diferentes é matematicamente sem sentido, por isso é rejeitada com um erro invalid_input claro em vez de ser truncada silenciosamente.

Onde ela se encaixa na prática

A capacidade roda na nossa edge global sem manter nada após a requisição, e o mesmo código determinista que alimenta a API paga roda grátis no seu navegador nesta página, de modo que você pode verificar um par de vetores colando-os antes de integrar a chamada em um pipeline. Você só paga quando automatiza: US$ 0,002 por requisição, sem sobretaxa por dimensão dentro dos limites publicados.

Os vetores podem ter comprimentos diferentes?

Não. A similaridade de cosseno só é definida entre vetores da mesma dimensão, portanto comprimentos diferentes são rejeitados com um erro invalid_input.

Ver a documentação completa do KIT →