Spaces:
Running
Running
| #!/usr/bin/env python3 | |
| """ | |
| Uruchamia ewaluacj臋 jako艣ci odpowiedzi LangGraph (DeepEval). | |
| Skrypt ten jest skr贸tem pozwalaj膮cym na 艂atwe w艂膮czanie test贸w LLMOps. | |
| """ | |
| import os | |
| import sys | |
| import subprocess | |
| import shutil | |
| def main(): | |
| print("==============================================") | |
| print(" Uruchamianie test贸w DeepEval (Faithfulness) ") | |
| print("==============================================") | |
| # 2. Uruchamiany konkretny zestaw testowy | |
| target_test = os.path.join( | |
| os.path.dirname(__file__), "..", "tests", "test_deepeval_rag.py" | |
| ) | |
| print(f"[*] Wykorzystywany zbi贸r test贸w: {target_test}") | |
| # Znajd藕 'deepeval' - albo w PATH, albo w sys.executable's Scripts folder | |
| deepeval_bin = shutil.which("deepeval") | |
| if not deepeval_bin: | |
| deepeval_bin = os.path.join( | |
| os.path.dirname(sys.executable), "Scripts", "deepeval.exe" | |
| ) | |
| if not os.path.exists(deepeval_bin): | |
| print("[!] Biblioteka 'deepeval' nieznaleziona.") | |
| print("Aby uruchomi膰 ewaluacj臋 lokalnie wpisz:") | |
| print(" pip install -r requirements-dev.txt") | |
| sys.exit(1) | |
| print(f"[*] Wykonywanie przez {deepeval_bin} ...") | |
| env = os.environ.copy() | |
| env["PYTHONPATH"] = os.path.join(os.path.dirname(__file__), "..") | |
| env["PYTHONIOENCODING"] = "utf-8" | |
| result = subprocess.run( | |
| [deepeval_bin, "test", "run", target_test], | |
| cwd=os.path.join(os.path.dirname(__file__), ".."), | |
| env=env, | |
| text=True, | |
| encoding="utf-8", | |
| ) | |
| print("\n----------------------------------------------") | |
| if result.returncode == 0: | |
| print("[V] Zako艅czono pomy艣lnie. Nie wykryto halucynacji poni偶ej progu.") | |
| else: | |
| print( | |
| "[X] Wykryto nie艣cis艂o艣ci (odpowiedzi mog艂y wzi膮膰 dane z zewn膮trz Prawnika)." | |
| ) | |
| if __name__ == "__main__": | |
| main() | |