nemoguardrails.testing.chat_harness

View as Markdown

Ergonomic helper for writing conversational tests against a guardrails config.

Module Contents

Classes

NameDescription
TestChatHelper class for easily writing tests.

Functions

NameDescription
_is_data_in_events-

Data

_TEST_PROVIDERS_WITH_TOKEN_USAGE

API

class nemoguardrails.testing.chat_harness.TestChat(
config: nemoguardrails.RailsConfig,
llm_completions: typing.Optional[typing.List[str]] = None,
streaming: bool = False,
llm_exception: typing.Optional[Exception] = None,
token_usage: typing.Optional[typing.List[typing.Dict[str, int]]] = None,
llm: typing.Optional[nemoguardrails.testing.fake_model.FakeLLMModel] = None
)

Helper class for easily writing tests.

app
= LLMRails(config, llm=(self.llm))
history
= []
input_events
= []
nemoguardrails.testing.chat_harness.TestChat.__lshift__(
msg: str
)
nemoguardrails.testing.chat_harness.TestChat.__rshift__(
msg: typing.Union[str, dict]
)
nemoguardrails.testing.chat_harness.TestChat.bot(
expected: typing.Union[str, dict, list]
)
nemoguardrails.testing.chat_harness.TestChat.bot_async(
msg: str
)
async
nemoguardrails.testing.chat_harness.TestChat.user(
msg: typing.Union[str, dict]
)
nemoguardrails.testing.chat_harness._is_data_in_events(
events: typing.List[typing.Dict[str, typing.Any]],
event_data: typing.List[typing.Dict[str, typing.Any]]
) -> bool
nemoguardrails.testing.chat_harness._TEST_PROVIDERS_WITH_TOKEN_USAGE = ['openai', 'azure_openai', 'nim']