Loading...
  • Construir
  • Administración
  • Modelos y precios
  • SDKs de cliente
  • Referencia de API
Search...
⌘K
Log in
Embeddings
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Construir/Capacidades del modelo

Embeddings

Los embeddings de texto son representaciones numéricas del texto que permiten medir la similitud semántica. Esta guía introduce los embeddings, sus aplicaciones y cómo usar modelos de embeddings para tareas como búsqueda, recomendaciones y detección de anomalías.

Antes de implementar embeddings

Al seleccionar un proveedor de embeddings, hay varios factores que puede considerar según sus necesidades y preferencias:

  • Tamaño del conjunto de datos y especificidad del dominio: tamaño del conjunto de datos de entrenamiento del modelo y su relevancia para el dominio que desea incrustar. Los datos más grandes o más específicos del dominio generalmente producen mejores embeddings dentro del dominio
  • Rendimiento de inferencia: velocidad de búsqueda de embeddings y latencia de extremo a extremo. Esta es una consideración particularmente importante para implementaciones de producción a gran escala
  • Personalización: opciones para entrenamiento continuo en datos privados o especialización de modelos para dominios muy específicos. Esto puede mejorar el rendimiento en vocabularios únicos

Cómo obtener embeddings con Anthropic

Anthropic no ofrece su propio modelo de embeddings. Un proveedor de embeddings que tiene una amplia variedad de opciones y capacidades que abarcan todas las consideraciones anteriores es Voyage AI.

Voyage AI crea modelos de embeddings de última generación y ofrece modelos personalizados para dominios industriales específicos como finanzas y atención médica, o modelos ajustados a medida para clientes individuales.

El resto de esta guía es para Voyage AI, pero debe evaluar una variedad de proveedores de embeddings para encontrar el mejor ajuste para su caso de uso específico.

Modelos disponibles

Voyage recomienda usar los siguientes modelos de embeddings de texto:

ModeloLongitud de contextoDimensión de embeddingsDescripción
voyage-3-large32,0001024 (predeterminado), 256, 512, 2048La mejor calidad de recuperación de propósito general y multilingüe. Consulte la publicación de blog para obtener detalles.
voyage-3.532,0001024 (predeterminado), 256, 512, 2048Optimizado para calidad de recuperación de propósito general y multilingüe. Consulte la publicación de blog para obtener detalles.
voyage-3.5-lite32,0001024 (predeterminado), 256, 512, 2048Optimizado para latencia y costo. Consulte la publicación de blog para obtener detalles.
voyage-code-332,0001024 (predeterminado), 256, 512, 2048Optimizado para recuperación de código. Consulte la publicación de blog para obtener detalles.
voyage-finance-232,0001024Optimizado para recuperación y RAG de finanzas. Consulte la publicación de blog para obtener detalles.
voyage-law-216,0001024Optimizado para recuperación y RAG de legal y contexto largo. También mejoró el rendimiento en todos los dominios. Consulte la publicación de blog para obtener detalles.

Además, se recomiendan los siguientes modelos de embeddings multimodales:

ModeloLongitud de contextoDimensión de embeddingsDescripción
voyage-multimodal-3320001024Modelo de embeddings multimodal enriquecido que puede vectorizar texto intercalado e imágenes ricas en contenido, como capturas de pantalla de PDF, diapositivas, tablas, figuras y más. Consulte la publicación de blog para obtener detalles.

¿Necesita ayuda para decidir qué modelo de embeddings de texto usar? Consulte las Preguntas frecuentes.

Comenzar con Voyage AI

Para acceder a los embeddings de Voyage:

  1. Regístrese en el sitio web de Voyage AI
  2. Obtenga una clave API
  3. Establezca la clave API como una variable de entorno para mayor comodidad:
export VOYAGE_API_KEY="<your secret key>"

Puede obtener los embeddings utilizando el paquete oficial de Python voyageai o solicitudes HTTP, como se describe a continuación.

Biblioteca de Python de Voyage

El paquete voyageai se puede instalar usando el siguiente comando:

pip install -U voyageai

Luego, puede crear un objeto cliente y comenzar a usarlo para incrustar sus textos:

import voyageai

vo = voyageai.Client()
# This will automatically use the environment variable VOYAGE_API_KEY.
# Alternatively, you can use vo = voyageai.Client(api_key="<your secret key>")

