No project description provided
Project description
Mistral Common
What is it?
mistral-common is a set of tools to help you work with Mistral models.
Our first release contains tokenization. Our tokenizers go beyond the usual text <-> tokens, adding parsing of tools and structured conversation. We also release the validation and normalization code that is used in our API.
We are releasing three versions of our tokenizer powering different sets of models.
|
|
Installation
pip
You can install mistral-common
via pip:
pip install mistral-common
From Source
Alternatively, you can install from source directly. This repo uses poetry as a dependency and virtual environment manager.
You can install poetry with
pip install poetry
poetry will set up a virtual environment and install dependencies with the following command:
poetry install
Examples
# Import needed packages:
from mistral_common.protocol.instruct.messages import (
UserMessage,
)
from mistral_common.protocol.instruct.request import ChatCompletionRequest
from mistral_common.protocol.instruct.tool_calls import (
Function,
Tool,
)
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
# Load Mistral tokenizer
model_name = "open-mixtral-8x22b"
tokenizer = MistralTokenizer.from_model(model_name)
# Tokenize a list of messages
tokenized = tokenizer.encode_chat_completion(
ChatCompletionRequest(
tools=[
Tool(
function=Function(
name="get_current_weather",
description="Get the current weather",
parameters={
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
},
"format": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The temperature unit to use. Infer this from the users location.",
},
},
"required": ["location", "format"],
},
)
)
],
messages=[
UserMessage(content="What's the weather like today in Paris"),
],
model=model_name,
)
)
tokens, text = tokenized.tokens, tokenized.text
# Count the number of tokens
print(len(tokens))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mistral_common-1.4.1.tar.gz
.
File metadata
- Download URL: mistral_common-1.4.1.tar.gz
- Upload date:
- Size: 5.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05157ec50c152b3c3b1658d96c16afa4b6c02434696c4befdd448e308fb5a387 |
|
MD5 | b892d18b4f6c362f3334d0d504c521d0 |
|
BLAKE2b-256 | 44f5eeda1fb85917f823e36a4040b6cdd8e07ba40cc48139950688bae481e5aa |
File details
Details for the file mistral_common-1.4.1-py3-none-any.whl
.
File metadata
- Download URL: mistral_common-1.4.1-py3-none-any.whl
- Upload date:
- Size: 6.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2f7bfc6976d157a51dc7fd700d6bdccb850c4a72695fbc90cb84b4b35947584 |
|
MD5 | 5a7e04546f713de464217ea11d70a316 |
|
BLAKE2b-256 | dced276756f459be651702aff8c1af06552881294786658ec65b5d2fca890797 |