readctrl / script /test_support_check.py
shahidul034's picture
Add files using upload-large-folder tool
1db7196 verified
#!/usr/bin/env python3
import json
import sys
import urllib.request
import urllib.error
BASE_URL = "http://172.16.34.21:8086"
MODEL = "support_check"
QUESTIONS = [
"Is the claim 'Regular exercise improves cardiovascular health' supported by evidence?",
"Does the statement 'Vitamin C cures the common cold' have strong scientific support?",
"Is it true that 'The Earth is flat'?",
"Can you verify the claim: 'Smoking increases the risk of lung cancer'?",
"Is the claim 'Drinking 8 glasses of water daily is required for everyone' universally supported?",
]
def post_chat_completion(prompt: str) -> dict:
url = f"{BASE_URL}/v1/chat/completions"
payload = {
"model": MODEL,
"temperature": 0.2,
"max_tokens": 256,
"messages": [
{"role": "system", "content": "Answer succinctly."},
{"role": "user", "content": prompt},
],
}
data = json.dumps(payload).encode("utf-8")
req = urllib.request.Request(
url,
data=data,
headers={"Content-Type": "application/json"},
method="POST",
)
try:
with urllib.request.urlopen(req, timeout=120) as resp:
body = resp.read().decode("utf-8")
return json.loads(body)
except urllib.error.HTTPError as exc:
body = exc.read().decode("utf-8") if exc.fp else ""
raise RuntimeError(f"HTTP {exc.code}: {body}") from exc
except urllib.error.URLError as exc:
raise RuntimeError(f"Request failed: {exc.reason}") from exc
def main() -> int:
for idx, question in enumerate(QUESTIONS, start=1):
print(f"\nQ{idx}: {question}")
result = post_chat_completion(question)
try:
answer = result["choices"][0]["message"]["content"]
except (KeyError, IndexError, TypeError):
answer = json.dumps(result, ensure_ascii=True)
print(f"A{idx}: {answer}")
return 0
if __name__ == "__main__":
sys.exit(main())