Beginner Help: Deploying an API Service with Pickle Model from Jupyter Notebook in Dataiku
Hello Dear Community,
I am a complete beginner in Dataiku and have created a Jupyter Notebook as a mini test model. I used Pickle to save the model and vectorizer into a managed folder named "Models". My goal is to make this model available as an API service, but I’m struggling with the process and would greatly appreciate step-by-step instructions to achieve this.
Below is the code I have written in my notebook:
API Designer
Settings: Function name → predict_cluster, code env →inherit project def (DSS builtin env)
Code:
import pickle
import dataiku
import dataikuapi
client = dataiku.api_client()
project_key = "EMPF_SYS"
project = client.get_project(project_key)
folder_name = "Models"
managed_folder = dataiku.Folder(folder_name)
with managed_folder.get_download_stream("vectorizer.pkl") as stream:
vectorizer, kmeans = pickle.load(stream)
# Modell und Vektorisierer aus dem Managed Folder laden
#folder = Folder("Models")
#with folder.get_download_stream("vectorizer.pkl") as f:
# vectorizer, kmeans = pickle.load(f)
# Endpunkt-Handler
def predict_cluster(request):
try:
data = request.json
input_text = data.get("text", "")
if not input_text:
return {"error": "No text provided"}, 400
vectorized_text = vectorizer.transform([input_text])
cluster = kmeans.predict(vectorized_text)[0]
# Ergebnis zurückgeben
return {"cluster": int(cluster)}, 200
except Exception as e:
return {"error": str(e)}, 500 Test Query {
"text": "Test"
}Security: Authorization method: Public
When I test the API query, I encounter the following error:
Dev server deploymentFAILED
Failed to initiate function server : <class 'Exception'> : Default project key is not specified (no DKU_CURRENT_PROJECT_KEY in env)
I would be incredibly grateful for any hints, guidance, or resources that could help me resolve this issue, especially regarding deploying the model stored in the managed folder and exposing it as an API service.
Thank you in advance for your support! 🙏
Best regards,
VeliOperating system used: Windows 11