address feedback

This commit is contained in:
Dinesh Yeduguru 2024-11-08 12:00:36 -08:00
parent 0eaca98229
commit fe072620c8
9 changed files with 16 additions and 33 deletions

View file

@ -16,7 +16,7 @@ from llama_stack.apis.eval_tasks import EvalTaskDef
from llama_stack.apis.memory_banks import MemoryBankDef
from llama_stack.apis.models import ModelDef
from llama_stack.apis.scoring_functions import ScoringFnDef
from llama_stack.apis.shields import Shield, ShieldType
from llama_stack.apis.shields import Shield
@json_schema_type
@ -51,8 +51,6 @@ class ModelsProtocolPrivate(Protocol):
class ShieldsProtocolPrivate(Protocol):
async def register_shield(self, shield: Shield) -> None: ...
async def supported_shield_types(self) -> List[ShieldType]: ...
class MemoryBanksProtocolPrivate(Protocol):
async def list_memory_banks(self) -> List[MemoryBankDef]: ...

View file

@ -47,9 +47,6 @@ class MetaReferenceSafetyImpl(Safety, ShieldsProtocolPrivate):
if shield.shield_type not in self.available_shields:
raise ValueError(f"Shield type {shield.shield_type} not supported")
async def supported_shield_types(self) -> List[ShieldType]:
return SUPPORTED_SHIELDS
async def run_shield(
self,
shield_id: str,

View file

@ -42,7 +42,7 @@ class BedrockSafetyAdapter(Safety, ShieldsProtocolPrivate):
async def register_shield(self, shield: Shield) -> None:
response = self.bedrock_client.list_guardrails(
guardrailIdentifier=shield.identifier,
guardrailIdentifier=shield.provider_resource_id,
)
if (
not response["guardrails"]
@ -50,12 +50,9 @@ class BedrockSafetyAdapter(Safety, ShieldsProtocolPrivate):
or response["guardrails"][0]["version"] != shield.params["guardrailVersion"]
):
raise ValueError(
f"Shield {shield.identifier} with version {shield.params['guardrailVersion']} not found in Bedrock"
f"Shield {shield.provider_resource_id} with version {shield.params['guardrailVersion']} not found in Bedrock"
)
async def supported_shield_types(self) -> List[ShieldType]:
return BEDROCK_SUPPORTED_SHIELDS
async def run_shield(
self, shield_id: str, messages: List[Message], params: Dict[str, Any] = None
) -> RunShieldResponse:
@ -89,7 +86,7 @@ class BedrockSafetyAdapter(Safety, ShieldsProtocolPrivate):
)
response = self.bedrock_runtime_client.apply_guardrail(
guardrailIdentifier=shield.identifier,
guardrailIdentifier=shield.provider_resource_id,
guardrailVersion=shield_params["guardrailVersion"],
source="OUTPUT", # or 'INPUT' depending on your use case
content=content_messages,

View file

@ -22,7 +22,7 @@ class TestSafety:
async def test_new_shield(self, safety_stack):
_, shields_impl, shield = safety_stack
assert shield is not None
assert shield.provider_resource_identifier == shield.identifier
assert shield.provider_resource_id == shield.identifier
assert shield.provider_id is not None
@pytest.mark.asyncio