Spaces:
Configuration error
Configuration error
| """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() | |