diff --git a/ChatQnA/docker/chatqna_guardrails.py b/ChatQnA/docker/chatqna_guardrails.py index 25a6a9c15..f1219ee04 100644 --- a/ChatQnA/docker/chatqna_guardrails.py +++ b/ChatQnA/docker/chatqna_guardrails.py @@ -26,8 +26,8 @@ class ChatQnAService: self.megaservice = ServiceOrchestrator() def add_remote_service(self): - guardrail = MicroService( - name="guardrail", + guardrail_in = MicroService( + name="guardrail_in", host=GUARDRAIL_SERVICE_HOST_IP, port=GUARDRAIL_SERVICE_PORT, endpoint="/v1/guardrails", @@ -66,11 +66,20 @@ class ChatQnAService: use_remote_service=True, service_type=ServiceType.LLM, ) - self.megaservice.add(guardrail).add(embedding).add(retriever).add(rerank).add(llm) - self.megaservice.flow_to(guardrail, embedding) + guardrail_out = MicroService( + name="guardrail_out", + host=GUARDRAIL_SERVICE_HOST_IP, + port=GUARDRAIL_SERVICE_PORT, + endpoint="/v1/guardrails", + use_remote_service=True, + service_type=ServiceType.GUARDRAIL, + ) + self.megaservice.add(guardrail_in).add(embedding).add(retriever).add(rerank).add(llm).add(guardrail_out) + self.megaservice.flow_to(guardrail_in, embedding) self.megaservice.flow_to(embedding, retriever) self.megaservice.flow_to(retriever, rerank) self.megaservice.flow_to(rerank, llm) + self.megaservice.flow_to(llm, guardrail_out) self.gateway = ChatQnAGateway(megaservice=self.megaservice, host="0.0.0.0", port=self.port) diff --git a/ChatQnA/docker/gaudi/README.md b/ChatQnA/docker/gaudi/README.md index c372f04e5..43ec84272 100644 --- a/ChatQnA/docker/gaudi/README.md +++ b/ChatQnA/docker/gaudi/README.md @@ -212,6 +212,7 @@ If guardrails microservice is enabled in the pipeline, the below environment var ```bash export GURADRAILS_MODEL_ID="meta-llama/Meta-Llama-Guard-2-8B" +export SAFETY_GUARD_MODEL_ID="meta-llama/Meta-Llama-Guard-2-8B" export SAFETY_GUARD_ENDPOINT="http://${host_ip}:8088" export GUARDRAIL_SERVICE_HOST_IP=${host_ip} ```