{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m24.0\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m24.1\u001b[0m\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n" ] } ], "source": [ "! pip install \"guardrails-ai[api]==0.5.0a9\" -q" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/Users/calebcourier/Projects/gr-mono/guardrails/docs/.venv/bin/guardrails\n" ] } ], "source": [ "! which guardrails" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Installing hub:\u001b[35m/\u001b[0m\u001b[35m/guardrails/\u001b[0m\u001b[95mregex_match...\u001b[0m\n", "ERROR:guardrails-cli:No module named 'guardrails.hub.guardrails.regex_match'\n" ] } ], "source": [ "! guardrails hub install hub://guardrails/regex_match --quiet" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Run this in a terminal\n", "# guardrails start --config=./data/config.py" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "http://localhost:8000\n" ] } ], "source": [ "import os\n", "\n", "os.environ[\"GUARDRAILS_BASE_URL\"] = \"http://localhost:8000\"\n", "\n", "\n", "print(os.environ.get(\"GUARDRAILS_BASE_URL\"))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
ValidationOutcome(\n", " call_id='14555109792',\n", " raw_llm_output='Guardrails AI',\n", " validation_summaries=[],\n", " validated_output='Guardrails AI',\n", " reask=None,\n", " validation_passed=True,\n", " error=None\n", ")\n", "\n" ], "text/plain": [ "\u001b[1;35mValidationOutcome\u001b[0m\u001b[1m(\u001b[0m\n", " \u001b[33mcall_id\u001b[0m=\u001b[32m'14555109792'\u001b[0m,\n", " \u001b[33mraw_llm_output\u001b[0m=\u001b[32m'Guardrails AI'\u001b[0m,\n", " \u001b[33mvalidation_summaries\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m]\u001b[0m,\n", " \u001b[33mvalidated_output\u001b[0m=\u001b[32m'Guardrails AI'\u001b[0m,\n", " \u001b[33mreask\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33mvalidation_passed\u001b[0m=\u001b[3;92mTrue\u001b[0m,\n", " \u001b[33merror\u001b[0m=\u001b[3;35mNone\u001b[0m\n", "\u001b[1m)\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import logging\n", "from rich import print\n", "from guardrails import configure_logging\n", "from guardrails import Guard, settings\n", "\n", "settings.use_server = True\n", "configure_logging(None, log_level=logging.DEBUG)\n", "\n", "name_case = Guard(name=\"name-case\")\n", "\n", "response = name_case.parse(llm_output=\"Guardrails AI\")\n", "\n", "print(response)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
[\n", " Call(\n", " id='14416771056',\n", " iterations=[\n", " Iteration(\n", " id='14545443632',\n", " index=0,\n", " call_id='14416771056',\n", " inputs=Inputs(\n", " llm_api=None,\n", " llm_output='Guardrails AI',\n", " instructions=None,\n", " prompt=None,\n", " messages=None,\n", " msg_history=None,\n", " prompt_params={},\n", " num_reasks=0,\n", " metadata={},\n", " full_schema_reask=False,\n", " stream=False\n", " ),\n", " outputs=Outputs(\n", " llm_response_info=LLMResponse(\n", " prompt_token_count=None,\n", " response_token_count=None,\n", " output='Guardrails AI',\n", " stream_output=None,\n", " async_stream_output=None\n", " ),\n", " raw_output=None,\n", " parsed_output='Guardrails AI',\n", " validation_response='Guardrails AI',\n", " guarded_output='Guardrails AI',\n", " reasks=[],\n", " validator_logs=[\n", " ValidatorLogs(\n", " validator_name='RegexMatch',\n", " registered_name='guardrails/regex_match',\n", " instance_id=6127616944,\n", " property_path='$',\n", " value_before_validation='Guardrails AI',\n", " value_after_validation='Guardrails AI',\n", " validation_result=PassResult(\n", " outcome='pass',\n", " value_override=<class \n", "'guardrails.classes.validation.validation_result.PassResult.ValueOverrideSentinel'>,\n", " metadata=None,\n", " validated_chunk=None\n", " ),\n", " start_time=datetime.datetime(2024, 10, 10, 14, 24, 31, 706666),\n", " end_time=datetime.datetime(2024, 10, 10, 14, 24, 31, 790514)\n", " )\n", " ],\n", " error=None,\n", " exception=None\n", " )\n", " )\n", " ],\n", " inputs=CallInputs(\n", " llm_api=None,\n", " llm_output=None,\n", " instructions=None,\n", " prompt=None,\n", " msg_history=None,\n", " messages=None,\n", " prompt_params={},\n", " num_reasks=0,\n", " metadata={},\n", " full_schema_reask=False,\n", " stream=False,\n", " args=[],\n", " kwargs={'api_key': '****************************************************EnZS'}\n", " ),\n", " exception=None\n", " ),\n", " Call(\n", " id='14555105232',\n", " iterations=[\n", " Iteration(\n", " id='14555107312',\n", " index=0,\n", " call_id='14555105232',\n", " inputs=Inputs(\n", " llm_api=None,\n", " llm_output='Guardrails AI',\n", " instructions=None,\n", " prompt=None,\n", " messages=None,\n", " msg_history=None,\n", " prompt_params={},\n", " num_reasks=0,\n", " metadata={},\n", " full_schema_reask=False,\n", " stream=False\n", " ),\n", " outputs=Outputs(\n", " llm_response_info=LLMResponse(\n", " prompt_token_count=None,\n", " response_token_count=None,\n", " output='Guardrails AI',\n", " stream_output=None,\n", " async_stream_output=None\n", " ),\n", " raw_output=None,\n", " parsed_output='Guardrails AI',\n", " validation_response='Guardrails AI',\n", " guarded_output='Guardrails AI',\n", " reasks=[],\n", " validator_logs=[\n", " ValidatorLogs(\n", " validator_name='RegexMatch',\n", " registered_name='guardrails/regex_match',\n", " instance_id=6127616944,\n", " property_path='$',\n", " value_before_validation='Guardrails AI',\n", " value_after_validation='Guardrails AI',\n", " validation_result=PassResult(\n", " outcome='pass',\n", " value_override=<class \n", "'guardrails.classes.validation.validation_result.PassResult.ValueOverrideSentinel'>,\n", " metadata=None,\n", " validated_chunk=None\n", " ),\n", " start_time=datetime.datetime(2024, 10, 10, 14, 24, 41, 134226),\n", " end_time=datetime.datetime(2024, 10, 10, 14, 24, 41, 204882)\n", " )\n", " ],\n", " error=None,\n", " exception=None\n", " )\n", " )\n", " ],\n", " inputs=CallInputs(\n", " llm_api=None,\n", " llm_output=None,\n", " instructions=None,\n", " prompt=None,\n", " msg_history=None,\n", " messages=None,\n", " prompt_params={},\n", " num_reasks=0,\n", " metadata={},\n", " full_schema_reask=False,\n", " stream=False,\n", " args=[],\n", " kwargs={'api_key': '****************************************************EnZS'}\n", " ),\n", " exception=None\n", " ),\n", " Call(\n", " id='14555109792',\n", " iterations=[\n", " Iteration(\n", " id='14555110912',\n", " index=0,\n", " call_id='14555109792',\n", " inputs=Inputs(\n", " llm_api=None,\n", " llm_output='Guardrails AI',\n", " instructions=None,\n", " prompt=None,\n", " messages=None,\n", " msg_history=None,\n", " prompt_params={},\n", " num_reasks=0,\n", " metadata={},\n", " full_schema_reask=False,\n", " stream=False\n", " ),\n", " outputs=Outputs(\n", " llm_response_info=LLMResponse(\n", " prompt_token_count=None,\n", " response_token_count=None,\n", " output='Guardrails AI',\n", " stream_output=None,\n", " async_stream_output=None\n", " ),\n", " raw_output=None,\n", " parsed_output='Guardrails AI',\n", " validation_response='Guardrails AI',\n", " guarded_output='Guardrails AI',\n", " reasks=[],\n", " validator_logs=[\n", " ValidatorLogs(\n", " validator_name='RegexMatch',\n", " registered_name='guardrails/regex_match',\n", " instance_id=6127616944,\n", " property_path='$',\n", " value_before_validation='Guardrails AI',\n", " value_after_validation='Guardrails AI',\n", " validation_result=PassResult(\n", " outcome='pass',\n", " value_override=<class \n", "'guardrails.classes.validation.validation_result.PassResult.ValueOverrideSentinel'>,\n", " metadata=None,\n", " validated_chunk=None\n", " ),\n", " start_time=datetime.datetime(2024, 10, 10, 14, 25, 46, 566512),\n", " end_time=datetime.datetime(2024, 10, 10, 14, 25, 46, 637393)\n", " )\n", " ],\n", " error=None,\n", " exception=None\n", " )\n", " )\n", " ],\n", " inputs=CallInputs(\n", " llm_api=None,\n", " llm_output=None,\n", " instructions=None,\n", " prompt=None,\n", " msg_history=None,\n", " messages=None,\n", " prompt_params={},\n", " num_reasks=0,\n", " metadata={},\n", " full_schema_reask=False,\n", " stream=False,\n", " args=[],\n", " kwargs={'api_key': '****************************************************EnZS'}\n", " ),\n", " exception=None\n", " )\n", "]\n", "\n" ], "text/plain": [ "\u001b[1m[\u001b[0m\n", " \u001b[1;35mCall\u001b[0m\u001b[1m(\u001b[0m\n", " \u001b[33mid\u001b[0m=\u001b[32m'14416771056'\u001b[0m,\n", " \u001b[33miterations\u001b[0m=\u001b[1m[\u001b[0m\n", " \u001b[1;35mIteration\u001b[0m\u001b[1m(\u001b[0m\n", " \u001b[33mid\u001b[0m=\u001b[32m'14545443632'\u001b[0m,\n", " \u001b[33mindex\u001b[0m=\u001b[1;36m0\u001b[0m,\n", " \u001b[33mcall_id\u001b[0m=\u001b[32m'14416771056'\u001b[0m,\n", " \u001b[33minputs\u001b[0m=\u001b[1;35mInputs\u001b[0m\u001b[1m(\u001b[0m\n", " \u001b[33mllm_api\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33mllm_output\u001b[0m=\u001b[32m'Guardrails AI'\u001b[0m,\n", " \u001b[33minstructions\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33mprompt\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33mmessages\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33mmsg_history\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33mprompt_params\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", " \u001b[33mnum_reasks\u001b[0m=\u001b[1;36m0\u001b[0m,\n", " \u001b[33mmetadata\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", " \u001b[33mfull_schema_reask\u001b[0m=\u001b[3;91mFalse\u001b[0m,\n", " \u001b[33mstream\u001b[0m=\u001b[3;91mFalse\u001b[0m\n", " \u001b[1m)\u001b[0m,\n", " \u001b[33moutputs\u001b[0m=\u001b[1;35mOutputs\u001b[0m\u001b[1m(\u001b[0m\n", " \u001b[33mllm_response_info\u001b[0m=\u001b[1;35mLLMResponse\u001b[0m\u001b[1m(\u001b[0m\n", " \u001b[33mprompt_token_count\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33mresponse_token_count\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33moutput\u001b[0m=\u001b[32m'Guardrails AI'\u001b[0m,\n", " \u001b[33mstream_output\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33masync_stream_output\u001b[0m=\u001b[3;35mNone\u001b[0m\n", " \u001b[1m)\u001b[0m,\n", " \u001b[33mraw_output\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", " \u001b[33mparsed_output\u001b[0m=\u001b[32m'Guardrails AI'\u001b[0m,\n", " \u001b[33mvalidation_response\u001b[0m=\u001b[32m'Guardrails AI'\u001b[0m,\n", " \u001b[33mguarded_output\u001b[0m=\u001b[32m'Guardrails AI'\u001b[0m,\n", " \u001b[33mreasks\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m]\u001b[0m,\n", " \u001b[33mvalidator_logs\u001b[0m=\u001b[1m[\u001b[0m\n", " \u001b[1;35mValidatorLogs\u001b[0m\u001b[1m(\u001b[0m\n", " \u001b[33mvalidator_name\u001b[0m=\u001b[32m'RegexMatch'\u001b[0m,\n", " \u001b[33mregistered_name\u001b[0m=\u001b[32m'guardrails/regex_match'\u001b[0m,\n", " \u001b[33minstance_id\u001b[0m=\u001b[1;36m6127616944\u001b[0m,\n", " \u001b[33mproperty_path\u001b[0m=\u001b[32m'$'\u001b[0m,\n", " \u001b[33mvalue_before_validation\u001b[0m=\u001b[32m'Guardrails AI'\u001b[0m,\n", " \u001b[33mvalue_after_validation\u001b[0m=\u001b[32m'Guardrails AI'\u001b[0m,\n", " \u001b[33mvalidation_result\u001b[0m=\u001b[1;35mPassResult\u001b[0m\u001b[1m(\u001b[0m\n", " \u001b[33moutcome\u001b[0m=\u001b[32m'pass'\u001b[0m,\n", " \u001b[33mvalue_override\u001b[0m=\u001b[1m<\u001b[0m\u001b[1;95mclass\u001b[0m\u001b[39m \u001b[0m\n", "\u001b[32m'guardrails.classes.validation.validation_result.PassResult.ValueOverrideSentinel'\u001b[0m\u001b[39m>,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mmetadata\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mvalidated_chunk\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m)\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mstart_time\u001b[0m\u001b[39m=\u001b[0m\u001b[1;35mdatetime\u001b[0m\u001b[1;35m.datetime\u001b[0m\u001b[1;39m(\u001b[0m\u001b[1;36m2024\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m10\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m10\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m14\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m24\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m31\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m706666\u001b[0m\u001b[1;39m)\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mend_time\u001b[0m\u001b[39m=\u001b[0m\u001b[1;35mdatetime\u001b[0m\u001b[1;35m.datetime\u001b[0m\u001b[1;39m(\u001b[0m\u001b[1;36m2024\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m10\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m10\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m14\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m24\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m31\u001b[0m\u001b[39m, \u001b[0m\u001b[1;36m790514\u001b[0m\u001b[1;39m)\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m)\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m]\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33merror\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mexception\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m)\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m)\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m]\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33minputs\u001b[0m\u001b[39m=\u001b[0m\u001b[1;35mCallInputs\u001b[0m\u001b[1;39m(\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mllm_api\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mllm_output\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33minstructions\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mprompt\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mmsg_history\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mmessages\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mprompt_params\u001b[0m\u001b[39m=\u001b[0m\u001b[1;39m{\u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mnum_reasks\u001b[0m\u001b[39m=\u001b[0m\u001b[1;36m0\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mmetadata\u001b[0m\u001b[39m=\u001b[0m\u001b[1;39m{\u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mfull_schema_reask\u001b[0m\u001b[39m=\u001b[0m\u001b[3;91mFalse\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mstream\u001b[0m\u001b[39m=\u001b[0m\u001b[3;91mFalse\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33margs\u001b[0m\u001b[39m=\u001b[0m\u001b[1;39m[\u001b[0m\u001b[1;39m]\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mkwargs\u001b[0m\u001b[39m=\u001b[0m\u001b[1;39m{\u001b[0m\u001b[32m'api_key'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'****************************************************EnZS'\u001b[0m\u001b[1;39m}\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m)\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mexception\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m)\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;35mCall\u001b[0m\u001b[1;39m(\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mid\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'14555105232'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33miterations\u001b[0m\u001b[39m=\u001b[0m\u001b[1;39m[\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;35mIteration\u001b[0m\u001b[1;39m(\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mid\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'14555107312'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mindex\u001b[0m\u001b[39m=\u001b[0m\u001b[1;36m0\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mcall_id\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'14555105232'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33minputs\u001b[0m\u001b[39m=\u001b[0m\u001b[1;35mInputs\u001b[0m\u001b[1;39m(\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mllm_api\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mllm_output\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'Guardrails AI'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33minstructions\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mprompt\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mmessages\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mmsg_history\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mprompt_params\u001b[0m\u001b[39m=\u001b[0m\u001b[1;39m{\u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mnum_reasks\u001b[0m\u001b[39m=\u001b[0m\u001b[1;36m0\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mmetadata\u001b[0m\u001b[39m=\u001b[0m\u001b[1;39m{\u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mfull_schema_reask\u001b[0m\u001b[39m=\u001b[0m\u001b[3;91mFalse\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mstream\u001b[0m\u001b[39m=\u001b[0m\u001b[3;91mFalse\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m)\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33moutputs\u001b[0m\u001b[39m=\u001b[0m\u001b[1;35mOutputs\u001b[0m\u001b[1;39m(\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mllm_response_info\u001b[0m\u001b[39m=\u001b[0m\u001b[1;35mLLMResponse\u001b[0m\u001b[1;39m(\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mprompt_token_count\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mresponse_token_count\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33moutput\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'Guardrails AI'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mstream_output\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33masync_stream_output\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;39m)\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mraw_output\u001b[0m\u001b[39m=\u001b[0m\u001b[3;35mNone\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mparsed_output\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'Guardrails AI'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mvalidation_response\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'Guardrails AI'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mguarded_output\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'Guardrails AI'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mreasks\u001b[0m\u001b[39m=\u001b[0m\u001b[1;39m[\u001b[0m\u001b[1;39m]\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mvalidator_logs\u001b[0m\u001b[39m=\u001b[0m\u001b[1;39m[\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[1;35mValidatorLogs\u001b[0m\u001b[1;39m(\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mvalidator_name\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'RegexMatch'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mregistered_name\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'guardrails/regex_match'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33minstance_id\u001b[0m\u001b[39m=\u001b[0m\u001b[1;36m6127616944\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mproperty_path\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'$'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mvalue_before_validation\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'Guardrails AI'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mvalue_after_validation\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'Guardrails AI'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mvalidation_result\u001b[0m\u001b[39m=\u001b[0m\u001b[1;35mPassResult\u001b[0m\u001b[1;39m(\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33moutcome\u001b[0m\u001b[39m=\u001b[0m\u001b[32m'pass'\u001b[0m\u001b[39m,\u001b[0m\n", "\u001b[39m \u001b[0m\u001b[33mvalue_override\u001b[0m\u001b[39m=