| from fastapi import FastAPI |
| from pydantic import BaseModel |
| from transformers import RobertaTokenizer, RobertaForMaskedLM, pipeline |
|
|
| app = FastAPI() |
|
|
| |
| model_name = "web3se/SmartBERT-v3" |
| tokenizer = RobertaTokenizer.from_pretrained(model_name) |
| model = RobertaForMaskedLM.from_pretrained(model_name) |
|
|
| |
| class ContractRequest(BaseModel): |
| contract_code: str |
|
|
| @app.post("/analyze/") |
| async def analyze_contract(request: ContractRequest): |
| fill_mask = pipeline('fill-mask', model=model, tokenizer=tokenizer) |
| outputs = fill_mask(request.contract_code) |
| return {"predictions": outputs} |
|
|
| |
| if __name__ == "__main__": |
| import uvicorn |
| uvicorn.run(app, host="0.0.0.0", port=7860) |
|
|