Spaces:
Running
Running
| from __future__ import annotations | |
| import argparse | |
| from .inference import generate_code, load_generator | |
| def main() -> int: | |
| parser = argparse.ArgumentParser(description="Generate code with a Gemma LoRA adapter.") | |
| parser.add_argument("--base-model", default="google/gemma-3-1b-it", help="Base Hugging Face model id.") | |
| parser.add_argument("--adapter", default=None, help="Path to a trained LoRA adapter.") | |
| parser.add_argument("--instruction", required=True, help="Coding instruction.") | |
| parser.add_argument("--input", default="", help="Optional extra input/context.") | |
| parser.add_argument("--max-new-tokens", type=int, default=512) | |
| parser.add_argument("--temperature", type=float, default=0.2) | |
| parser.add_argument("--top-p", type=float, default=0.95) | |
| parser.add_argument("--quantization", choices=["none", "4bit", "8bit"], default="none") | |
| parser.add_argument("--dtype", choices=["auto", "float32", "float16", "bfloat16"], default="auto") | |
| parser.add_argument("--trust-remote-code", action="store_true") | |
| parser.add_argument("--disable-safety", action="store_true") | |
| args = parser.parse_args() | |
| model, tokenizer, torch = load_generator( | |
| args.base_model, | |
| adapter=args.adapter, | |
| quantization=args.quantization, | |
| dtype=args.dtype, | |
| trust_remote_code=args.trust_remote_code, | |
| ) | |
| completion = generate_code( | |
| model, | |
| tokenizer, | |
| torch, | |
| instruction=args.instruction, | |
| input_text=args.input, | |
| max_new_tokens=args.max_new_tokens, | |
| temperature=args.temperature, | |
| top_p=args.top_p, | |
| safety=not args.disable_safety, | |
| ) | |
| print(completion) | |
| return 0 | |
| if __name__ == "__main__": | |
| raise SystemExit(main()) | |