from pathlib import Path

from inspect_ai.model import get_model
from inspect_ai.solver import generate, system_message

from bench_af._abstract.objects import ModelOrganism


""" vllm serve deepseek-ai/DeepSeek-R1-Distill-Llama-70B --tensor-parallel-size 4 --tool-call-parser llama3_json --enable-auto-tool-choice  """


def get() -> ModelOrganism:
    CURRENT_DIRECTORY = Path(__file__).parent

    with open(CURRENT_DIRECTORY/"default_system_prompt.md") as f:
        system_prompt = f.read()

    model_organism = ModelOrganism(
        name=CURRENT_DIRECTORY.name,
        model=get_model(
            model="vllm/deepseek-ai/DeepSeek-R1-Distill-Llama-70B"),
        solver=[system_message(system_prompt), generate()],
        supported_environments={"self_exfiltrate",
                                "mvp", "blackmail", "report_failure_military", "blackmail_no_tools"}
    )

    return model_organism
