openclaw-vision / app.py
Shiye1's picture
debug processor error and add num2words
e549c1a
Raw
History Blame Contribute Delete
1.11 kB
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from transformers import AutoProcessor
import os
import traceback
MODEL_NAME = os.getenv("MODEL_NAME", "HuggingFaceTB/SmolVLM-256M-Instruct")
app = FastAPI(title="OpenClaw Vision API")
processor = None
class AnalyzeRequest(BaseModel):
image_url: str
user_request: str = "Describe this image."
def get_processor():
global processor
if processor is None:
processor = AutoProcessor.from_pretrained(MODEL_NAME)
return processor
@app.get("/health")
def health():
return {
"ok": True,
"stage": "processor_lazy",
"loaded": processor is not None
}
@app.post("/analyze")
def analyze(req: AnalyzeRequest):
try:
get_processor()
return {
"caption": f"processor loaded: {req.image_url}",
"ocr_text": "",
"objects": [],
"layout": "",
"confidence_notes": "processor test mode"
}
except Exception as e:
traceback.print_exc()
raise HTTPException(status_code=500, detail=str(e))