ForHosting KIT · Matemáticas

Calculadora de similitud coseno

Mida cuánto apuntan dos vectores en la misma dirección, de -1 si son opuestos a 1 si coinciden. Como la longitud no cuenta, 1, 2, 3 y 10, 20, 30 obtienen un 1 perfecto, ideal para comparar textos, valoraciones o perfiles de encuestas. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Primer texto
1, 2, 3
Segundo texto
4, -5, 6
Obtiene
N
3
Producto escalar
12
Magnitud de a
3,7416573868
Magnitud de b
8,7749643874

Usted envía las dos listas de componentes —embeddings, pesos de características, conteos de términos, puntuaciones de encuestas— y recibe el producto escalar, ambos módulos y una única puntuación de similitud entre -1 y 1: 1 significa dirección idéntica, 0 significa ortogonal y -1 significa opuesta.

Qué mide realmente la similitud coseno

La distancia euclídea indica a qué distancia están dos puntos; la similitud coseno indica si apuntan en la misma dirección. Esa distinción importa más de lo que parece. Dos documentos pueden tener longitudes muy diferentes y tratar el mismo tema; dos perfiles de cliente pueden diferir en el gasto absoluto y compartir la misma forma de preferencias.

Al dividir el producto escalar entre el producto de los módulos, la similitud coseno elimina la escala y conserva solo la dirección. El resultado siempre cae entre -1 y 1. Una puntuación de 1 significa que los vectores están perfectamente alineados, 0 significa que son ortogonales y no comparten ningún componente direccional, y -1 significa que son exactamente opuestos.

Como el módulo se elimina, un vector [1, 2, 3] y un vector [10, 20, 30] obtienen un 1 perfecto: describen las mismas proporciones con distinta intensidad, que es justo lo que buscan la mayoría de las comparaciones de texto, gustos o comportamiento.

Cómo se calcula la puntuación

Después acumula tres sumas en una sola pasada: el producto escalar Σ aᵢbᵢ y los módulos al cuadrado Σ aᵢ² y Σ bᵢ². La similitud es el producto escalar dividido entre el producto de las raíces cuadradas de los módulos, acotada en [-1, 1] para absorber el ruido de coma flotante y redondeada a doce decimales para que la respuesta sea estable byte a byte entre máquinas.

Si alguno de los vectores tiene módulo cero —todas sus componentes son cero— la división no está definida y la llamada falla con un mensaje explícito, porque un vector cero no tiene dirección que comparar. La respuesta incluye además el producto escalar, ambos módulos, una clasificación legible y los pasos intermedios para que pueda auditar cada cifra.

Dónde encaja en la práctica

La similitud coseno es la métrica de cabecera detrás de la búsqueda semántica, los motores de recomendación, la deduplicación y el control de calidad de clústeres. Si usted almacena embeddings de texto para recuperación, esta es la puntuación que ordena los candidatos; si construye perfiles de usuario como vectores de características, así es como encuentra los vecinos más cercanos.

Para equipos que comparan muchos vectores, el redondeo estable y los casos de error explícitos hacen que sea seguro usarla en pruebas y suites de regresión: las longitudes distintas y los vectores cero fallan ruidosamente en lugar de producir rankings silenciosamente incorrectos.

Ordenar candidatos de embeddings

Puntúe lo cerca que está el embedding de una consulta de cada embedding de documento y ordene los resultados por similitud direccional, no por longitud del vector.

Detectar elementos casi duplicados

Marque dos vectores de características como duplicados cuando su similitud coseno supere un umbral cercano a 1, aunque sus conteos brutos difieran.

Comparar perfiles de preferencias

Encuentre usuarios con la misma forma de gustos comparando vectores normalizados de valoraciones o comportamiento para un motor de recomendación.

¿Cuánto cuesta?

También es gratis ejecutarlo en su navegador en esta página con el mismo código.

¿Qué significa una puntuación de 0?

Los vectores son ortogonales: no comparten ningún componente direccional. Una puntuación de 1 significa dirección idéntica y -1 significa direcciones exactamente opuestas.

¿Qué ocurre con un vector cero?

Un vector cuyas componentes son todas cero no tiene dirección, por lo que la similitud no está definida y la llamada falla con un error claro en lugar de devolver un número engañoso.

¿Afecta el módulo del vector a la puntuación?

No. La puntuación solo mide dirección: [1, 2, 3] y [10, 20, 30] tienen similitud coseno 1 porque sus proporciones son idénticas.

¿Qué formatos de entrada se aceptan?

Las componentes deben ser números finitos dentro de los límites publicados.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

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

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_abs1000000000000
max_dim1000
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

La API de similitud coseno mide cuánto apuntan dos vectores en la misma dirección, independientemente de su longitud. Se ejecuta en una sola pasada determinista, de modo que el número que ve en la versión gratuita del navegador es exactamente el que devuelve la API de pago.

Cómo se calcula la puntuación

El endpoint convierte ambas entradas en vectores de números finitos, aceptando tanto arreglos JSON como texto plano separado por comas, y comprueba que ambos tengan la misma longitud: una comparación entre vectores de distinta dimensión carece de sentido matemático, por lo que se rechaza con un error invalid_input claro en lugar de truncarse en silencio.

Dónde encaja en la práctica

La capacidad se ejecuta en nuestro edge global sin conservar nada tras la petición, y el mismo código determinista que alimenta la API de pago se ejecuta gratis en su navegador en esta página, de modo que puede comprobar un par de vectores pegándolos antes de integrar la llamada en un pipeline. Solo paga cuando lo automatiza: $0.002 por petición, sin recargo por dimensión dentro de los límites publicados.

¿Pueden los vectores tener longitudes distintas?

No. La similitud coseno solo está definida entre vectores de la misma dimensión, por lo que las longitudes distintas se rechazan con un error invalid_input.

Ver la documentación completa del KIT →