texts = ["Sample text 1", "Sample text 2"]

result = vo.embed(texts, model="voyage-3.5", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])

result.embeddings será una lista de dos vectores de embeddings, cada uno conteniendo 1024 números de punto flotante. Después de ejecutar el código anterior, los dos embeddings se imprimirán en la pantalla:

[-0.013131560757756233, 0.019828535616397858, ...]   # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...]  # embedding for "Sample text 2"

Al crear los embeddings, puede especificar algunos otros argumentos para la función embed().

Para obtener más información sobre el paquete de Python de Voyage, consulte la documentación de Voyage.

API HTTP de Voyage

También puede obtener embeddings solicitando la API HTTP de Voyage. Por ejemplo, puede enviar una solicitud HTTP a través del comando curl en una terminal:

curl https://api.voyageai.com/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $VOYAGE_API_KEY" \
  -d '{
    "input": ["Sample text 1", "Sample text 2"],
    "model": "voyage-3.5"
  }'

La respuesta que obtendría es un objeto JSON que contiene los embeddings y el uso de tokens:

{
  "object": "list",
  "data": [
    {
      "embedding": [-0.013131560757756233, 0.019828535616397858 /* ... */],
      "index": 0
    },
    {
      "embedding": [-0.0069352793507277966, 0.020878976210951805 /* ... */],
      "index": 1
    }
  ],
  "model": "voyage-3.5",
  "usage": {
    "total_tokens": 10
  }
}

Para obtener más información sobre la API HTTP de Voyage, consulte la documentación de Voyage.

AWS Marketplace

Los embeddings de Voyage están disponibles en AWS Marketplace. Las instrucciones para acceder a Voyage en AWS están disponibles en la documentación de AWS Marketplace de Voyage.

Ejemplo de inicio rápido

El siguiente breve ejemplo muestra cómo usar embeddings.

Supongamos que tiene un pequeño corpus de seis documentos de los que recuperar

documents = [
    "The Mediterranean diet emphasizes fish, olive oil, and vegetables, believed to reduce chronic diseases.",
    "Photosynthesis in plants converts light energy into glucose and produces essential oxygen.",
    "20th-century innovations, from radios to smartphones, centered on electronic advancements.",
    "Rivers provide water, irrigation, and habitat for aquatic species, vital for ecosystems.",
    "Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.",
    "Shakespeare's works, like 'Hamlet' and 'A Midsummer Night's Dream,' endure in literature.",
]

Primero, use Voyage para convertir cada documento en un vector de embeddings

import voyageai

vo = voyageai.Client()

# Embed the documents
doc_embds = vo.embed(documents, model="voyage-3.5", input_type="document").embeddings

Los embeddings le permiten hacer búsqueda semántica / recuperación en el espacio vectorial. Dado un ejemplo de consulta,

query = "When is Apple's conference call scheduled?"

A continuación, conviértalo en un embeddings y realice una búsqueda del vecino más cercano para encontrar el documento más relevante basado en la distancia en el espacio de embeddings.

import numpy as np

# Embed the query
query_embd = vo.embed([query], model="voyage-3.5", input_type="query").embeddings[0]

# Compute the similarity
# Voyage embeddings are normalized to length 1, therefore dot-product
# and cosine similarity are the same.
similarities = np.dot(doc_embds, query_embd)

retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])

Tenga en cuenta que input_type="document" e input_type="query" se utilizan para incrustar el documento y la consulta, respectivamente. Se puede encontrar más especificación en la sección del paquete de Python de Voyage.

El resultado sería el 5º documento, que es de hecho el más relevante para la consulta:

Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.

Si está buscando un conjunto detallado de libros de cocina sobre cómo hacer RAG con embeddings, incluidas bases de datos vectoriales, consulte el libro de cocina de RAG.

Preguntas frecuentes

Precios

Visite la página de precios de Voyage para obtener los detalles de precios más actualizados.

Was this page helpful?

  • Antes de implementar embeddings
  • Cómo obtener embeddings con Anthropic
  • Modelos disponibles
  • Comenzar con Voyage AI
  • Biblioteca de Python de Voyage
  • API HTTP de Voyage
  • AWS Marketplace
  • Ejemplo de inicio rápido
  • Preguntas frecuentes
  • Precios