cuery.prompt#
Prompt base class.
Encapsulates lists of messages with functionality for loading from configuration files, rendering to rich text, handling Jinja templating for dynamic content, and validating required variables
Attributes#
Classes#
Module Contents#
- cuery.prompt.ROLE_STYLES#
- class cuery.prompt.Message(/, **data)#
Bases:
pydantic.BaseModelMessage class for chat completions.
- Parameters:
data (Any)
- content: str#
- role: str = 'user'#
- __rich_console__(console, options)#
- Parameters:
console (cuery.pretty.Console)
options (cuery.pretty.ConsoleOptions)
- Return type:
cuery.pretty.RenderResult
- class cuery.prompt.Prompt(/, **data)#
Bases:
pydantic.BaseModelPrompt class for chat completions.
This class represents a chat prompt consisting of multiple messages. Each message can have a role (e.g., user, assistant) and content. It can be constructed manually or from a configuration file or a string. In the latter case, automatically detects the required variables used by the Jinja template, if any.
- Parameters:
data (Any)
- required: list[str] = None#
- classmethod validate_messages(messages)#
Allow init from other types.
- Return type:
list
- check_required()#
- validate_required()#
Validate that all required variables are present in the prompt.
- __iter__()#
So dict(model) works.
- substitute(**kwds)#
- render(with_roles=False, **kwds)#
Render the prompt messages into single string with the given variables.
Not usually needed as Task, Tools etc. will do this automatically.
- Parameters:
with_roles (bool)
- Return type:
str
- __rich_console__(console, options)#
- Parameters:
console (cuery.pretty.Console)
options (cuery.pretty.ConsoleOptions)
- Return type:
cuery.pretty.RenderResult