File size: 888 Bytes
af2cdb1
e604a26
 
dea3a07
 
 
e604a26
 
 
 
 
 
af2cdb1
 
e604a26
 
 
 
 
 
 
 
 
 
 
 
af2cdb1
 
e604a26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import gradio as gr
from transformers import AutoProcessor, Gemma3ForConditionalGeneration
import torch
import os

print(os.getenv("HF_TOKEN"))

# モデルロード
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)