Skip to content

Commit 025f663

Browse files
[#76] Improve combined prompt with header rule
1 parent d97edca commit 025f663

File tree

3 files changed

+236
-71
lines changed

3 files changed

+236
-71
lines changed

backend/app/services/chat_job_service.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ async def execute_chat_job(
1919
app_default_prompt: str,
2020
knowledge_base_ids: List[int] = [],
2121
):
22-
"""Background job executor for chat jobs (non-streaming)."""
22+
"""Background job executor for [chat job]s (non-streaming)."""
2323
job = JobService.get_job(db, job_id)
2424
if not job:
2525
return
@@ -57,8 +57,14 @@ async def execute_chat_job(
5757
qa_prompt = prompt_service.get_full_qa_strict_prompt()
5858

5959
# combined prompt
60-
final_prompt = qa_prompt + "\n\n" + app_final_prompt
61-
logger.info(f"Chat job final prompt: {final_prompt}")
60+
final_prompt = (
61+
qa_prompt
62+
+ "\n\n**IMPORTANT: Follow these additional rules strictly:**\n\n"
63+
+ app_final_prompt
64+
)
65+
logger.info("[Chat job] BEGIN final prompt: ==============")
66+
logger.info(f"[Chat job] final prompt: {final_prompt}")
67+
logger.info("[Chat job] EOL final prompt: ==============")
6268

6369
state = {
6470
"query": query,
@@ -70,10 +76,10 @@ async def execute_chat_job(
7076
"top_k": top_k,
7177
},
7278
}
73-
logger.info(f"Chat job {job_id} starting with state: {state}")
79+
logger.info(f"[Chat job] {job_id} starting with state: {state}")
7480

7581
result_state = await query_answering_workflow.ainvoke(state)
76-
logger.info(f"Chat job {job_id} completed workflow")
82+
logger.info(f"[Chat job] {job_id} completed workflow")
7783

7884
answer = result_state.get("answer", "")
7985
error = result_state.get("error")
@@ -108,7 +114,7 @@ async def execute_chat_job(
108114
return output
109115

110116
except Exception as e:
111-
logger.exception(f"Chat job execution failed: {e}")
117+
logger.exception(f"[Chat job] execution failed: {e}")
112118
JobService.update_status_to_failed(db, job_id, output=str(e))
113119
await send_callback_async(callback_url, job, error=str(e))
114120
return str(e)

backend/app/tasks/upload_task.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from mcp_clients.kb_mcp_endpoint_service import KnowledgeBaseMCPEndpointService
1010
from app.services.job_service import JobService
1111
from app.services.file_storage_service import FileStorageService
12-
from app.models.job import Job
1312
from app.utils import send_callback
1413

1514
logger = logging.getLogger(__name__)
@@ -31,7 +30,7 @@ def upload_full_process_task(
3130
# 🔍 Get job record
3231
job = JobService.get_job(db=db, job_id=job_id)
3332
if not job:
34-
logger.warning(f"Job {job_id} not found")
33+
logger.warning(f"[Upload job] Job {job_id} not found")
3534
return
3635

3736
# 🚀 Update to running
@@ -48,11 +47,10 @@ def upload_full_process_task(
4847
)
4948
)
5049
except Exception as e:
51-
logger.warning(f"Error processing upload: {e}")
50+
logger.warning(f"[Upload job] Error processing upload: {e}")
5251
FileStorageService.mark_failed(file_paths)
5352
raise # Re-raise so Celery marks it as failed
5453

55-
5654
output = json.dumps(result)
5755

5856
# ✅ Mark completed
@@ -65,9 +63,11 @@ def upload_full_process_task(
6563
# 🧹 Cleanup only if all succeeded
6664
try:
6765
FileStorageService.cleanup_files(file_paths)
68-
logger.info(f"Cleaned up uploaded files: {file_paths}")
66+
logger.info(
67+
f"[Upload job] Cleaned up uploaded files: {file_paths}"
68+
)
6969
except Exception as clean_err:
70-
logger.warning(f"Cleanup failed: {clean_err}")
70+
logger.warning(f"[Upload job] Cleanup failed: {clean_err}")
7171

7272
# 🔔 Callback if URL provided
7373
send_callback(callback_url, job, output=output)
@@ -76,11 +76,9 @@ def upload_full_process_task(
7676

7777
except Exception as e:
7878
# ❌ Failure: mark job failed
79-
JobService.update_status_to_failed(
80-
db=db, job_id=job_id, output=str(e)
81-
)
79+
JobService.update_status_to_failed(db=db, job_id=job_id, output=str(e))
8280

83-
logger.exception(f"Upload job {job_id} failed: {e}")
81+
logger.exception(f"[Upload job] Upload job {job_id} failed: {e}")
8482

8583
# ⚠️ Keep files for inspection/debugging
8684
failed_dir = "/mnt/uploads/failed"
@@ -89,7 +87,9 @@ def upload_full_process_task(
8987
if os.path.exists(path):
9088
new_path = os.path.join(failed_dir, os.path.basename(path))
9189
os.rename(path, new_path)
92-
logger.warning(f"Moved failed file {path}{new_path}")
90+
logger.warning(
91+
f"[Upload job] Moved failed file {path}{new_path}"
92+
)
9393

9494
return str(e)
9595

0 commit comments

Comments
 (0)