from langchain.output_parsers import GuardrailsOutputParser from langchain_community.llms import OpenAI from langchain_core.prompts import PromptTemplate # Define rail string rail_str = """ Translate the given statement into English: ${statement_to_be_translated} ${gr.complete_json_suffix} """ # Create the GuardrailsOutputParser object from the rail string output_parser = GuardrailsOutputParser.from_rail_string(rail_str) # Define the prompt, model and chain prompt = PromptTemplate( template=output_parser.guard.prompt.escape(), input_variables=output_parser.guard.prompt.variable_names, ) chain = prompt | OpenAI() | output_parser # This is needed because GuardrailsOutputParser does not have an inferrable type chain = chain.with_types(output_type=dict)