Dado un input, el primer paso del proceso de embedding y reranking es la división en una lista de Tokens. Nuestros servidores realizan automáticamente este paso de tokenización al llamar a la API. El cliente Python incluye métodos que permiten probar el tokenizador antes de llamar a la API.
tokenize Método
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', '.']
Parameter | Tipo | Requerido | Descripción |
|---|---|---|---|
| Matriz de cadenas ( | Sí | Una lista de textos para ser tokenizados. |
| String | Sí | Nombre del modelo que se debe tokenizar. Valores válidos: |
Este método devuelve una lista de objetos tokenizers.Encoding:
Atributo | Tipo | Descripción |
|---|---|---|
| Lista de tokenizadores.Codificación | Una lista de |
count_tokens Método
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
Parameter | Tipo | Requerido | Descripción |
|---|---|---|---|
| Matriz de cadenas ( | Sí | Una lista de textos para contar los tokens. |
| String | Sí | Nombre del modelo a contar. Valores válidos: |
count_usage Método
Utilice el método count_usage para contar la cantidad de tokens y píxeles en una lista de entradas para un modelo específico.
Nota
Los modelos de incrustación de viajes tienen límites de longitud de contexto. Si el texto supera el límite, trunca el texto antes de llamar a la API o especifica el truncation argumento True en.
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}
Parameter | Tipo | Requerido | Descripción |
|---|---|---|---|
| Lista de diccionarios o Lista de listas ( | Sí | Una lista de secuencias de texto, imágenes y vídeo para las que se contabilizan los tokens de texto, los píxeles de imagen, los fotogramas de vídeo y el total de tokens. Los elementos de lista siguen el mismo formato que el |
| String | Sí | Nombre del modelo (que afecta el conteo de las entradas). Los modelos compatibles son |
Este método devuelve un diccionario que contiene los siguientes atributos:
Atributo | Tipo | Descripción |
|---|---|---|
| entero | El número total de tokens de texto en la lista de entradas. |
| entero | El número total de píxeles de imagen en la lista de entradas. |
| entero | El número total de píxeles de vídeo en la lista de entradas. |
| 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. |
Considerations
Tenga en cuenta lo siguiente al utilizar 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') tiktokenes 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 contiktoken. Estadísticamente, el número de tokens producidos por nuestro tokenizador es en promedio de 1.1 a 1.2 veces el detiktoken. Para determinar el número exacto de tokens, usa el métodocount_tokens().