import gradio as gr from fastapi import FastAPI, Request from fastapi.responses import JSONResponse from transformers import pipeline, AutoTokenizer model = pipeline("token-classification", model="ckiplab/bert-base-chinese-pos", tokenizer=AutoTokenizer.from_pretrained("ckiplab/bert-base-chinese-pos"), aggregation_strategy="simple") def analyze(sentence: str): result = model(sentence) return demo = gr.Interface(fn=analyze, inputs="text", outputs="text", title="詞性標註") app = FastAPI() app = gr.mount_gradio_app(app, demo, path="/") @app.post("/analyze") async def api_analyze(request: Request): payload = await request.json() return JSONResponse(content={"result": analyze(payload.get("sentence", ""))})