czty's picture
Add files using upload-large-folder tool
d1ce356 verified
Raw
History Blame Contribute Delete
1.42 kB
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"<solution>(.*?)</solution>", 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()