import subprocess from pathlib import Path ROOT = Path(__file__).resolve().parent VENV_PY = ROOT / "Final_venv" / "Scripts" / "python.exe" TEST_PIPELINE = ROOT / "04_vectoredb" / "test_pipeline.py" PARSE_OUTPUT = ROOT / "05_generation" / "parse_output.py" GENERATE_ANSWER = ROOT / "05_generation" / "generate_answer.py" def run_step(args, cwd, stdin_text=None, capture_output=True): return subprocess.run( args, cwd=cwd, input=stdin_text, text=True, check=True, capture_output=capture_output, ) def main(): query = input("Enter your query: ").strip() if not query: print("No query provided.") return run_step( [str(VENV_PY), str(TEST_PIPELINE)], cwd=ROOT, stdin_text=query + "\n", ) run_step( [str(VENV_PY), str(PARSE_OUTPUT), "--query", query], cwd=ROOT / "05_generation", ) result = run_step( [str(VENV_PY), str(GENERATE_ANSWER)], cwd=ROOT / "05_generation", capture_output=True, ) print(result.stdout.strip()) if __name__ == "__main__": main()