refiner#
Attributes#
Classes#
Base class to parse the output of an LLM call.  | 
|
Base class to parse the output of an LLM call.  | 
|
Base class to parse the output of an LLM call.  | 
|
Base class to parse the output of an LLM call.  | 
|
This requirements-specific refiner is intended to address a common issue with  | 
|
Base class to parse the output of an LLM call.  | 
Module Contents#
- refiner.log#
 
- class refiner.JanusRefiner#
 Bases:
janus.parsers.parser.JanusParserBase class to parse the output of an LLM call.
Output parsers help structure language model responses.
Example
class BooleanOutputParser(BaseOutputParser[bool]): true_val: str = "YES" false_val: str = "NO" def parse(self, text: str) -> bool: cleaned_text = text.strip().upper() if cleaned_text not in (self.true_val.upper(), self.false_val.upper()): raise OutputParserException( f"BooleanOutputParser expected output value to either be " f"{self.true_val} or {self.false_val} (case-insensitive). " f"Received {cleaned_text}." ) return cleaned_text == self.true_val.upper() @property def _type(self) -> str: return "boolean_output_parser"
- class refiner.SimpleRetry(llm, parser, max_retries)#
 Bases:
JanusRefinerBase class to parse the output of an LLM call.
Output parsers help structure language model responses.
Example
class BooleanOutputParser(BaseOutputParser[bool]): true_val: str = "YES" false_val: str = "NO" def parse(self, text: str) -> bool: cleaned_text = text.strip().upper() if cleaned_text not in (self.true_val.upper(), self.false_val.upper()): raise OutputParserException( f"BooleanOutputParser expected output value to either be " f"{self.true_val} or {self.false_val} (case-insensitive). " f"Received {cleaned_text}." ) return cleaned_text == self.true_val.upper() @property def _type(self) -> str: return "boolean_output_parser"
- Parameters:
 llm (janus.llm.models_info.JanusModel) –
parser (janus.parsers.parser.JanusParser) –
max_retries (int) –
- retry_chain: langchain_core.runnables.RunnableSerializable#
 
- class refiner.FixParserExceptions(llm, parser, max_retries)#
 Bases:
JanusRefiner,langchain.output_parsers.RetryWithErrorOutputParserBase class to parse the output of an LLM call.
Output parsers help structure language model responses.
Example
class BooleanOutputParser(BaseOutputParser[bool]): true_val: str = "YES" false_val: str = "NO" def parse(self, text: str) -> bool: cleaned_text = text.strip().upper() if cleaned_text not in (self.true_val.upper(), self.false_val.upper()): raise OutputParserException( f"BooleanOutputParser expected output value to either be " f"{self.true_val} or {self.false_val} (case-insensitive). " f"Received {cleaned_text}." ) return cleaned_text == self.true_val.upper() @property def _type(self) -> str: return "boolean_output_parser"
- Parameters:
 llm (janus.llm.models_info.JanusModel) –
parser (janus.parsers.parser.JanusParser) –
max_retries (int) –
- class refiner.ReflectionRefiner(llm, parser, max_retries, prompt_template_name='refinement/reflection')#
 Bases:
JanusRefinerBase class to parse the output of an LLM call.
Output parsers help structure language model responses.
Example
class BooleanOutputParser(BaseOutputParser[bool]): true_val: str = "YES" false_val: str = "NO" def parse(self, text: str) -> bool: cleaned_text = text.strip().upper() if cleaned_text not in (self.true_val.upper(), self.false_val.upper()): raise OutputParserException( f"BooleanOutputParser expected output value to either be " f"{self.true_val} or {self.false_val} (case-insensitive). " f"Received {cleaned_text}." ) return cleaned_text == self.true_val.upper() @property def _type(self) -> str: return "boolean_output_parser"
- Parameters:
 llm (janus.llm.models_info.JanusModel) –
parser (janus.parsers.parser.JanusParser) –
max_retries (int) –
prompt_template_name (str) –
- reflection_chain: langchain_core.runnables.RunnableSerializable#
 
- revision_chain: langchain_core.runnables.RunnableSerializable#
 
- class refiner.RequirementsReflectionRefiner(llm, parser, max_retries, prompt_template_name='refinement/reflection/incose')#
 Bases:
JanusRefinerThis requirements-specific refiner is intended to address a common issue with requirements reflection, where over the course of several reflection loops, requirements lists grow increasingly verbose, eventually becoming too wordy to be useful. To reduce this, this refiner interlaces an additional reflection -> revision loop which de-duplicates requirements.
- Parameters:
 llm (janus.llm.models_info.JanusModel) –
parser (janus.parsers.parser.JanusParser) –
max_retries (int) –
prompt_template_name (str) –
- reflection_chain: langchain_core.runnables.RunnableSerializable#
 
- revision_chain: langchain_core.runnables.RunnableSerializable#
 
- reflect_duplication_chain: langchain_core.runnables.RunnableSerializable#
 
- revise_duplication_chain: langchain_core.runnables.RunnableSerializable#
 
- class refiner.HallucinationRefiner(**kwargs)#
 Bases:
ReflectionRefinerBase class to parse the output of an LLM call.
Output parsers help structure language model responses.
Example
class BooleanOutputParser(BaseOutputParser[bool]): true_val: str = "YES" false_val: str = "NO" def parse(self, text: str) -> bool: cleaned_text = text.strip().upper() if cleaned_text not in (self.true_val.upper(), self.false_val.upper()): raise OutputParserException( f"BooleanOutputParser expected output value to either be " f"{self.true_val} or {self.false_val} (case-insensitive). " f"Received {cleaned_text}." ) return cleaned_text == self.true_val.upper() @property def _type(self) -> str: return "boolean_output_parser"