""" Lumynax Translate Nllb 200 3B — LumynaX quickstart (clone & run, multimodal safetensors). Loads the local safetensors shards in this repo via transformers. Requires significant VRAM (160+ GB VRAM). Usage: python quickstart.py --interactive python quickstart.py --image foo.jpg --prompt "describe this" """ from __future__ import annotations import argparse, os, sys from pathlib import Path LUMYNAX_SYSTEM = "You are LumynaX, the AbteeX AI Labs assistant from Aotearoa New Zealand. Ko te marama te tuapapa. Answer with care; cite uncertainty; refuse unsafe asks." DEMO_PROMPT = "Explain in 3 bullets why local-first AI matters for Aotearoa New Zealand." HERE = Path(__file__).resolve().parent def main(): import torch from transformers import AutoProcessor, AutoModelForImageTextToText p = argparse.ArgumentParser() p.add_argument("--interactive", action="store_true") p.add_argument("--prompt", default=DEMO_PROMPT) p.add_argument("--image", default=None) args = p.parse_args() if not (HERE / "pytorch_model-00001-of-00003.bin").exists(): print(f"[lumynax] weight index missing in {HERE}", file=sys.stderr) print(f"[lumynax] run: hf download AbteeXAILab/lumynax-translate-nllb-200-3b --local-dir first.", file=sys.stderr) sys.exit(2) print(f"[lumynax] loading from local repo {HERE}") processor = AutoProcessor.from_pretrained(str(HERE), trust_remote_code=True) model = AutoModelForImageTextToText.from_pretrained( str(HERE), device_map="auto", torch_dtype="auto", trust_remote_code=True ) def chat(user, img): content = [{"type":"text","text":user}] if img: content.insert(0, {"type":"image","url":img}) messages = [ {"role":"system","content":[{"type":"text","text":LUMYNAX_SYSTEM}]}, {"role":"user","content":content}, ] inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt").to(model.device) out = model.generate(**inputs, max_new_tokens=512, do_sample=True, temperature=0.4) return processor.batch_decode(out[:, inputs["input_ids"].shape[-1]:], skip_special_tokens=True)[0] if args.interactive: print("[lumynax] interactive — '/img ' attaches, empty line exits.") pending = None while True: try: q = input("you> ").strip() except EOFError: break if not q: break if q.startswith("/img "): pending = q[5:].strip(); print(f"[lumynax] attached: {pending}"); continue print("lumynax> " + chat(q, pending)); pending = None else: print(chat(args.prompt, args.image)) if __name__ == "__main__": main()