import gradio as gr from transformers import AutoProcessor, Gemma3ForConditionalGeneration import torch # モデルロード model_name = "unsloth/gemma-3-4b-it" processor = AutoProcessor.from_pretrained(model_name) model = Gemma3ForConditionalGeneration.from_pretrained( model_name, torch_dtype=torch.bfloat16, device_map="auto" ) def generate_text(text, max_length=50): inputs = processor(text, return_tensors="pt").to("cuda" if torch.cuda.is_available() else "cpu") outputs = model.generate(**inputs, max_length=max_length) return processor.decode(outputs[0], skip_special_tokens=True) # Gradioインターフェース iface = gr.Interface( fn=generate_text, inputs=["text", "slider"], outputs="text", title="Gemma 3 API" ) if __name__ == "__main__": iface.launch(server_name="0.0.0.0", server_port=7860)