SissiFeng commited on
Commit
3debf6e
·
verified ·
1 Parent(s): fbe420e

Create app/main.py

Browse files
Files changed (1) hide show
  1. app/main.py +29 -0
app/main.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from pydantic import BaseModel
3
+ from baybe import ParameterSpace, ContinuousParameter, ExperimentData, SurrogateModel, AcquisitionPolicy
4
+
5
+ app = FastAPI()
6
+
7
+ space = ParameterSpace(parameters=[ContinuousParameter(name="x", lower=0.0, upper=1.0)])
8
+ data = ExperimentData(parameter_space=space)
9
+
10
+ class Observation(BaseModel):
11
+ x: float
12
+ y: float
13
+
14
+ @app.get("/")
15
+ def read_root():
16
+ return {"message": "Baybe API is running on Hugging Face"}
17
+
18
+ @app.post("/submit")
19
+ def submit(obs: Observation):
20
+ data.add_measurement(parameter_values={"x": obs.x}, target_values={"y": obs.y})
21
+ return {"status": "ok", "count": len(data.parameter_values)}
22
+
23
+ @app.get("/suggest")
24
+ def suggest():
25
+ model = SurrogateModel()
26
+ policy = AcquisitionPolicy()
27
+ model.fit(data)
28
+ result = policy.compute(data, model)
29
+ return {"suggested_x": result[0]["x"]}