[docs]classGuardrailsOutputParser(BaseOutputParser):"""Parse the output of an LLM call using Guardrails."""guard:Any"""The Guardrails object."""api:Optional[Callable]"""The LLM API passed to Guardrails during parsing. An example is `openai.completions.create`."""# noqa: E501args:Any"""Positional arguments to pass to the above LLM API callable."""kwargs:Any"""Keyword arguments to pass to the above LLM API callable."""@propertydef_type(self)->str:return"guardrails"
[docs]@classmethoddeffrom_rail(cls,rail_file:str,num_reasks:int=1,api:Optional[Callable]=None,*args:Any,**kwargs:Any,)->GuardrailsOutputParser:"""Create a GuardrailsOutputParser from a rail file. Args: rail_file: a rail file. num_reasks: number of times to re-ask the question. api: the API to use for the Guardrails object. *args: The arguments to pass to the API **kwargs: The keyword arguments to pass to the API. Returns: GuardrailsOutputParser """try:fromguardrailsimportGuardexceptImportError:raiseImportError("guardrails-ai package not installed. ""Install it by running `pip install guardrails-ai`.")returncls(guard=Guard.from_rail(rail_file,num_reasks=num_reasks),api=api,args=args,kwargs=kwargs,)
[docs]@classmethoddeffrom_rail_string(cls,rail_str:str,num_reasks:int=1,api:Optional[Callable]=None,*args:Any,**kwargs:Any,)->GuardrailsOutputParser:try:fromguardrailsimportGuardexceptImportError:raiseImportError("guardrails-ai package not installed. ""Install it by running `pip install guardrails-ai`.")returncls(guard=Guard.from_rail_string(rail_str,num_reasks=num_reasks),api=api,args=args,kwargs=kwargs,)
[docs]@classmethoddeffrom_pydantic(cls,output_class:Any,num_reasks:int=1,api:Optional[Callable]=None,*args:Any,**kwargs:Any,)->GuardrailsOutputParser:try:fromguardrailsimportGuardexceptImportError:raiseImportError("guardrails-ai package not installed. ""Install it by running `pip install guardrails-ai`.")returncls(guard=Guard.from_pydantic(output_class,"",num_reasks=num_reasks),api=api,args=args,kwargs=kwargs,)