Daniel01410's picture
ctx_compress artifact slm-only
53587e2 verified
Raw History Blame Contribute Delete
681 Bytes
from __future__ import annotations
from typing import Any
from harness.adapters.base import Adapter, Verdict
class GenericAdapter(Adapter):
name = "generic"
max_chars = 4000
def verify(self, text: str, task: dict[str, Any], tools_url: str) -> Verdict:
answer = self.clean(text)
if not answer:
return Verdict(False, "", "empty answer")
if len(answer) > self.max_chars:
return Verdict(False, answer, f"answer longer than {self.max_chars} characters")
if "ignore the task" in answer.lower():
return Verdict(False, answer, "answer repeats injected instructions")
return Verdict(True, answer)