Spaces:
Sleeping
Sleeping
Download backend/python-service/tests/test_prompt_payload.py from bardd/mike-backend: direct link, hf CLI and curl.
- Browser
- Download file 3.19 kB
-
https://huggingface.co/spaces/bardd/mike-backend/resolve/main/backend/python-service/tests/test_prompt_payload.py
- Command line
-
hf download hf://spaces/bardd/mike-backend/backend/python-service/tests/test_prompt_payload.py
-
curl -L -o test_prompt_payload.py https://huggingface.co/spaces/bardd/mike-backend/resolve/main/backend/python-service/tests/test_prompt_payload.py
3.19 kB
| from __future__ import annotations | |
| import json | |
| import os | |
| import sys | |
| import unittest | |
| from pathlib import Path | |
| SERVICE_ROOT = Path(__file__).resolve().parents[1] | |
| BACKEND_ROOT = SERVICE_ROOT.parent | |
| GOLDEN_ROOT = BACKEND_ROOT / "tests" / "golden" / "prompts" | |
| if str(SERVICE_ROOT) not in sys.path: | |
| sys.path.insert(0, str(SERVICE_ROOT)) | |
| from inference.client import build_payload # noqa: E402 | |
| from prompts.chat_system import chat_system_prompt # noqa: E402 | |
| from prompts.json_repair_system import JSON_REPAIR_SYSTEM # noqa: E402 | |
| from prompts.review_system import review_system_prompt # noqa: E402 | |
| from prompts.review_user import review_user_prompt # noqa: E402 | |
| class PromptPayloadTests(unittest.TestCase): | |
| def test_payload_preserves_system_user_delimiters(self) -> None: | |
| payload = build_payload( | |
| system_prompt="SYSTEM BODY", | |
| user_prompt="USER BODY", | |
| max_tokens=128, | |
| temperature=0.1, | |
| ) | |
| self.assertEqual(payload["messages"][0], { | |
| "role": "system", | |
| "content": "SYSTEM BODY", | |
| }) | |
| user_content = payload["messages"][1]["content"] | |
| self.assertIn("SYSTEM INSTRUCTIONS:", user_content) | |
| self.assertIn("SYSTEM BODY", user_content) | |
| self.assertIn("USER INPUT:", user_content) | |
| self.assertIn("USER BODY", user_content) | |
| self.assertEqual(payload["tools"], [{"type": "web_search"}]) | |
| def test_review_system_matches_golden_template(self) -> None: | |
| golden_path = GOLDEN_ROOT / "static" / "python-review-system-template.txt" | |
| golden = golden_path.read_text(encoding="utf-8") | |
| rendered = review_system_prompt(10) | |
| self.assertTrue(rendered.startswith(golden.split("{{REVIEW_SCHEMA}}")[0])) | |
| self.assertIn("Return at most 10 findings.", rendered) | |
| def test_json_repair_system_matches_golden(self) -> None: | |
| golden = (GOLDEN_ROOT / "static" / "python-json-repair-system.txt").read_text( | |
| encoding="utf-8" | |
| ) | |
| self.assertEqual(JSON_REPAIR_SYSTEM, golden.strip()) | |
| def test_review_user_matches_golden(self) -> None: | |
| fixture_path = GOLDEN_ROOT / "composed" / "python-review-user.json" | |
| fixture = json.loads(fixture_path.read_text(encoding="utf-8")) | |
| fix = fixture["fixture"] | |
| rendered = review_user_prompt( | |
| review_text=fix["reviewText"], | |
| document_name=fix["documentName"], | |
| playbook_name=fix["playbookName"], | |
| playbook_text=fix["playbookText"], | |
| ) | |
| self.assertEqual(rendered, fixture["user"]) | |
| def test_chat_system_matches_golden(self) -> None: | |
| fixture_path = GOLDEN_ROOT / "composed" / "python-chat-user.json" | |
| fixture = json.loads(fixture_path.read_text(encoding="utf-8")) | |
| rendered = chat_system_prompt( | |
| playbook_name=fixture["fixture"]["playbookName"], | |
| role_brief=fixture["fixture"]["roleBrief"], | |
| ) | |
| golden = (GOLDEN_ROOT / "static" / "python-chat-system-buyer.txt").read_text( | |
| encoding="utf-8" | |
| ) | |
| self.assertEqual(rendered, golden.strip()) | |
| if __name__ == "__main__": | |
| unittest.main() | |