Dada una entrada, el primer paso del proceso de incrustación y reclasificación es dividirla 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
Utilice 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 que serán tokenizados. |
| String | Sí | Nombre del modelo que se debe tokenizar. Valores válidos: |
Este método devuelve una lista de tokenizers.Encoding objetos:
Atributo | Tipo | Descripción |
|---|---|---|
| Lista de tokenizadores.Codificación | Una lista de |
count_tokens Método
Utilice 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 que se contabilizará. 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 | La suma total de tokens de texto, imagen y vídeo. Cada 560 píxeles de imagen cuenta como un token, mientras que cada 1120 píxeles de vídeo cuenta como un token. |
Considerations
Tenga en cuenta lo siguiente al utilizar el tokenizador:
Los modelos modernos de PLN suelen convertir una cadena de texto en una lista de tokens. Palabras frecuentes, como "tú" y "manzana", son tokens por sí mismas. En cambio, las palabras raras o largas se dividen en múltiples tokens; por ejemplo, "uncharacteristically" se divide en cuatro tokens: "un", "character", "ist" y "ically". Una palabra corresponde aproximadamente a un promedio de 1.2 a 1.5 tokens, dependiendo de la complejidad del dominio.
Los tokens generados por nuestro tokenizador tienen un promedio de 5 caracteres, lo que sugiere que se puede estimar aproximadamente el número de tokens dividiendo el número de caracteres de la cadena de texto entre 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 a un modelo específico usando 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 de viaje utilizan diferentes tokenizadores. Por lo tanto, nuestro tokenizador genera una lista de tokens diferente para un texto dado quetiktoken. Estadísticamente, la cantidad de tokens generados por nuestro tokenizador es, en promedio, de 1.1 a 1.2 veces mayor quetiktoken. Para determinar la cantidad exacta de tokens, utilice el métodocount_tokens().