|
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) |
|
|