Azure-Samples / Azure-Samples/rag-data-openai-python-promptflow
calling pf_client.run inside the callable target function for evaluate got "Error: (AssertionError) daemonic processes are not allowed to have children."
- Ngôn ngữ chính
- Python
- Star
- 290
- Fork
- 152
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
> Please provide us with the following information:
> ---------------------------------------------------------------
### This issue is for a: (mark with an `x`)
```
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)
```
### Minimal steps to reproduce
>
I am trying to hook up the evaluate method with my own prompt which used to run from pf_client.run
example code below:
```
from promptflow.client import PFClient
pf_client = PFClient()
def user_call():
my_prompt_flow = pf_client.run(my prompt flow configs)
return my_prompt_flow_output
def run_evaluation():
results = evaluate(
evaluation_name=evaluation_name,
data=data_path,
target=user_call,
evaluators={
"violence": violence_evaluator,
"sexual": sex_evaluator,
"self_harm": self_harm_evaluator,
"hate_unfairnes": hate_unfairness_evaluator,
"content_safety": content_safety_evaluator
},
azure_ai_project=project_scope
)
```
### Any log messages given by the failure
>
2024-07-06 00:58:41 +0000 1845174 execution.bulk INFO The process [1845174] has received a terminate signal.
2024-07-06 00:58:42 +0000 1844849 execution ERROR 1/1 flow run failed, indexes: [0], exception of index 0: Execution failure in 'user_call': (UnexpectedError) **Unexpected error occurred while executing the batch run. Error: (AssertionError) daemonic processes are not allowed to have children.**
### Expected/desired behavior
>
### OS and Version?
> Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)
Linux
### Versions
>
### Mention any other details that might be useful
> ---------------------------------------------------------------
> Thanks! We'll be in touch soon.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Trước tiên, hãy tái hiện luồng evaluate(target=user_call) đã cho trên Linux, tập trung vào tương tác giữa pf_client.run và tiến trình worker đánh giá. So sánh điều này với việc gọi trực tiếp pf_client.run và xác định cần thay đổi gì để quá trình đánh giá hoàn tất mà không gặp assertion về tiến trình daemon.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- azure, python
- Lĩnh vực
- ai
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100