Doctorak-RAG / scripts /query_api.py
aymanelgamal's picture
Upload 36 files
8cbfc52 verified
Raw
History Blame Contribute Delete
1.47 kB
"""Simple command-line client for testing the API."""
from __future__ import annotations
import argparse
import os
import sys
import requests
DEFAULT_ENDPOINT = "http://127.0.0.1:8000"
def ask(endpoint: str, question: str) -> dict:
r = requests.post(f"{endpoint}/query", json={"question": question}, timeout=120)
r.raise_for_status()
return r.json()
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--endpoint", default=DEFAULT_ENDPOINT)
parser.add_argument("--question", default=None)
args = parser.parse_args()
if args.question:
questions = [args.question]
else:
questions = [
"ما حكم أكل الضفدع؟",
"كيف أصوم يوم عاشوراء؟",
"هل يجوز أخذ أجر على تحصيل الفواتير؟",
]
for q in questions:
try:
res = ask(args.endpoint, q)
print("\n" + "=" * 80)
print("Question:", res["question_original"])
print("Topic :", res["topic"])
print("Mode :", res["mode"])
print("Conf :", res["confidence"])
print("Answer :")
print(res["answer"])
print("Sources :")
for s in res["sources"]:
print(f" - [{s['score']:.3f}] {s['question']}")
except Exception as exc:
print("Error:", exc)
if __name__ == "__main__":
main()