openjev / code /serving /check_prompt_templates.py
AlexWortega's picture
Add image Decisions serving and explicit option probabilities
26de23c verified
Raw History Blame Contribute Delete
1.83 kB
import unittest
import numpy as np
from decisions_api import assemble, build_plan
from prompt_templates import build_prompt_plan, finish_answers
class PromptChecks(unittest.TestCase):
def test_default_is_identical_and_explicit_rubrics_preserved(self):
body = {"model":"m", "state":"Facts.", "questions":{
"b":{"type":"noul","instructions":"Claim.","criteria":{"true":"Supported.","false":"Refuted."}},
"c":{"type":"choice","instructions":"Pick.","criteria":{"a":"Alpha.","b":"Beta."}}}}
old = build_plan(body)
p = build_prompt_plan(body)
self.assertEqual(old.pairs, p.pairs)
e = np.array([.2,.8,.7,.1])
self.assertEqual(assemble(old,e), finish_answers(p,e))
direct = build_prompt_plan(body,"direct_noul")
self.assertEqual(old.pairs,direct.pairs)
plain = build_prompt_plan(body,"unquoted")
self.assertIn("Alpha.",plain.pairs[2][1])
def test_direct_boolean_and_following_option_offsets(self):
body = {"model":"m", "state":"Facts.", "questions":{
"b":{"type":"noul","instructions":"Claim."},
"c":{"type":"choice","instructions":"Pick.","criteria":{"a":"Alpha.","b":"Beta."}}}}
p = build_prompt_plan(body,"direct_noul")
self.assertEqual(len(p.pairs),3)
self.assertEqual(p.pairs[0][1],"Claim.")
out=finish_answers(p,[.1,.2,.8])
self.assertEqual(out["b"]["noul"],.1)
self.assertEqual(out["c"]["choice"],"b")
def test_multiwindow_assertion_uses_any_support(self):
body={"model":"m","state":"x"*25000,"questions":{"b":{"type":"noul","instructions":"Claim."}}}
p=build_prompt_plan(body,"direct_noul")
self.assertEqual(finish_answers(p,[.1,.9])["b"]["noul"],.9)
if __name__ == "__main__":
unittest.main()