import os, time, requests
api_key = os.getenv("WOODWIDE_API_KEY")
base_url = "https://api.woodwide.ai"
headers = {"Authorization": f"Bearer {api_key}"}
# Upload data
with open("products.csv", "rb") as f:
resp = requests.post(
f"{base_url}/datasets",
headers=headers,
files={"file": ("products.csv", f, "text/csv")},
data={"dataset_name": "products"},
)
dataset_id = resp.json()["dataset"]["id"]
# Train an embedding model
resp = requests.post(
f"{base_url}/models/train",
headers=headers,
json={
"model_name": "product_embeddings",
"model_type": "embedding",
"dataset_id": dataset_id,
},
)
model_id = resp.json()["model"]["id"]
# Wait for training
while True:
model = requests.get(
f"{base_url}/models/{model_id}", headers=headers
).json()
if model["status"] == "ready":
break
time.sleep(5)