Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Tokenización

Dado un dato de entrada, el primer paso del proceso de incrustación y reclasificación es la división en una lista de tokens. Nuestros servidores realizan automáticamente este paso de tokenización cuando llamas a la API. El cliente de Python incluye métodos que permiten probar el tokenizador antes de llamar a la API.

Utiliza el método tokenize para tokenizar una lista de textos para un modelo específico.

Ejemplo

import voyageai
# Initialize client (uses VOYAGE_API_KEY environment variable)
vo = voyageai.Client()
texts = [
"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."
]
# Tokenize the texts
tokenized = vo.tokenize(texts, model="voyage-4-large")
for i in range(len(texts)):
print(tokenized[i].tokens)
['The', 'ĠMediterranean', 'Ġdiet', 'Ġemphasizes', 'Ġfish', ',', 'Ġolive', 'Ġoil', ',', 'Ġand', 'Ġvegetables', ',', 'Ġbelieved', 'Ġto', 'Ġreduce', 'Ġchronic', 'Ġdiseases', '.']
['Photos', 'ynthesis', 'Ġin', 'Ġplants', 'Ġconverts', 'Ġlight', 'Ġenergy', 'Ġinto', 'Ġglucose', 'Ġand', 'Ġproduces', 'Ġessential', 'Ġoxygen', '.']

Consultar los parámetros para el método tokenizar.

Parameter
Tipo
Requerido
Descripción

texts

Arreglo de cadenas (List[str])

Una lista de textos para ser tokenizados.

model

String

Nombre del modelo que se debe tokenizar. Valores válidos: voyage-4-large, voyage-4, voyage-4-lite, rerank-2.5, rerank-2.5-lite, voyage-multimodal-3.5, voyage-multimodal-3.

Consulta la respuesta para el método de tokenización.

Este método devuelve una lista de objetos tokenizers.Encoding:

Atributo
Tipo
Descripción

tokens

Una lista de tokenizers.Encoding objetos, cada uno representando los resultados tokenizados de una string de entrada.

Utiliza el método count_tokens para contar la cantidad de tokens en una lista de textos para un modelo específico.

Ejemplo

import voyageai
# Initialize client (uses VOYAGE_API_KEY environment variable)
vo = voyageai.Client()
texts = [
"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."
]
# Count total tokens
total_tokens = vo.count_tokens(texts, model="voyage-4-large")
print(total_tokens)
32

Visualiza los parámetros del método count_tokens.

Parameter
Tipo
Requerido
Descripción

texts

Arreglo de cadenas (List[str])

Una lista de textos para contar los tokens.

model

String

Nombre del modelo a contar. Valores válidos: voyage-4-large, voyage-4, voyage-4-lite, rerank-2.5, rerank-2.5-lite, voyage-multimodal-3.5, voyage-multimodal-3.

Consulta la respuesta para el método count_tokens.

Este método devuelve un número entero:

Atributo
Tipo
Descripción

total_tokens

entero

La cantidad total de tokens en los textos de entrada.

Utilice el método count_usage para contar la cantidad de token y píxeles en una lista de entradas para un modelo específico.

Nota

Los modelos de incrustación de Voyage tienen límites de longitud de contexto. Si el texto supera el límite, puedes truncar el texto antes de llamar a la API o especificar el argumento truncation para True.

Ejemplo

import voyageai
import PIL
# Initialize client (uses VOYAGE_API_KEY environment variable)
vo = voyageai.Client()
# Create input with text and image
inputs = [
["This is a banana.", PIL.Image.open('banana.jpg')]
]
# Count tokens and pixels
usage = vo.count_usage(inputs, model="voyage-multimodal-3.5")
print(usage)
{'text_tokens': 5, 'image_pixels': 2000000, 'total_tokens': 3576}

Vea los parámetros para el método count_usage.

Parameter
Tipo
Requerido
Descripción

inputs

Lista de diccionarios o Lista de listas (List[dict] o List[List[Union[str, PIL.Image.Image]]])

Una lista de secuencias de texto, imagen y video para las que hay que contar tokens de texto, píxeles de imagen, fotogramas de vídeo y el total de tokens. Los elementos de la lista siguen el mismo formato que el parámetro inputs de voyageai.Client.multimodal_embed(), excepto que los URLs de imágenes no están soportados. Para obtener más información, consulte Embeddings multimodales.

model

String

Nombre del modelo (que afecta cómo se cuentan las entradas). Los modelos compatibles son voyage-multimodal-3.5 (recomendado) y voyage-multimodal-3. Para otros modelos que solo admiten texto, use la función voyageai.Client.count_tokens() para calcular los recuentos de tokens.

Ver la respuesta para el método count_usage.

Este método devuelve un diccionario que contiene los siguientes atributos:

Atributo
Tipo
Descripción

text_tokens

entero

El número total de tokens de texto en la lista de entradas.

image_pixels

entero

La cantidad total de píxeles de imagen en la lista de entradas.

video_pixels

entero

El número total de píxeles de vídeo en la lista de entradas.

total_tokens

entero

El total combinado de tokens de texto, imagen y video. Cada 560 píxel de imagen cuenta como un token, mientras que cada 1120 píxel de video cuenta como un token.

Ten en cuenta lo siguiente al usar el tokenizador:

  • Los modelos NLP modernos suelen convertir una cadena de texto en una lista de tokens. Palabras frecuentes, como "tú" y "manzana", son tokens en sí mismos. En contraste, palabras raras o largas se dividen en varios tokens, por ejemplo, "uncharacteristically" se descompone en cuatro tokens: "un", "character", "ist" e "ically". Una palabra corresponde aproximadamente a 1.2 a 1.5 tokens en promedio, dependiendo de la complejidad del dominio.

    Los tokens producidos por nuestro tokenizador tienen un promedio de 5 caracteres, lo que sugiere que puedes estimar aproximadamente el número de tokens dividiendo el número de caracteres en el texto string por 5. Para determinar el número exacto de tokens, utilice el método count_tokens().

  • Los tokenizadores de Voyage también están disponibles en Hugging Face. Puedes acceder al tokenizador asociado con un modelo en particular utilizando el siguiente código:

    from transformers import AutoTokenizer
    tokenizer = AutoTokenizer.from_pretrained('voyageai/voyage-4-large')
  • tiktoken es un popular tokenizador de código abierto. Los modelos Voyage utilizan diferentes tokenizadores. Por lo tanto, nuestro tokenizador genera una lista diferente de tokens para un texto determinado en comparación con tiktoken. Estadísticamente, el número de tokens producidos por nuestro tokenizador es en promedio de 1.1 a 1.2 veces el de tiktoken. Para determinar el número exacto de tokens, usa el método count_tokens().