File size: 789 Bytes
18f1cf6 84ef0d6 18f1cf6 7461634 e3785da 7461634 18f1cf6 2b5c64d 18f1cf6 e24e7f4 18f1cf6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
from gliner import GLiNER
import torch
class EndpointHandler:
def __init__(self, path=""):
# Load without device_map, then move to GPU
self.model = GLiNER.from_pretrained(path) # Remove device_map="cuda"
self.model = self.model.to("cuda")
self.model.eval() # Lock for inference
def __call__(self, data):
# If data is wrapped in 'inputs' (as Hugging Face does), unwrap it
if isinstance(data, dict) and "inputs" in data:
data = data["inputs"]
text = data.get("text", "")
labels = data.get("labels", [])
if not text or not labels:
return {"error": "Please provide 'text' and 'labels'"}
entities = self.model.predict_entities(text, labels)
return {"entities": entities}
|