grok_tokenizer
Adapted from the Griptape AI Framework documentation.
Bases:
BaseTokenizer
Source Code in griptape/tokenizers/grok_tokenizer.py
@define() class GrokTokenizer(BaseTokenizer): # https://docs.x.ai/docs/models?cluster=us-east-1#model-constraints MODEL_PREFIXES_TO_MAX_INPUT_TOKENS = { "grok-2-vision": 32768, "grok-2": 131072, "grok-vision-beta": 8192, "grok-beta": 131072, } MODEL_PREFIXES_TO_MAX_OUTPUT_TOKENS = {"grok": 4096} base_url: str = field(default="https://api.x.ai", kw_only=True, metadata={"serializable": True}) api_key: str = field(kw_only=True, default=None) headers: dict = field( default=Factory(lambda self: {"Authorization": f"Bearer {self.api_key}"}, takes_self=True), kw_only=True ) def count_tokens(self, text: str) -> int: response = requests.post( urljoin(self.base_url, "/v1/tokenize-text"), headers=self.headers, json={"text": text, "model": self.model}, ) response.raise_for_status() return len(response.json()["token_ids"])
MODEL_PREFIXES_TO_MAX_INPUT_TOKENS = {'grok-2-vision': 32768, 'grok-2': 131072, 'grok-vision-beta': 8192, 'grok-beta': 131072}
class-attribute instance-attributeMODEL_PREFIXES_TO_MAX_OUTPUT_TOKENS = {'grok': 4096}
class-attribute instance-attributeapi_key = field(kw_only=True, default=None)
class-attribute instance-attributebase_url = field(default='https://api.x.ai', kw_only=True, metadata={'serializable': True})
class-attribute instance-attributeheaders = field(default=Factory(lambda self: {'Authorization': f'Bearer {self.api_key}'}, takes_self=True), kw_only=True)
class-attribute instance-attribute
count_tokens(text)
Source Code in griptape/tokenizers/grok_tokenizer.py
def count_tokens(self, text: str) -> int: response = requests.post( urljoin(self.base_url, "/v1/tokenize-text"), headers=self.headers, json={"text": text, "model": self.model}, ) response.raise_for_status() return len(response.json()["token_ids"])
- On this page
- count_tokens(text)
Could this page be better? Report a problem or suggest an addition!