baybe-api / app /main.py
SissiFeng's picture
Create app/main.py
3debf6e verified
raw
history blame contribute delete
871 Bytes
from fastapi import FastAPI
from pydantic import BaseModel
from baybe import ParameterSpace, ContinuousParameter, ExperimentData, SurrogateModel, AcquisitionPolicy
app = FastAPI()
space = ParameterSpace(parameters=[ContinuousParameter(name="x", lower=0.0, upper=1.0)])
data = ExperimentData(parameter_space=space)
class Observation(BaseModel):
x: float
y: float
@app.get("/")
def read_root():
return {"message": "Baybe API is running on Hugging Face"}
@app.post("/submit")
def submit(obs: Observation):
data.add_measurement(parameter_values={"x": obs.x}, target_values={"y": obs.y})
return {"status": "ok", "count": len(data.parameter_values)}
@app.get("/suggest")
def suggest():
model = SurrogateModel()
policy = AcquisitionPolicy()
model.fit(data)
result = policy.compute(data, model)
return {"suggested_x": result[0]["x"]}