Spaces:
Sleeping
Sleeping
| import argparse | |
| import os | |
| import subprocess | |
| import sys | |
| def main(): | |
| parser = argparse.ArgumentParser(description="MedRAG Multi-Modal CLI") | |
| subparsers = parser.add_subparsers(dest="command", required=True) | |
| # Run subcommand | |
| run_parser = subparsers.add_parser("run", help="Run the Streamlit application") | |
| run_parser.add_argument( | |
| "--port", type=int, default=8501, help="Port to run Streamlit on" | |
| ) | |
| # Evaluate subcommand | |
| eval_parser = subparsers.add_parser("evaluate", help="Run evaluation tests") | |
| eval_parser.add_argument( | |
| "--test-file", | |
| default=os.path.join("tests", "evals", "test_assistant_mmlu_anatomy.py"), | |
| help="Path to test file", | |
| ) | |
| eval_parser.add_argument( | |
| "--test-case", | |
| type=str, | |
| help="Only run tests which match the given substring expression", | |
| ) | |
| eval_parser.add_argument( | |
| "--model-name", | |
| type=str, | |
| default="gemini-1.5-flash", | |
| help="Model name to use for evaluation", | |
| ) | |
| args = parser.parse_args() | |
| if args.command == "run": | |
| subprocess.run( | |
| [ | |
| sys.executable, | |
| "-m", | |
| "streamlit", | |
| "run", | |
| "app.py", | |
| "--server.port", | |
| str(args.port), | |
| ] | |
| ) | |
| elif args.command == "evaluate": | |
| test_file = ( | |
| args.test_file + "::" + args.test_case if args.test_case else args.test_file | |
| ) | |
| cmd = [ | |
| sys.executable, | |
| "-m", | |
| "pytest", | |
| "-s", | |
| test_file, | |
| "-v", | |
| f"--model-name={args.model_name}", | |
| ] | |
| subprocess.run(cmd) | |
| if __name__ == "__main__": | |
| main() | |