Giridhar Pathak
12/02/2025, 10:19 PMwith_prompts.with_column("coding_classification", prompt(
messages=col("prompts"),
provider=papyrus_provider,
model="o3",
return_format=CodingClassification,
udf_options=UDFOptions(concurrency=3, on_error="raise")
))
the run seems to just hang. with 0 rows out. no metrics or anything.
cant seem to get any visibility or logs around whats going on. any direction on other ways of managing concurrency for the prompt(..) AI function?Srinivas Lade
12/02/2025, 10:29 PMpapyrus_provider). Have you seen the same problem with another provider, like one of the built-in ones?Giridhar Pathak
12/02/2025, 10:29 PMGiridhar Pathak
12/02/2025, 10:30 PMGiridhar Pathak
12/02/2025, 10:31 PMpapyrus_provider = OpenAIProvider(
name="papyrus-generator",
base_url="<https://papyrusproxy-eastus2-hnbkf6cdctasdsff.b02.azurefd.net>",
timeout=60,
api_key=token,
max_retries=3,
default_headers={
"papyrus-priority": "1",
"papyrus-model-name": "o3",
"papyrus-timeout-ms": "300000",
"x-policy-id": "nil",
}
)Giridhar Pathak
12/02/2025, 10:31 PMGiridhar Pathak
12/02/2025, 10:32 PMGiridhar Pathak
12/02/2025, 10:33 PMGiridhar Pathak
12/02/2025, 10:33 PMGiridhar Pathak
12/02/2025, 10:33 PMudf_options argGiridhar Pathak
12/02/2025, 10:34 PMSrinivas Lade
12/02/2025, 10:38 PMlimit(100). I just want to make sure that you see rows coming out of the prompt UDF in the metrics / progress barGiridhar Pathak
12/02/2025, 10:38 PMudf_options i do see rows come out and it all works fineSrinivas Lade
12/02/2025, 10:39 PMudf_options and limit(100) as well? I want to make sure the UDF worker process in not hanging at the endGiridhar Pathak
12/02/2025, 10:40 PMSrinivas Lade
12/02/2025, 10:40 PMGiridhar Pathak
12/02/2025, 10:44 PMGiridhar Pathak
12/02/2025, 10:45 PMGiridhar Pathak
12/02/2025, 10:45 PMSrinivas Lade
12/02/2025, 10:48 PMGiridhar Pathak
12/02/2025, 10:49 PMGiridhar Pathak
12/02/2025, 10:49 PMGiridhar Pathak
12/02/2025, 10:49 PMGiridhar Pathak
12/02/2025, 10:49 PMSrinivas Lade
12/02/2025, 10:49 PMGiridhar Pathak
12/02/2025, 10:49 PMGiridhar Pathak
12/02/2025, 10:50 PMand did you have to kill the python workers manually again?nope, when it completes properly it seems to cleanup fine, just if i kill the main process it does not clean up
Srinivas Lade
12/02/2025, 10:52 PMdaft.read_json(...) to daft.read_json(...).into_batches(100)?Srinivas Lade
12/02/2025, 10:54 PMprompt on a separate process, we submit larger batches of data to the process and wait for all of those to complete. without concurrency, we use much smaller batchesSrinivas Lade
12/02/2025, 10:56 PMinto_batches(100) should help override this so we only process 100 prompts at a timeCory Grinstead
12/02/2025, 11:07 PMdaft.set_execution_config(enable_dynamic_batching=True) ) so you don't need to manually specify into_batches(100) we'll handle adjusting the batch sizes and you'll continue seeing incremental updates in the terminal!Giridhar Pathak
12/02/2025, 11:10 PMGiridhar Pathak
12/03/2025, 12:34 AMGiridhar Pathak
12/03/2025, 12:35 AMSrinivas Lade
12/03/2025, 1:14 AMGiridhar Pathak
12/03/2025, 2:32 PMSrinivas Lade
12/03/2025, 5:30 PM