mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-05 21:30:40 +08:00
Enhance error handling and logging in pr_code_suggestions with default scores and contextualized self_reflection
This commit is contained in:
@ -186,8 +186,20 @@ class PRCodeSuggestions:
|
|||||||
code_suggestions_feedback = response_reflect_yaml["code_suggestions"]
|
code_suggestions_feedback = response_reflect_yaml["code_suggestions"]
|
||||||
if len(code_suggestions_feedback) == len(data["code_suggestions"]):
|
if len(code_suggestions_feedback) == len(data["code_suggestions"]):
|
||||||
for i, suggestion in enumerate(data["code_suggestions"]):
|
for i, suggestion in enumerate(data["code_suggestions"]):
|
||||||
|
try:
|
||||||
suggestion["score"] = code_suggestions_feedback[i]["suggestion_score"]
|
suggestion["score"] = code_suggestions_feedback[i]["suggestion_score"]
|
||||||
suggestion["score_why"] = code_suggestions_feedback[i]["why"]
|
suggestion["score_why"] = code_suggestions_feedback[i]["why"]
|
||||||
|
except Exception as e: #
|
||||||
|
get_logger().error(f"Error processing suggestion score {i}",
|
||||||
|
artifact={"suggestion": suggestion,
|
||||||
|
"code_suggestions_feedback": code_suggestions_feedback[i]})
|
||||||
|
suggestion["score"] = 7
|
||||||
|
suggestion["score_why"] = ""
|
||||||
|
else:
|
||||||
|
get_logger().error(f"Could not self-reflect on suggestions. using default score 7")
|
||||||
|
for i, suggestion in enumerate(data["code_suggestions"]):
|
||||||
|
suggestion["score"] = 7
|
||||||
|
suggestion["score_why"] = ""
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@ -539,6 +551,7 @@ class PRCodeSuggestions:
|
|||||||
system_prompt_reflect = environment.from_string(get_settings().pr_code_suggestions_reflect_prompt.system).render(
|
system_prompt_reflect = environment.from_string(get_settings().pr_code_suggestions_reflect_prompt.system).render(
|
||||||
variables)
|
variables)
|
||||||
user_prompt_reflect = environment.from_string(get_settings().pr_code_suggestions_reflect_prompt.user).render(variables)
|
user_prompt_reflect = environment.from_string(get_settings().pr_code_suggestions_reflect_prompt.user).render(variables)
|
||||||
|
with get_logger().contextualize(command="self_reflect_on_suggestions"):
|
||||||
response_reflect, finish_reason_reflect = await self.ai_handler.chat_completion(model=model,
|
response_reflect, finish_reason_reflect = await self.ai_handler.chat_completion(model=model,
|
||||||
system=system_prompt_reflect,
|
system=system_prompt_reflect,
|
||||||
user=user_prompt_reflect)
|
user=user_prompt_reflect)
|
||||||
|
Reference in New Issue
Block a user