Al seleccionar un proveedor de embeddings, hay varios factores que puedes considerar según tus necesidades y preferencias:
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 salud, o modelos con "fine-tuning" (ajuste fino) a medida para clientes individuales.
El resto de esta guía es para Voyage AI, pero deberías evaluar una variedad de proveedores de embeddings para encontrar el que mejor se adapte a tu caso de uso específico.
Voyage recomienda usar los siguientes modelos de embeddings de texto:
Voyage 4 (última generación)
| Modelo | Longitud de contexto | Dimensión del embedding | Descripción |
|---|---|---|---|
voyage-4-large | 32,000 | 1024 (predeterminado), 256, 512, 2048 | La mejor calidad de recuperación de propósito general y multilingüe. Consulta la publicación del blog para más detalles. |
voyage-4 | 32,000 | 1024 (predeterminado), 256, 512, 2048 | Optimizado para calidad de recuperación de propósito general y multilingüe. Equilibra calidad y eficiencia. Consulta la publicación del blog para más detalles. |
voyage-4-lite | 32,000 | 1024 (predeterminado), 256, 512, 2048 | Optimizado para latencia y costo. Consulta la publicación del blog para más detalles. |
voyage-4-nano | 32,000 | 1024 (predeterminado), 256, 512, 2048 | Modelo de pesos abiertos (licencia Apache 2.0) disponible en Hugging Face. Consulta la publicación del blog para más detalles. |
Generación anterior
| Modelo | Longitud de contexto | Dimensión del embedding | Descripción |
|---|---|---|---|
voyage-3-large | 32,000 | 1024 (predeterminado), 256, 512, 2048 | La mejor calidad de recuperación de propósito general y multilingüe. Consulta la publicación del blog para más detalles. |
voyage-3.5 | 32,000 | 1024 (predeterminado), 256, 512, 2048 | Optimizado para calidad de recuperación de propósito general y multilingüe. Consulta la publicación del blog para más detalles. |
voyage-3.5-lite | 32,000 | 1024 (predeterminado), 256, 512, 2048 | Optimizado para latencia y costo. Consulta la publicación del blog para más detalles. |
voyage-code-3 | 32,000 | 1024 (predeterminado), 256, 512, 2048 | Optimizado para recuperación de código. Consulta la publicación del blog para más detalles. |
voyage-finance-2 | 32,000 | 1024 | Optimizado para recuperación y RAG en finanzas. Consulta la publicación del blog para más detalles. |
voyage-law-2 | 16,000 | 1024 | Optimizado para recuperación y RAG en el ámbito legal y de contexto largo. También mejora el rendimiento en todos los dominios. Consulta la publicación del blog para más detalles. |
Además, se recomiendan los siguientes modelos de embeddings multimodales:
| Modelo | Longitud de contexto | Dimensión del embedding | Descripción |
|---|---|---|---|
voyage-multimodal-3.5 | 32,000 | 1024 (predeterminado), 256, 512, 2048 | Modelo de embeddings multimodal enriquecido que puede vectorizar texto, imágenes y videos intercalados. Incluye soporte de video como el primer modelo de embeddings de video de nivel de producción. Consulta la publicación del blog para más detalles. |
voyage-multimodal-3 | 32,000 | 1024 | Modelo de embeddings multimodal enriquecido que puede vectorizar texto intercalado e imágenes ricas en contenido, como capturas de pantalla de PDFs, diapositivas, tablas, figuras y más. Consulta la publicación del blog para más detalles. |
¿Necesitas ayuda para decidir qué modelo de embeddings de texto usar? Consulta las preguntas frecuentes.
Para acceder a los embeddings de Voyage:
export VOYAGE_API_KEY="<your secret key>"Puedes obtener los embeddings usando el paquete oficial de Python voyageai o mediante solicitudes HTTP, como se describe a continuación.
El paquete voyageai se puede instalar usando el siguiente comando:
pip install -U voyageaiLuego, puedes crear un objeto cliente y comenzar a usarlo para generar embeddings de tus textos:
import voyageai
vo = voyageai.Client()
# Esto usará automáticamente la variable de entorno VOYAGE_API_KEY.
# Alternativamente, puedes usar vo = voyageai.Client(api_key="<tu clave secreta>")
texts = ["Sample text 1", "Sample text 2"]
result = vo.embed(texts, model="voyage-4", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])result.embeddings será una lista de dos vectores de embedding, cada uno con 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, puedes especificar algunos otros argumentos para la función embed().
Para obtener más información sobre el paquete de Python de Voyage, consulta la documentación de Voyage.
También puedes obtener embeddings solicitando la API HTTP de Voyage. Por ejemplo, puedes 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-4"
}'La respuesta que obtendrás 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-4",
"usage": {
"total_tokens": 10
}
}Para obtener más información sobre la API HTTP de Voyage, consulta la documentación de Voyage.
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 Voyage para AWS Marketplace.
El siguiente ejemplo breve muestra cómo usar embeddings.
Supongamos que tienes un pequeño corpus de seis documentos de los cuales recuperar información
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, usa Voyage para convertir cada documento en un vector de embedding
import voyageai
vo = voyageai.Client()
# Genera los embeddings de los documentos
doc_embds = vo.embed(documents, model="voyage-4", input_type="document").embeddingsLos embeddings te permiten hacer búsqueda / recuperación semántica en el espacio vectorial. Dada una consulta de ejemplo,
query = "When is Apple's conference call scheduled?"A continuación, conviértela en un embedding y realiza una búsqueda de vecino más cercano para encontrar el documento más relevante según la distancia en el espacio de embeddings.
import numpy as np
# Genera el embedding de la consulta
query_embd = vo.embed([query], model="voyage-4", input_type="query").embeddings[0]
# Calcula la similitud
# Los embeddings de Voyage están normalizados a longitud 1, por lo que el producto punto
# y la similitud coseno son equivalentes.
similarities = np.dot(doc_embds, query_embd)
retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])Ten en cuenta que input_type="document" e input_type="query" se usan para generar el embedding del documento y de la consulta, respectivamente. Puedes encontrar más especificaciones en Biblioteca de Python de Voyage.
La salida sería el quinto documento, que es efectivamente 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 buscas un conjunto detallado de cookbooks sobre cómo hacer RAG con embeddings, incluyendo bases de datos vectoriales, consulta el cookbook de RAG.
Visita la página de precios de Voyage para obtener los detalles de precios más actualizados.
Was this page helpful?