Files
wehub-resource-sync e768098d0e
Flake8 Lint / flake8 (push) Waiting to run
Spell check CI / Spell_Check (push) Waiting to run
tools_continuous_delivery / Private PyPI non-main branch release (push) Has been skipped
tools_continuous_delivery / Private PyPI main branch release (push) Failing after 2m42s
Publish Promptflow Doc / Build (push) Has been cancelled
Publish Promptflow Doc / Deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:39:52 +08:00

48 lines
2.0 KiB
Python

from utils import ValidateObj, ValidationResult
from promptflow.core import tool
# The inputs section will change based on the arguments of the tool function, after you save the code
# Adding type to arguments and return value will help the system show the types properly
# Please update the function name/signature per need
@tool
def my_python_tool(
text_chunk: str,
text_chunk_validation_res: ValidationResult = None,
validate_question_output: dict = None,
validate_suggested_answer_output: dict = None,
) -> dict:
question_validation_res = validate_question_output["validation_res"]
generated_suggested_answer = validate_suggested_answer_output["suggested_answer"]
suggested_answer_validation_res = validate_suggested_answer_output["validation_res"]
is_generation_success = generated_suggested_answer != ""
is_text_chunk_valid = text_chunk_validation_res["pass_validation"] if text_chunk_validation_res else None
is_seed_question_valid = question_validation_res["pass_validation"] if question_validation_res else None
is_suggested_answer_valid = (
suggested_answer_validation_res["pass_validation"] if suggested_answer_validation_res else None
)
failed_step = ""
if not is_generation_success:
if is_text_chunk_valid is False:
failed_step = ValidateObj.TEXT_CHUNK
elif is_seed_question_valid is False:
failed_step = ValidateObj.QUESTION
elif is_suggested_answer_valid is False:
failed_step = ValidateObj.SUGGESTED_ANSWER
return {
# TODO: support more question types like multi-context etc.
# "question_type": question_type,
"text_chunk": text_chunk,
"validation_summary": {"success": is_generation_success, "failed_step": failed_step},
"validation_details": {
ValidateObj.TEXT_CHUNK: text_chunk_validation_res,
ValidateObj.QUESTION: question_validation_res,
ValidateObj.SUGGESTED_ANSWER: suggested_answer_validation_res,
},
}