入力がある場合、埋め込みと再ランク付けプロセスの最初のステップは、それを トークンのリストに分裂することです。 APIを呼び出すと、サーバーはこのトークン化ステップを自動的に実行します。 Pythonクライアントには、 APIを呼び出す前にトークナイザを試行できるメソッドが含まれています。
tokenize 方式
特定のモデルのテキストのリストをトークン化するには、tokenize メソッドを使用します。
例
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 | タイプ | 必須 | 説明 |
|---|---|---|---|
| 文字列の配列( | はい | トークン化するテキストのリスト。 |
| 文字列 | はい | トークン化するモデルの名前。有効な値は |
このメソッドは tokenizers.Encoding オブジェクトのリストを返します。
属性 | タイプ | 説明 |
|---|---|---|
| 入力テキスト string のトークン化された結果をそれぞれが表す |
count_tokens 方式
特定のモデルのテキストリスト内のトークンの数をカウントするには、count_tokens メソッドを使用します。
例
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 | タイプ | 必須 | 説明 |
|---|---|---|---|
| 文字列の配列( | はい | トークンをカウントするテキストのリスト。 |
| 文字列 | はい | カウントするモデルの名前。有効な値は |
count_usage 方式
特定のモデルの入力リスト内のトークンとドットの数をカウントするには、 count_usage メソッドを使用します。
例
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 | タイプ | 必須 | 説明 |
|---|---|---|---|
| 辞書のリストまたはリストのリスト( | はい | テキスト トークン、イメージ ドット、ビデオ フレーム、合計トークンをカウントするテキスト、イメージ、ビデオ シーケンスのリスト。リスト要素は、イメージ |
| 文字列 | はい | モデルの名前(入力のカウント方法に影響する)。サポートされているモデルは、 |
Considerations
トークナイザを使用する場合は、次の点を考慮してください。
最新の NHP モデルは通常、テキスト string をトークンのリストに変換します。 「自分」や「Apple」などの使用頻度の高い単語は、単独でトークンになります。対照的に、まれに使われる単語や長い単語は複数のトークンに分割されます。例、「un characters」は 4 つのトークンに分割され、"un"、" characters"、"list"、" イベントで" となります。 11.2 単語は、ドメインの複雑度に応じて、平均1.5 から トークンにほぼ対応します。
トークナイザによって生成されたトークンの平均は 5 文字であり、テキスト string の文字数を 5 で割るとトークン数をおおよそ推定できます。トークンの正確な数を判別するには、
count_tokens()メソッドを使用します。Boyage のトークナイザは、Hugingface でも利用できます。次のコードを使用して、特定のモデルに関連付けられているトークナイザにアクセスできます。
from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained('voyageai/voyage-4-large') tiktokenは、一般的なオープンソーストークナイザです。投票モデルでは異なるトークナイザが使用されます。そのため、トークナイザは、特定のテキストに対して、tiktokenとは異なるトークンのリストを生成します。統計的に、当社のトークナイザが生成するトークンの数は平均1.1 1.2tiktokenから の 1 倍であり、トークンの正確な数を判別するには、count_tokens()メソッドを使用します。