import argparse import json import re import sys from pathlib import Path sys.path.append("/225040511/project/Hypo_Bio_OS") from biomni.agent.a1 import A1 def extract_answer(text: str) -> str: text = str(text) match = re.search(r"(.*?)", text, flags=re.S | re.I) if match: text = match.group(1) text = re.sub(r"]+>", "", text) text = text.strip() marker = re.search(r"##\s*(.*)", text) if marker: text = marker.group(1).strip() return text def load_payload(input_file: Path) -> dict: return json.loads(input_file.read_text(encoding="utf-8")) def write_payload(output_file: Path, payload: dict) -> None: output_file.write_text(json.dumps(payload, ensure_ascii=True), encoding="utf-8") def main() -> None: parser = argparse.ArgumentParser() parser.add_argument("--input-file", required=True) parser.add_argument("--output-file", required=True) args = parser.parse_args() request = load_payload(Path(args.input_file)) prompt = request["prompt"] agent_kwargs = request.get("agent_kwargs", {}) agent = A1(**agent_kwargs) _, final_message = agent.go(prompt) answer = extract_answer(final_message) write_payload( Path(args.output_file), { "answer": answer, "final_message": str(final_message), }, ) if __name__ == "__main__": main()