langchain_contrib.prompts package#
Subpackages#
- langchain_contrib.prompts.choice package
- Submodules
- langchain_contrib.prompts.choice.prompt_value module
- langchain_contrib.prompts.choice.template module
ChoicePromptTemplateChoicePromptTemplate.base_templateChoicePromptTemplate.choice_format_keyChoicePromptTemplate.choice_serializerChoicePromptTemplate.choices_formatterChoicePromptTemplate.format()ChoicePromptTemplate.format_prompt()ChoicePromptTemplate.from_base_template()ChoicePromptTemplate.from_messages()ChoicePromptTemplate.from_template()ChoicePromptTemplate.input_variablesChoicePromptTemplate.output_parserChoicePromptTemplate.partial_variablesChoicePromptTemplate.permissive_partial()ChoicePromptTemplate.permissive_partial_variables
get_oxford_comma_formatter()get_simple_joiner()list_of_choices()
- Module contents
BaseChoicePromptChatChoicePromptChoicePromptTemplateChoicePromptTemplate.base_templateChoicePromptTemplate.choice_format_keyChoicePromptTemplate.choice_serializerChoicePromptTemplate.choices_formatterChoicePromptTemplate.format()ChoicePromptTemplate.format_prompt()ChoicePromptTemplate.from_base_template()ChoicePromptTemplate.from_messages()ChoicePromptTemplate.from_template()ChoicePromptTemplate.input_variablesChoicePromptTemplate.output_parserChoicePromptTemplate.partial_variablesChoicePromptTemplate.permissive_partial()ChoicePromptTemplate.permissive_partial_variables
ChoiceStrStringChoicePromptget_oxford_comma_formatter()get_simple_joiner()list_of_choices()
Submodules#
langchain_contrib.prompts.chained module#
Defines the Chained prompt template type.
- class langchain_contrib.prompts.chained.ChainedPromptTemplate(subprompts: List[str | BaseMessagePromptTemplate | BaseMessage | BasePromptTemplate], joiner: str = '', *, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZStringPromptTemplateA prompt template composed of multiple other prompt templates chained together.
This is a StringPromptTemplate rather than a BasePromptTemplate to enable use in BaseStringMessagePromptTemplate.
- format(**kwargs: Any) str#
Format the prompt with the inputs.
- joiner: str#
How to join each template output together.
Only meaningful for StringPromptTemplate’s.
- subprompts: List[BasePromptTemplate]#
- class langchain_contrib.prompts.chained.ChainedPromptValue(*, joiner: str = '', subvalues: List[PromptValue])#
Bases:
PromptValueA prompt value consisting of smaller prompt values.
- joiner: str#
How to join each prompt value together.
Only used when joining to_string.
- subvalues: List[PromptValue]#
- to_messages() List[BaseMessage]#
Append all prompt values together as messages.
- to_string() str#
Join prompt values together as a single string.
langchain_contrib.prompts.dummy module#
Module defining a dummy prompt template.
- class langchain_contrib.prompts.dummy.DummyPromptTemplate(*, input_variables: List[str] = [], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZBasePromptTemplateDummy template for when you need a template but don’t care for a real one.
- format(**kwargs: Any) str#
Error out because this is a dummy prompt template.
- format_prompt(**kwargs: Any) PromptValue#
Error out because this is a dummy prompt template.
- input_variables: List[str]#
A list of the names of the variables the prompt template expects.
langchain_contrib.prompts.prefixed module#
Defines the Prefixed prompt template type.
- class langchain_contrib.prompts.prefixed.PrefixedTemplate(templatable: Templatable)#
Bases:
BaseModelWraps another prompt template into one that can take in a prefix.
This is useful for when you want to add a prefix to a prompt, but you don’t want to have to do it manually.
- template: BasePromptTemplate#
langchain_contrib.prompts.schema module#
Types useful for prompting.
- langchain_contrib.prompts.schema.Templatable#
Anything that can be converted directly into a BasePromptTemplate.
alias of
Union[str,BaseMessagePromptTemplate,BaseMessage,BasePromptTemplate]
- langchain_contrib.prompts.schema.into_template(templatable: str | BaseMessagePromptTemplate | BaseMessage | BasePromptTemplate) BasePromptTemplate#
Convert a Templatable into a proper BasePromptTemplate.
langchain_contrib.prompts.z_base module#
Module defining a more flexible BasePromptTemplate.
- class langchain_contrib.prompts.z_base.DefaultsTo(default_key: str)#
Bases:
BaseModelMarks one prompt key as defaulting to another one.
- default_key: str#
Default key to get prompt value from.
- class langchain_contrib.prompts.z_base.ZBasePromptTemplate(*, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
BasePromptTemplateA prompt template class that allows for arbitrary partials.
- base_template: BasePromptTemplate | None#
The actual template that this class wraps around.
If None, then this class is assumed to be overridden.
- format(**kwargs: Any) str#
Format prompt template as a string.
- format_prompt(**kwargs: Any) PromptValue#
Format the prompt from the base prompt.
- classmethod from_base_template(base_template: BasePromptTemplate, **kwargs: Any) ZBasePromptTemplate#
Wrap around a base template.
- partial(**kwargs: str | Callable[[], str]) ZBasePromptTemplate#
Return a partial of the prompt template.
- permissive_partial(**kwargs: Any) ZBasePromptTemplate#
Return a partial of the prompt template.
Permissive version that allows for arbitrary input types.
- permissive_partial_variables: Mapping[str, Any]#
Partial variables of any type.
The BasePromptTemplate.format and format_prompt functions take in any arbitrary types, so why shouldn’t partials as well?
- class langchain_contrib.prompts.z_base.ZChatPromptTemplate(*, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, messages: List[BaseMessagePromptTemplate | BaseMessage | BaseChatPromptTemplate], base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZBasePromptTemplate,ChatPromptTemplateA version of ChatPromptTemplate with extended flexibility.
- partial(**kwargs: str | Callable[[], str]) ZBasePromptTemplate#
Return a partial of the chat prompt template.
- class langchain_contrib.prompts.z_base.ZPromptTemplate(*, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, template: str, template_format: str = 'f-string', validate_template: bool = True, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZBasePromptTemplate,PromptTemplateA version of PromptTemplate with extended flexibility.
- classmethod from_template(template: str, **kwargs: Any) ZPromptTemplate#
Load a prompt template from a template.
- classmethod template_is_valid(values: Dict) Dict#
Check that template and input variables are consistent.
- class langchain_contrib.prompts.z_base.ZStringPromptTemplate(*, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZBasePromptTemplate,StringPromptTemplateA version of StringPromptTemplate with extended flexibility.
Module contents#
Experimental LLM chains.
- class langchain_contrib.prompts.ChainedPromptTemplate(subprompts: List[str | BaseMessagePromptTemplate | BaseMessage | BasePromptTemplate], joiner: str = '', *, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZStringPromptTemplateA prompt template composed of multiple other prompt templates chained together.
This is a StringPromptTemplate rather than a BasePromptTemplate to enable use in BaseStringMessagePromptTemplate.
- base_template: BasePromptTemplate | None#
The actual template that this class wraps around.
If None, then this class is assumed to be overridden.
- format(**kwargs: Any) str#
Format the prompt with the inputs.
- input_variables: List[str]#
A list of the names of the variables the prompt template expects.
- joiner: str#
How to join each template output together.
Only meaningful for StringPromptTemplate’s.
- output_parser: BaseOutputParser | None#
How to parse the output of calling an LLM on this formatted prompt.
- partial_variables: Mapping[str, str | Callable[[], str]]#
- permissive_partial_variables: Mapping[str, Any]#
Partial variables of any type.
The BasePromptTemplate.format and format_prompt functions take in any arbitrary types, so why shouldn’t partials as well?
- subprompts: List[BasePromptTemplate]#
- class langchain_contrib.prompts.ChainedPromptValue(*, joiner: str = '', subvalues: List[PromptValue])#
Bases:
PromptValueA prompt value consisting of smaller prompt values.
- joiner: str#
How to join each prompt value together.
Only used when joining to_string.
- subvalues: List[PromptValue]#
- to_messages() List[BaseMessage]#
Append all prompt values together as messages.
- to_string() str#
Join prompt values together as a single string.
- class langchain_contrib.prompts.ChoicePromptTemplate(*, input_variables: ~typing.List[str], output_parser: ~langchain.schema.output_parser.BaseOutputParser | None = None, partial_variables: ~typing.Mapping[str, str | ~typing.Callable[[], str]] = None, base_template: ~langchain.schema.prompt_template.BasePromptTemplate | None = None, permissive_partial_variables: ~typing.Mapping[str, ~typing.Any] = None, choice_serializer: ~typing.Callable[[~langchain_contrib.prompts.choice.template.T], str] = <function ChoicePromptTemplate.<lambda>>, choices_formatter: ~typing.Callable[[~typing.List[str]], str] = None, choice_format_key: str = 'choices')#
Bases:
ZBasePromptTemplate,Generic[T]A wrapper prompt template for picking from a number of choices.
This template preserves choice information in prompts.
- choice_format_key: str#
Which string is used for formatting choices in the template.
- choice_serializer: Callable[[T], str]#
How to turn the choices into strings.
- choices_formatter: ChoicesFormatter#
How to convert from the list of choices to a single string.
Utility functions to help with this include:
get_simple_joiner
get_oxford_comma_formatter
list_of_choices
- format(**kwargs: Any) str#
Format the prompt with the inputs.
- format_prompt(**kwargs: Any) BaseChoicePrompt#
Format the prompt while preserving the choices.
- classmethod from_base_template(base_template: BasePromptTemplate, **kwargs: Any) ChoicePromptTemplate#
Wrap around a base template.
- classmethod from_messages(messages: Sequence[BaseMessagePromptTemplate | BaseMessage], **kwargs: Any) ChoicePromptTemplate#
Load a ChoicePromptTemplate from message templates.
- classmethod from_template(template: str, **kwargs: Any) ChoicePromptTemplate#
Load a ChoicePromptTemplate from a text template.
- permissive_partial(**kwargs: Any) ChoicePromptTemplate#
Return a partial of the prompt template.
Permissive version that allows for arbitrary input types.
- class langchain_contrib.prompts.DefaultsTo(default_key: str)#
Bases:
BaseModelMarks one prompt key as defaulting to another one.
- default_key: str#
Default key to get prompt value from.
- class langchain_contrib.prompts.DummyPromptTemplate(*, input_variables: List[str] = [], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZBasePromptTemplateDummy template for when you need a template but don’t care for a real one.
- base_template: BasePromptTemplate | None#
The actual template that this class wraps around.
If None, then this class is assumed to be overridden.
- format(**kwargs: Any) str#
Error out because this is a dummy prompt template.
- format_prompt(**kwargs: Any) PromptValue#
Error out because this is a dummy prompt template.
- input_variables: List[str]#
A list of the names of the variables the prompt template expects.
- output_parser: BaseOutputParser | None#
How to parse the output of calling an LLM on this formatted prompt.
- partial_variables: Mapping[str, str | Callable[[], str]]#
- permissive_partial_variables: Mapping[str, Any]#
Partial variables of any type.
The BasePromptTemplate.format and format_prompt functions take in any arbitrary types, so why shouldn’t partials as well?
- class langchain_contrib.prompts.PrefixedTemplate(templatable: Templatable)#
Bases:
BaseModelWraps another prompt template into one that can take in a prefix.
This is useful for when you want to add a prefix to a prompt, but you don’t want to have to do it manually.
- template: BasePromptTemplate#
- class langchain_contrib.prompts.ZBasePromptTemplate(*, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
BasePromptTemplateA prompt template class that allows for arbitrary partials.
- base_template: BasePromptTemplate | None#
The actual template that this class wraps around.
If None, then this class is assumed to be overridden.
- format(**kwargs: Any) str#
Format prompt template as a string.
- format_prompt(**kwargs: Any) PromptValue#
Format the prompt from the base prompt.
- classmethod from_base_template(base_template: BasePromptTemplate, **kwargs: Any) ZBasePromptTemplate#
Wrap around a base template.
- input_variables: List[str]#
A list of the names of the variables the prompt template expects.
- output_parser: BaseOutputParser | None#
How to parse the output of calling an LLM on this formatted prompt.
- partial(**kwargs: str | Callable[[], str]) ZBasePromptTemplate#
Return a partial of the prompt template.
- partial_variables: Mapping[str, str | Callable[[], str]]#
- permissive_partial(**kwargs: Any) ZBasePromptTemplate#
Return a partial of the prompt template.
Permissive version that allows for arbitrary input types.
- permissive_partial_variables: Mapping[str, Any]#
Partial variables of any type.
The BasePromptTemplate.format and format_prompt functions take in any arbitrary types, so why shouldn’t partials as well?
- class langchain_contrib.prompts.ZChatPromptTemplate(*, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, messages: List[BaseMessagePromptTemplate | BaseMessage | BaseChatPromptTemplate], base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZBasePromptTemplate,ChatPromptTemplateA version of ChatPromptTemplate with extended flexibility.
- partial(**kwargs: str | Callable[[], str]) ZBasePromptTemplate#
Return a partial of the chat prompt template.
- class langchain_contrib.prompts.ZPromptTemplate(*, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, template: str, template_format: str = 'f-string', validate_template: bool = True, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZBasePromptTemplate,PromptTemplateA version of PromptTemplate with extended flexibility.
- classmethod from_template(template: str, **kwargs: Any) ZPromptTemplate#
Load a prompt template from a template.
- classmethod template_is_valid(values: Dict) Dict#
Check that template and input variables are consistent.
- class langchain_contrib.prompts.ZStringPromptTemplate(*, input_variables: List[str], output_parser: BaseOutputParser | None = None, partial_variables: Mapping[str, str | Callable[[], str]] = None, base_template: BasePromptTemplate | None = None, permissive_partial_variables: Mapping[str, Any] = None)#
Bases:
ZBasePromptTemplate,StringPromptTemplateA version of StringPromptTemplate with extended flexibility.
- langchain_contrib.prompts.into_template(templatable: str | BaseMessagePromptTemplate | BaseMessage | BasePromptTemplate) BasePromptTemplate#
Convert a Templatable into a proper BasePromptTemplate.