mirror of
https://github.com/hoshikawa2/nemo_guardrails_configuration.git
synced 2026-07-09 17:04:20 +00:00
Funcional
This commit is contained in:
16
final_pkg/company_nemo_guardrails/judges.py
Normal file
16
final_pkg/company_nemo_guardrails/judges.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from .models import RailResult
|
||||
from .llm_client import LLMClient
|
||||
from .tracing import span
|
||||
_client=LLMClient()
|
||||
def classificar_sentimento(text:str)->RailResult:
|
||||
with span("judge.CSI", mechanism="llm_judge"):
|
||||
out=_client.classify("CSI", {"text":text}); return RailResult(True,out.get("reason",""),text,"CSI","llm_judge",{"sentimento":out.get("label"),**out})
|
||||
def avaliar_alucinacao(resposta:str, dados_reais:str)->RailResult:
|
||||
with span("judge.ALUC", mechanism="llm_judge"):
|
||||
out=_client.classify("ALUC", {"resposta":resposta,"dados_reais":dados_reais}); return RailResult(out["allowed"],out.get("reason",""),resposta,"ALUC","llm_judge",{"alucinacao":out.get("label")=="ALUCINACAO",**out})
|
||||
def avaliar_qualidade_resposta(pergunta:str, resposta:str)->RailResult:
|
||||
with span("judge.RQLT", mechanism="llm_judge"):
|
||||
out=_client.classify("RQLT", {"pergunta":pergunta,"resposta":resposta}); return RailResult(True,out.get("reason",""),resposta,"RQLT","llm_judge",out)
|
||||
def avaliar_tom_de_voz(text:str)->RailResult:
|
||||
with span("judge.VCTN", mechanism="llm_judge"):
|
||||
out=_client.classify("VCTN", {"text":text}); return RailResult(out["allowed"],out.get("reason",""),text,"VCTN","llm_judge",{"aderente":out["allowed"],**out})
|
||||
Reference in New Issue
Block a user