split_text / app.py
mannus's picture
update
c724c96
from fastapi import FastAPI, Request
from pydantic import BaseModel
from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline
app = FastAPI()
tokenizer = AutoTokenizer.from_pretrained("NlpHUST/vi-word-segmentation")
model = AutoModelForTokenClassification.from_pretrained("NlpHUST/vi-word-segmentation")
nlp = pipeline("token-classification", model=model, tokenizer=tokenizer)
class InputText(BaseModel):
text: str
@app.post("/segment")
async def segment_text(payload: InputText):
text = payload.text
result = nlp(text)
# Convert numpy values to native Python types
processed_result = []
for item in result:
processed_item = {
'entity': str(item['entity']),
'score': float(item['score']),
'word': str(item['word']),
'start': int(item['start']),
'end': int(item['end'])
}
processed_result.append(processed_item)
return processed_result
@app.get("/")
def greet_json():
return {"Hello": "World!"}