from __future__ import annotations import argparse from pathlib import Path try: from .model_utils import ( DEFAULT_MODEL_PATH, SkinGPTModel, build_single_turn_messages, resolve_model_path, ) except ImportError: from model_utils import ( DEFAULT_MODEL_PATH, SkinGPTModel, build_single_turn_messages, resolve_model_path, ) def build_parser() -> argparse.ArgumentParser: parser = argparse.ArgumentParser(description="SkinGPT-R1 full-precision single inference") parser.add_argument("--image", type=str, required=True, help="Path to the image") parser.add_argument("--model_path", type=str, default=DEFAULT_MODEL_PATH) parser.add_argument( "--prompt", type=str, default="Please analyze this skin image and provide a diagnosis.", ) return parser def main() -> None: args = build_parser().parse_args() if not Path(args.image).exists(): print(f"Error: Image not found at {args.image}") return model = SkinGPTModel(resolve_model_path(args.model_path)) messages = build_single_turn_messages(args.image, args.prompt) print(f"\nAnalyzing {args.image}...") response = model.generate_response(messages) print("-" * 40) print("Result:") print(response) print("-" * 40) if __name__ == "__main__": main()