Spaces:
Running
Running
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() | |