mentorme858 / scripts /verify_prompt.py
Nguyễn Thanh Tùng
Improve prompt with semantic names
1b7ef16
import sys
import os
# Add project root to path
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from utils.text_builder import build_mentee_query_text
from services.data_service import DataService
def test_prompt_builder():
print("Initializing DataService...")
data_service = DataService()
# Mock data based on what we expect in master_data.json
# or just rely on what was loaded
mentee_data = {
"goals": "Learn Python",
"career_id": 1,
"domain_ids": [1, 2],
"skill_ids": [1, 2]
}
print("\nResolving names...")
resolved_names = {
"career_name": data_service.get_career_name(mentee_data["career_id"]),
"domain_names": [
data_service.get_domain_name(id) for id in mentee_data["domain_ids"]
],
"skill_names": [
data_service.get_skill_name(id) for id in mentee_data["skill_ids"]
]
}
print(f"Resolved Names: {resolved_names}")
print("\nBuilding Prompt...")
prompt = build_mentee_query_text(mentee_data, resolved_names)
print("\nGenerated Prompt:")
print("="*40)
print(prompt)
print("="*40)
# Simple assertions
if "Career: Phát triển phần mềm" in prompt or "Career: Software Development" in prompt:
print("\n[PASS] Career name found")
elif resolved_names["career_name"] and resolved_names["career_name"] in prompt:
print("\n[PASS] Resolved career name found")
else:
print(f"\n[FAIL] Career name not found. Got: {prompt}")
if __name__ == "__main__":
test_prompt_builder()