mistralai/mistral-inference v1.4.0
mistralai/mistral-inference
Captured source
source ↗published Sep 13, 2024seen 5dcaptured 8hhttp 200method plain
v1.4.0: Pixtral 👀
Repository: mistralai/mistral-inference
Tag: v1.4.0
Published: 2024-09-13T13:09:47Z
Prerelease: no
Release notes: Pixtral
Mistral models can now 👀 !
pip install --upgrade mistral_inference # >= 1.4.0
Download:
from huggingface_hub import snapshot_download
from pathlib import Path
mistral_models_path = Path.home().joinpath('mistral_models', 'Pixtral')
mistral_models_path.mkdir(parents=True, exist_ok=True)
snapshot_download(repo_id="mistralai/Pixtral-12B-2409", allow_patterns=["params.json", "consolidated.safetensors", "tekken.json"], local_dir=mistral_models_path)CLI example:
mistral-chat $HOME/mistral_models/Pixtral --instruct --max_tokens 256 --temperature 0.35
*E.g.* Try out something like:
Text prompt: What can you see on the following picture? [You can input zero, one or more images now.] Image path or url [Leave empty and press enter to finish image input]: https://picsum.photos/id/237/200/300 Image path or url [Leave empty and press enter to finish image input]: I see a black dog lying on a wooden surface. The dog appears to be looking up, and its eyes are clearly visible.
Python:
1. Load the model
from mistral_inference.transformer import Transformer
from mistral_inference.generate import generate
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.protocol.instruct.messages import UserMessage, TextChunk, ImageURLChunk
from mistral_common.protocol.instruct.request import ChatCompletionRequest
tokenizer = MistralTokenizer.from_file(f"{mistral_models_path}/tekken.json")
model = Transformer.from_folder(mistral_models_path)2. Run:
url = "https://huggingface.co/datasets/patrickvonplaten/random_img/resolve/main/yosemite.png" prompt = "Describe the image." completion_request = ChatCompletionRequest(messages=[UserMessage(content=[ImageURLChunk(image_url=url), TextChunk(text=prompt)])]) encoded = tokenizer.encode_chat_completion(completion_request) images = encoded.images tokens = encoded.tokens out_tokens, _ = generate([tokens], model, images=[images], max_tokens=256, temperature=0.35, eos_id=tokenizer.instruct_tokenizer.tokenizer.eos_id) result = tokenizer.decode(out_tokens[0]) print(result)
Notability
notability 6.0/10Inference code update from notable lab.