Image-Text-to-Text
Transformers
Safetensors
nexa_vision_moe
text-generation
conversational
custom_code
Instructions to use Neura-Tech-AI/Nexa-AI-VL-4x4B-Base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Neura-Tech-AI/Nexa-AI-VL-4x4B-Base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Neura-Tech-AI/Nexa-AI-VL-4x4B-Base", trust_remote_code=True) messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("Neura-Tech-AI/Nexa-AI-VL-4x4B-Base", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Neura-Tech-AI/Nexa-AI-VL-4x4B-Base with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Neura-Tech-AI/Nexa-AI-VL-4x4B-Base" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Neura-Tech-AI/Nexa-AI-VL-4x4B-Base", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/Neura-Tech-AI/Nexa-AI-VL-4x4B-Base
- SGLang
How to use Neura-Tech-AI/Nexa-AI-VL-4x4B-Base with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Neura-Tech-AI/Nexa-AI-VL-4x4B-Base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Neura-Tech-AI/Nexa-AI-VL-4x4B-Base", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Neura-Tech-AI/Nexa-AI-VL-4x4B-Base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Neura-Tech-AI/Nexa-AI-VL-4x4B-Base", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use Neura-Tech-AI/Nexa-AI-VL-4x4B-Base with Docker Model Runner:
docker model run hf.co/Neura-Tech-AI/Nexa-AI-VL-4x4B-Base
| from transformers import ProcessorMixin, AutoImageProcessor, AutoTokenizer | |
| class NexaVisionMoEProcessor(ProcessorMixin): | |
| attributes = ["image_processor", "tokenizer"] | |
| image_processor_class = "AutoImageProcessor" | |
| tokenizer_class = "AutoTokenizer" | |
| def __init__(self, image_processor=None, tokenizer=None, **kwargs): | |
| if image_processor is None: | |
| image_processor = AutoImageProcessor.from_pretrained("google/siglip2-so400m-patch16-naflex") | |
| if tokenizer is None: | |
| tokenizer = AutoTokenizer.from_pretrained("Neura-Tech-AI/Nexa-AI-4x4B-Instruct") | |
| super().__init__(image_processor, tokenizer, **kwargs) | |
| def __call__(self, text=None, images=None, return_tensors="pt", **kwargs): | |
| if text is None and images is None: | |
| raise ValueError("You must provide either text or images.") | |
| output_kwargs = {} | |
| if images is not None: | |
| image_inputs = self.image_processor(images, return_tensors=return_tensors, **kwargs) | |
| output_kwargs.update(image_inputs) | |
| if text is not None: | |
| text_inputs = self.tokenizer(text, return_tensors=return_tensors, **kwargs) | |
| output_kwargs.update(text_inputs) | |
| return output_kwargs | |
| def batch_decode(self, *args, **kwargs): | |
| return self.tokenizer.batch_decode(*args, **kwargs) | |
| def decode(self, *args, **kwargs): | |
| return self.tokenizer.decode(*args, **kwargs) | |