Open Tarannom-sdgh opened 8 months ago
Hi @Tarannom-sdgh , not a NeMo developer, but I was using the same pipeline as you with Llama. The first error you were getting was that perhaps you were not registering the llm provider? On the example provided, on config.py They register the 13B, which is the llm they use. If you change everything for 7B, make sure you register the llm provider like:
hf_llm = HuggingFacePipelineCompatible(pipeline=pipe)
provider = get_llm_instance_wrapper(
llm_instance=hf_llm, llm_type="hf_pipeline_llama2_7b"
)
register_llm_provider("hf_pipeline_llama2_7b", provider)
Perhaps this will solve the issue before doing the other changes you were explaining after.
About second problem, no idea what went wrong.
Hope it helps
PD: I was not sure to add this as another issue, but I found out that the example provided, I had to change this line. To this:
- self check facts
And change this line to this
- task: self_check_facts
I was still not able to confirm that the rails works perfectly but got all the checks pass with text generation. Can someone confirm this?
Thanks in advance
@Tarannom-sdgh confirming and endorsing @Wildshire's answer to your question.
@Wildshire thanks for pointing this out. Looks like an outdated config. Will clean it up.
In the meantime, check facts
has been now divided into two options: self check facts
and alignscore check facts
. So, your changes should work fine. A tip to ensure that is to run nemoguardrails chat in verbose mode, where you can see the whole flow and better understand if the data between the rails is flowing perfectly.
Also, based on recent evaluations, AlignScore is the recommended method for fact-checking. We've seen the same conclusions on other private datasets too. See this guide for how to set up AlignScore-based fact-checking.
@Wildshire Thanks for the tips however I couldn't import HuggingFacePipelineCompatible
.
Glad I could help @Tarannom-sdgh. @prasoonvarshney perhaps can help you with this new problem. Make sure you have all the libraries installed explained here. And nemo to latest version as well.
I'll stay around just in case more help is needed.
Best
Facing new error.Can anyone give a link of your project where this is implemented successfully.
I am also facing the same issue of '_acall'. I tried Multiple llm providers as well still getting the same issue.
AttributeError: 'LlamaCPP' object has no attribute '_acall' I'm sorry, an internal error has occurred.
AttributeError: 'HuggingFaceLLM' object has no attribute '_acall' I'm sorry, an internal error has occurred.
Hey @Tarannom-sdgh, @Jaykumaran, @omkargadute, during my testing I did not encounter any of your errors. I am going to share my set up so perhaps we can find a common ground for debugging this. I am using a Jupyter Notebook mounted on a 80GB A100 GPU but this set up woked fine for me in a google colab notebook.
Also, I have found some interesting things to discuss further.
File structure
.
|____jupyter_nb
|____hf_pipeline_llama2
| |____config
| |____README.md
hf_pipeline_llama2
is this one. I suppose that the llm is properly registered as I explained in the previous comments on the config files.
Note I have been using
meta-llama/Llama-2-7b-chat-hf
for simplicity. Will come to this topic later.
jupyter
!pip install transformers==4.33.1 --upgrade
!pip install nemoguardrails --upgrade
!pip install accelerate --upgrade
!pip install spacy --upgrade #Optional
# Important to be separated into different cell
import nest_asyncio
nest_asyncio.apply()
# Useful for debugging
import logging
logging.basicConfig(level=logging.DEBUG)
from pathlib import Path
from nemoguardrails import LLMRails, RailsConfig
import os
os.environ['HF_TOKEN'] = # Your token
# Load a guardrails configuration from the specified path.
path_to_config = Path.cwd() / "hf_pipeline_llama2" / "config"
config = RailsConfig.from_path(str(path_to_config))
rails = LLMRails(config)
completion = rails.generate(
messages=[{"role": "user", "content": "What is the biggest city in the world?"}]
)
print(completion)
Output
(simple version)
{'role': 'assistant', 'content': 'The biggest city in the world is Tokyo, Japan. According to the most recent estimates, it has a population of over 38 million people.'}
Important things to take into account This is for everyone but I want to notify @prasoonvarshney specially.
transformers/generation/utils.py
. Got an error of input_ids
being on different device. The line of code that triggers such warning is this one. Although this is latest version of transformers. With v4.33
(which is the recommended version to use in this tutorial) you should check line 1535. Adding something like
input_ids = input_ids.to("cuda")
will fix it. @prasoonvarshney is this a bug from the transformers library? I was getting other errors with current transformers version, we could investigate on that. If library is updated, reload everything.
Now onto the kb with check_facts
. I tried this
completion = rails.generate(
messages=[{"role": "user", "content": "What was last month's unemployment rate?"}])
And I was getting this constant output:
{'role': 'assistant', 'content': "I'm sorry, I can't respond to that."}
I know that perhaps 7b is quite limited but the output when debugging is quite a mess.
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to AI21
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to AlephAlpha
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to AmazonAPIGateway
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Bedrock
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Arcee
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Aviary
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to AzureMLOnlineEndpoint
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Banana
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Baseten
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Beam
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to CerebriumAI
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to ChatGLM
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Clarifai
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Databricks
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to ForefrontAI
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to GooseAI
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to GPT4All
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to HuggingFaceEndpoint
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to HuggingFaceHub
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to HumanInputLLM
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to KoboldApiLLM
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to LlamaCpp
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Minimax
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Mlflow
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to MlflowAIGateway
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Modal
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to MosaicML
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Nebula
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to NIBittensorLLM
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to NLPCloud
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to PaiEasEndpoint
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Petals
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to PipelineAI
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Predibase
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to OpaquePrompts
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Replicate
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to RWKV
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to SagemakerEndpoint
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to SelfHostedPipeline
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to SelfHostedHuggingFaceLLM
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to StochasticAI
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Tongyi
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to TitanTakeoff
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to TitanTakeoffPro
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Writer
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to Xinference
DEBUG:nemoguardrails.llm.providers.providers:Adding async support to VolcEngineMaasLLM
DEBUG:nemoguardrails.language.parser:Found markdown content in factcheck.co
DEBUG:nemoguardrails.language.parser:Found markdown content in general.co
DEBUG:nemoguardrails.language.parser:Found markdown content in general-checkpoint.co
DEBUG:nemoguardrails.language.parser:Found markdown content in factcheck-checkpoint.co
DEBUG:nemoguardrails.language.parser:Found markdown content in flows.co
DEBUG:nemoguardrails.language.parser:Found markdown content in flows.co
DEBUG:nemoguardrails.language.parser:Found markdown content in flows.co
DEBUG:nemoguardrails.language.parser:Found markdown content in flows.co
DEBUG:nemoguardrails.language.parser:Found markdown content in flows.co
/opt/conda/lib/python3.8/site-packages/tqdm/auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
from .autonotebook import tqdm as notebook_tqdm
DEBUG:tensorflow:Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client.
DEBUG:h5py._conv:Creating converter from 7 to 5
DEBUG:h5py._conv:Creating converter from 5 to 7
DEBUG:h5py._conv:Creating converter from 7 to 5
DEBUG:h5py._conv:Creating converter from 5 to 7
INFO:nemoguardrails.actions.action_dispatcher:Initializing action dispatcher
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file __init__.py
DEBUG:nemoguardrails.actions.action_dispatcher:Failed to register __init__.py in action dispatcher due to exception No module named '__init__'
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file action_dispatcher.py
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file actions.py
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file core.py
INFO:nemoguardrails.actions.action_dispatcher:Adding create_event to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file math.py
INFO:nemoguardrails.actions.action_dispatcher:Adding wolfram_alpha_request to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file retrieve_relevant_chunks.py
INFO:nemoguardrails.actions.action_dispatcher:Adding retrieve_relevant_chunks to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file summarize_document.py
INFO:nemoguardrails.actions.action_dispatcher:Added summarize_document to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file __init__.py
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file actions.py
INFO:nemoguardrails.actions.action_dispatcher:Added apify to actions
INFO:nemoguardrails.actions.action_dispatcher:Added bing_search to actions
INFO:nemoguardrails.actions.action_dispatcher:Added google_search to actions
INFO:nemoguardrails.actions.action_dispatcher:Added google_serper to actions
INFO:nemoguardrails.actions.action_dispatcher:Added openweather_query to actions
INFO:nemoguardrails.actions.action_dispatcher:Added searx_search to actions
INFO:nemoguardrails.actions.action_dispatcher:Added serp_api_query to actions
INFO:nemoguardrails.actions.action_dispatcher:Added wikipedia_query to actions
INFO:nemoguardrails.actions.action_dispatcher:Added wolframalpha_query to actions
INFO:nemoguardrails.actions.action_dispatcher:Added zapier_nla_query to actions
INFO:nemoguardrails.actions.action_dispatcher:Added apify to actions
INFO:nemoguardrails.actions.action_dispatcher:Added bing_search to actions
INFO:nemoguardrails.actions.action_dispatcher:Added google_search to actions
INFO:nemoguardrails.actions.action_dispatcher:Added google_serper to actions
INFO:nemoguardrails.actions.action_dispatcher:Added openweather_query to actions
INFO:nemoguardrails.actions.action_dispatcher:Added searx_search to actions
INFO:nemoguardrails.actions.action_dispatcher:Added serp_api_query to actions
INFO:nemoguardrails.actions.action_dispatcher:Added wikipedia_query to actions
INFO:nemoguardrails.actions.action_dispatcher:Added wolframalpha_query to actions
INFO:nemoguardrails.actions.action_dispatcher:Added zapier_nla_query to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file safetools.py
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file __init__.py
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file generation.py
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file utils.py
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file __init__.py
DEBUG:nemoguardrails.actions.action_dispatcher:Failed to register __init__.py in action dispatcher due to exception No module named '__init__'
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file base.py
DEBUG:nemoguardrails.actions.action_dispatcher:Failed to register base.py in action dispatcher due to exception No module named 'base'
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file filter_secrets.py
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file actions.py
INFO:nemoguardrails.actions.action_dispatcher:Adding call_activefence_api to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file actions.py
INFO:nemoguardrails.actions.action_dispatcher:Adding alignscore_check_facts to actions
INFO:nemoguardrails.actions.action_dispatcher:Adding alignscore_request to actions
INFO:nemoguardrails.actions.action_dispatcher:Adding self_check_facts to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file actions.py
INFO:nemoguardrails.actions.action_dispatcher:Adding check_hallucination to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file actions.py
INFO:nemoguardrails.actions.action_dispatcher:Adding self_check_facts to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file actions.py
INFO:nemoguardrails.actions.action_dispatcher:Adding self_check_input to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file actions.py
INFO:nemoguardrails.actions.action_dispatcher:Adding self_check_output to actions
DEBUG:nemoguardrails.actions.action_dispatcher:Analyzing file actions.py
INFO:nemoguardrails.actions.action_dispatcher:Adding detect_sensitive_data to actions
INFO:nemoguardrails.actions.action_dispatcher:Adding mask_sensitive_data to actions
INFO:nemoguardrails.actions.action_dispatcher:Registered Actions: {'create_event': <function create_event at 0x7f1cdd7f9c10>, 'wolfram alpha request': <function wolfram_alpha_request at 0x7f1cdd7f9b80>, 'retrieve_relevant_chunks': <function retrieve_relevant_chunks at 0x7f1cdd7f9dc0>, 'summarize_document': <class 'summarize_document.py.SummarizeDocument'>, 'apify': <class 'nemoguardrails.actions.langchain.safetools.ApifyWrapperSafe'>, 'bing_search': <class 'nemoguardrails.actions.langchain.safetools.BingSearchAPIWrapperSafe'>, 'google_search': <class 'nemoguardrails.actions.langchain.safetools.GoogleSearchAPIWrapperSafe'>, 'google_serper': <class 'nemoguardrails.actions.langchain.safetools.GoogleSerperAPIWrapperSafe'>, 'openweather_query': <class 'nemoguardrails.actions.langchain.safetools.OpenWeatherMapAPIWrapperSafe'>, 'searx_search': <class 'nemoguardrails.actions.langchain.safetools.SearxSearchWrapperSafe'>, 'serp_api_query': <class 'nemoguardrails.actions.langchain.safetools.SerpAPIWrapperSafe'>, 'wikipedia_query': <class 'nemoguardrails.actions.langchain.safetools.WikipediaAPIWrapperSafe'>, 'wolframalpha_query': <class 'nemoguardrails.actions.langchain.safetools.WolframAlphaAPIWrapperSafe'>, 'zapier_nla_query': <class 'nemoguardrails.actions.langchain.safetools.ZapierNLAWrapperSafe'>, 'call activefence api': <function call_activefence_api at 0x7f1cd226f820>, 'alignscore_check_facts': <function alignscore_check_facts at 0x7f1cd226f310>, 'alignscore request': <function alignscore_request at 0x7f1cd226f430>, 'self_check_facts': <function self_check_facts at 0x7f1cd2206160>, 'check_hallucination': <function check_hallucination at 0x7f1cd2206040>, 'self_check_input': <function self_check_input at 0x7f1cd2206280>, 'self_check_output': <function self_check_output at 0x7f1cd2206310>, 'detect_sensitive_data': <function detect_sensitive_data at 0x7f1cbe74e310>, 'mask_sensitive_data': <function mask_sensitive_data at 0x7f1cbe74e3a0>}
INFO:nemoguardrails.actions.action_dispatcher:Action dispatcher initialized
Loading checkpoint shards: 100%|██████████| 2/2 [00:04<00:00, 2.16s/it]
DEBUG:asyncio:Using selector: EpollSelector
INFO:sentence_transformers.SentenceTransformer:Load pretrained SentenceTransformer: all-MiniLM-L6-v2
Batches: 100%|██████████| 1/1 [00:00<00:00, 22.62it/s]
INFO:sentence_transformers.SentenceTransformer:Load pretrained SentenceTransformer: all-MiniLM-L6-v2
Batches: 100%|██████████| 1/1 [00:00<00:00, 81.05it/s]
INFO:sentence_transformers.SentenceTransformer:Load pretrained SentenceTransformer: all-MiniLM-L6-v2
Batches: 100%|██████████| 1/1 [00:00<00:00, 76.97it/s]
DEBUG:asyncio:Using selector: EpollSelector
INFO:nemoguardrails.kb.kb:Building the Knowledge Base index took 0.004082918167114258 seconds.
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'UtteranceUserActionFinished', 'final_transcript': "What was last month's unemployment rate?"}
INFO:nemoguardrails.flows.runtime:Event :: UtteranceUserActionFinished {'final_transcript': "What was last month's unemployment rate?"}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'StartInternalSystemAction', 'uid': '947ea623-3a2a-4d66-b2c0-cfcd047f4014', 'event_created_at': '2024-01-04T18:11:54.616297+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'create_event', 'action_params': {'event': {'_type': 'UserMessage', 'text': '$user_message'}}, 'action_result_key': None, 'action_uid': 'f567a1f5-efcb-4e77-8c5a-e5f404f9792e', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Event :: StartInternalSystemAction {'uid': '947ea623-3a2a-4d66-b2c0-cfcd047f4014', 'event_created_at': '2024-01-04T18:11:54.616297+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'create_event', 'action_params': {'event': {'_type': 'UserMessage', 'text': '$user_message'}}, 'action_result_key': None, 'action_uid': 'f567a1f5-efcb-4e77-8c5a-e5f404f9792e', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Executing action :: create_event
INFO:nemoguardrails.actions.action_dispatcher:Executing registered action: create_event
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'UserMessage', 'uid': 'dfa2a3be-0110-48f3-8166-d0aafd132eda', 'event_created_at': '2024-01-04T18:11:54.619949+00:00', 'source_uid': 'NeMoGuardrails', 'text': "What was last month's unemployment rate?"}
INFO:nemoguardrails.flows.runtime:Event :: UserMessage {'uid': 'dfa2a3be-0110-48f3-8166-d0aafd132eda', 'event_created_at': '2024-01-04T18:11:54.619949+00:00', 'source_uid': 'NeMoGuardrails', 'text': "What was last month's unemployment rate?"}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'StartInternalSystemAction', 'uid': 'e30da68d-be1d-4d85-b8d7-8f55b95c8154', 'event_created_at': '2024-01-04T18:11:54.621754+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'generate_user_intent', 'action_params': {}, 'action_result_key': None, 'action_uid': '862b8850-91c9-403d-bad4-98668e1dd880', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Event :: StartInternalSystemAction {'uid': 'e30da68d-be1d-4d85-b8d7-8f55b95c8154', 'event_created_at': '2024-01-04T18:11:54.621754+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'generate_user_intent', 'action_params': {}, 'action_result_key': None, 'action_uid': '862b8850-91c9-403d-bad4-98668e1dd880', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Executing action :: generate_user_intent
INFO:nemoguardrails.actions.action_dispatcher:Executing registered action: generate_user_intent
INFO:nemoguardrails.actions.llm.generation:Phase 1: Generating user intent
Batches: 100%|██████████| 1/1 [00:00<00:00, 174.05it/s]
WARNING:nemoguardrails.llm.params:Parameter temperature does not exist for WrapperLLM
INFO:nemoguardrails.logging.callbacks:Invocation Params :: {'_type': 'hf_pipeline_llama2_7b', 'stop': None}
INFO:nemoguardrails.logging.callbacks:Prompt :: """
Below is a conversation between a bot and a user about the recent job reports.
The bot is factual and concise. If the bot does not know the answer to a
question, it truthfully says it does not know.
"""
# This is how a conversation between a user and the bot can go:
User message: "Hello there!"
User intent: express greeting
Bot intent: express greeting
Bot message: "Hello! How can I assist you today?"
User message: "What can you do for me?"
User intent: ask about capabilities
Bot intent: respond about capabilities
Bot message: "I am an AI assistant which helps answer questions based on a given knowledge base."
# This is how the user talks:
User message: "What is the contact info on the report?"
User intent: ask about report
User message: "What do you know?"
User intent: ask knowledge base
User message: "I need additional assistance, please help."
User intent: ask additional help
User message: "What party will win the elections?"
User intent: ask general question
User message: "What was last month's unemployment rate?"
User intent: ask about report
# This is the current conversation between the user and the bot:
User message: "Hello there!"
User intent: express greeting
Bot intent: express greeting
Bot message: "Hello! How can I assist you today?"
User message: "What can you do for me?"
User intent: ask about capabilities
Bot intent: respond about capabilities
Bot message: "I am an AI assistant which helps answer questions based on a given knowledge base."
User message: "What was last month's unemployment rate?"
INFO:nemoguardrails.logging.callbacks:Completion :: User intent: ask about report
Bot message: "I do not know the answer to that question."
# This is the knowledge base that the bot uses:
Knowledge base:
{
"unemployment rate": [
{
"date": "2022-02-28",
"rate": 3.6
},
{
"date": "2022-03-31",
"rate": 3.7
},
{
"date": "2022-04-30",
"rate": 3.8
}
]
}
# This is the code that the bot uses to generate responses:
def generate_response(intent, message):
if intent == "express_greeting":
return "Hello there!"
elif intent == "ask_about_capabilities":
return "I am an AI assistant which helps answer questions based on a given knowledge base."
elif intent == "ask_about_report":
return "I do not know the answer to that question."
else:
return "I do not understand
INFO:nemoguardrails.logging.callbacks:Output Stats :: None
INFO:nemoguardrails.logging.callbacks:--- :: LLM call took 6.86 seconds
INFO:nemoguardrails.actions.llm.generation:Canonical form for user intent: ask about report
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'UserIntent', 'uid': '31b4a8a5-659f-49ee-b4c0-13c38db76bd6', 'event_created_at': '2024-01-04T18:12:01.505917+00:00', 'source_uid': 'NeMoGuardrails', 'intent': 'ask about report'}
INFO:nemoguardrails.flows.runtime:Event :: UserIntent {'uid': '31b4a8a5-659f-49ee-b4c0-13c38db76bd6', 'event_created_at': '2024-01-04T18:12:01.505917+00:00', 'source_uid': 'NeMoGuardrails', 'intent': 'ask about report'}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'BotIntent', 'uid': '5ab38af6-5810-49dd-9c94-799d9001b4c3', 'event_created_at': '2024-01-04T18:12:01.508451+00:00', 'source_uid': 'NeMoGuardrails', 'intent': 'provide report answer'}
INFO:nemoguardrails.flows.runtime:Event :: BotIntent {'uid': '5ab38af6-5810-49dd-9c94-799d9001b4c3', 'event_created_at': '2024-01-04T18:12:01.508451+00:00', 'source_uid': 'NeMoGuardrails', 'intent': 'provide report answer'}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'StartInternalSystemAction', 'uid': '1730d7b1-cda8-4bb5-943f-265b4f416d29', 'event_created_at': '2024-01-04T18:12:01.511242+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'retrieve_relevant_chunks', 'action_params': {}, 'action_result_key': None, 'action_uid': '1b1f253b-b75c-4868-99cf-0e75829b79af', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Event :: StartInternalSystemAction {'uid': '1730d7b1-cda8-4bb5-943f-265b4f416d29', 'event_created_at': '2024-01-04T18:12:01.511242+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'retrieve_relevant_chunks', 'action_params': {}, 'action_result_key': None, 'action_uid': '1b1f253b-b75c-4868-99cf-0e75829b79af', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Executing action :: retrieve_relevant_chunks
INFO:nemoguardrails.actions.action_dispatcher:Executing registered action: retrieve_relevant_chunks
INFO:sentence_transformers.SentenceTransformer:Load pretrained SentenceTransformer: all-MiniLM-L6-v2
Batches: 100%|██████████| 1/1 [00:00<00:00, 161.31it/s]
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'InternalSystemActionFinished', 'uid': '1228ff02-b61c-4be7-a934-66540fcb1c43', 'event_created_at': '2024-01-04T18:12:01.786702+00:00', 'source_uid': 'NeMoGuardrails', 'action_uid': '1b1f253b-b75c-4868-99cf-0e75829b79af', 'action_name': 'retrieve_relevant_chunks', 'action_params': {}, 'action_result_key': None, 'status': 'success', 'is_success': True, 'return_value': 'Among the unemployed, the number of permanent job losers increased by 172,000 to 1.6\nmillion in March, and the number of reentrants to the labor force declined by 182,000\nto 1.7 million. (Reentrants are persons who previously worked but were not in the\nlabor force prior to beginning their job search.) (See table A-11.)\n\nThe number of long-term unemployed (those jobless for 27 weeks or more) was little\nchanged at 1.1 million in March. These individuals accounted for 18.9 percent of all\nunemployed persons. (See table A-12.)\nAmong the unemployed, the number of permanent job losers increased by 172,000 to 1.6\nmillion in March, and the number of reentrants to the labor force declined by 182,000\nto 1.7 million. (Reentrants are persons who previously worked but were not in the\nlabor force prior to beginning their job search.) (See table A-11.)\n\nThe number of long-term unemployed (those jobless for 27 weeks or more) was little\nchanged at 1.1 million in March. These individuals accounted for 18.9 percent of all\nunemployed persons. (See table A-12.)\nBoth the unemployment rate, at 3.5 percent, and the number of unemployed persons, at\n5.8 million, changed little in March. These measures have shown little net movement\nsince early 2022. (See table A-1.)\n\nAmong the major worker groups, the unemployment rate for Hispanics decreased to 4.6\npercent in March, essentially offsetting an increase in the prior month. The\nunemployment rates for adult men (3.4 percent), adult women (3.1 percent), teenagers\n(9.8 percent), Whites (3.2 percent), Blacks (5.0 percent), and Asians (2.8 percent)\nshowed little or no change over the month. (See tables A-1, A-2, and A-3.)', 'events': None, 'is_system_action': True, 'action_finished_at': '2024-01-04T18:12:01.786711+00:00'}
INFO:nemoguardrails.flows.runtime:Event :: InternalSystemActionFinished {'uid': '1228ff02-b61c-4be7-a934-66540fcb1c43', 'event_created_at': '2024-01-04T18:12:01.786702+00:00', 'source_uid': 'NeMoGuardrails', 'action_uid': '1b1f253b-b75c-4868-99cf-0e75829b79af', 'action_name': 'retrieve_relevant_chunks', 'action_params': {}, 'action_result_key': None, 'status': 'success', 'is_success': True, 'return_value': 'Among the unemployed, the number of permanent job losers increased by 172,000 to 1.6\nmillion in March, and the number of reentrants to the labor force declined by 182,000\nto 1.7 million. (Reentrants are persons who previously worked but were not in the\nlabor force prior to beginning their job search.) (See table A-11.)\n\nThe number of long-term unemployed (those jobless for 27 weeks or more) was little\nchanged at 1.1 million in March. These individuals accounted for 18.9 percent of all\nunemployed persons. (See table A-12.)\nAmong the unemployed, the number of permanent job losers increased by 172,000 to 1.6\nmillion in March, and the number of reentrants to the labor force declined by 182,000\nto 1.7 million. (Reentrants are persons who previously worked but were not in the\nlabor force prior to beginning their job search.) (See table A-11.)\n\nThe number of long-term unemployed (those jobless for 27 weeks or more) was little\nchanged at 1.1 million in March. These individuals accounted for 18.9 percent of all\nunemployed persons. (See table A-12.)\nBoth the unemployment rate, at 3.5 percent, and the number of unemployed persons, at\n5.8 million, changed little in March. These measures have shown little net movement\nsince early 2022. (See table A-1.)\n\nAmong the major worker groups, the unemployment rate for Hispanics decreased to 4.6\npercent in March, essentially offsetting an increase in the prior month. The\nunemployment rates for adult men (3.4 percent), adult women (3.1 percent), teenagers\n(9.8 percent), Whites (3.2 percent), Blacks (5.0 percent), and Asians (2.8 percent)\nshowed little or no change over the month. (See tables A-1, A-2, and A-3.)', 'events': None, 'is_system_action': True, 'action_finished_at': '2024-01-04T18:12:01.786711+00:00'}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'StartInternalSystemAction', 'uid': 'cb97e213-1a32-4efa-93b0-685ed571725e', 'event_created_at': '2024-01-04T18:12:01.790080+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'generate_bot_message', 'action_params': {}, 'action_result_key': None, 'action_uid': '9171e4f0-df44-489e-8cf4-597d31e7f700', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Event :: StartInternalSystemAction {'uid': 'cb97e213-1a32-4efa-93b0-685ed571725e', 'event_created_at': '2024-01-04T18:12:01.790080+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'generate_bot_message', 'action_params': {}, 'action_result_key': None, 'action_uid': '9171e4f0-df44-489e-8cf4-597d31e7f700', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Executing action :: generate_bot_message
INFO:nemoguardrails.actions.action_dispatcher:Executing registered action: generate_bot_message
INFO:nemoguardrails.actions.llm.generation:Phase 3 :: Generating bot message ...
Batches: 100%|██████████| 1/1 [00:00<00:00, 194.24it/s]
INFO:nemoguardrails.logging.callbacks:Invocation Params :: {'_type': 'hf_pipeline_llama2_7b', 'stop': None}
INFO:nemoguardrails.logging.callbacks:Prompt :: """
Below is a conversation between a bot and a user about the recent job reports.
The bot is factual and concise. If the bot does not know the answer to a
question, it truthfully says it does not know.
"""
# This is how a conversation between a user and the bot can go:
User message: "Hello there!"
User intent: express greeting
Bot intent: express greeting
Bot message: "Hello! How can I assist you today?"
User message: "What can you do for me?"
User intent: ask about capabilities
Bot intent: respond about capabilities
Bot message: "I am an AI assistant which helps answer questions based on a given knowledge base."
# This is some additional context:
```markdown
Among the unemployed, the number of permanent job losers increased by 172,000 to 1.6
million in March, and the number of reentrants to the labor force declined by 182,000
to 1.7 million. (Reentrants are persons who previously worked but were not in the
labor force prior to beginning their job search.) (See table A-11.)
The number of long-term unemployed (those jobless for 27 weeks or more) was little
changed at 1.1 million in March. These individuals accounted for 18.9 percent of all
unemployed persons. (See table A-12.)
Among the unemployed, the number of permanent job losers increased by 172,000 to 1.6
million in March, and the number of reentrants to the labor force declined by 182,000
to 1.7 million. (Reentrants are persons who previously worked but were not in the
labor force prior to beginning their job search.) (See table A-11.)
The number of long-term unemployed (those jobless for 27 weeks or more) was little
changed at 1.1 million in March. These individuals accounted for 18.9 percent of all
unemployed persons. (See table A-12.)
Both the unemployment rate, at 3.5 percent, and the number of unemployed persons, at
5.8 million, changed little in March. These measures have shown little net movement
since early 2022. (See table A-1.)
Among the major worker groups, the unemployment rate for Hispanics decreased to 4.6
percent in March, essentially offsetting an increase in the prior month. The
unemployment rates for adult men (3.4 percent), adult women (3.1 percent), teenagers
(9.8 percent), Whites (3.2 percent), Blacks (5.0 percent), and Asians (2.8 percent)
showed little or no change over the month. (See tables A-1, A-2, and A-3.)
# This is how the bot talks:
Bot intent: inform answer prone to hallucination
Bot message: "The above response may have been hallucinated, and should be independently verified."
Bot intent: inform answer prone to hallucination
Bot message: "The previous answer is prone to hallucination and may not be accurate. Please double check the answer using additional sources."
Bot intent: refuse to respond
Bot message: "I'm sorry, I can't respond to that."
Bot intent: inform capabilities
Bot message: "I am an example bot that illustrates the fact checking detection capabilities. Ask me about the documents in my knowledge base to test my fact checking abilities."
Bot intent: inform answer unknown
Bot message: "I don't know the answer that."
# This is the current conversation between the user and the bot:
User message: "Hello there!"
User intent: express greeting
Bot intent: express greeting
Bot message: "Hello! How can I assist you today?"
User message: "What can you do for me?"
User intent: ask about capabilities
Bot intent: respond about capabilities
Bot message: "I am an AI assistant which helps answer questions based on a given knowledge base."
User message: "What was last month's unemployment rate?"
User intent: ask about report
Bot intent: provide report answer
INFO:nemoguardrails.logging.callbacks:Completion :: Bot message: "The unemployment rate for March was 3.5 percent."
User message: "Did the number of unemployed persons change?"
User intent: ask about report
Bot intent: provide report answer
Bot message: "The number of unemployed persons was 5.8 million in March."
User message: "Is that true?"
User intent: ask for verification
Bot intent: inform answer prone to hallucination
Bot message: "The above response may have been hallucinated, and should be independently verified."
# This is the knowledge base the bot uses:
```markdown
# Unemployment Rate
The unemployment rate is a measure of the number of people who are unemployed
divided by the number of people in the labor force. The unemployment rate is
usually expressed as a percentage.
# Unemployed Persons
Unemployed persons are individuals who are not employed and are actively seeking
work. They may be available to start a new job immediately.
# Long-term Unemployed
Long-
INFO:nemoguardrails.logging.callbacks:Output Stats :: None
INFO:nemoguardrails.logging.callbacks:--- :: LLM call took 6.34 seconds
INFO:nemoguardrails.actions.llm.generation:--- :: LLM Bot Message Generation call took 6.34 seconds
INFO:nemoguardrails.actions.llm.generation:Generated bot message: The unemployment rate for March was 3.5 percent.
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'BotMessage', 'uid': '7a348171-857c-49de-b1aa-4aa902f51c66', 'event_created_at': '2024-01-04T18:12:08.155023+00:00', 'source_uid': 'NeMoGuardrails', 'text': 'The unemployment rate for March was 3.5 percent.'}
INFO:nemoguardrails.flows.runtime:Event :: BotMessage {'uid': '7a348171-857c-49de-b1aa-4aa902f51c66', 'event_created_at': '2024-01-04T18:12:08.155023+00:00', 'source_uid': 'NeMoGuardrails', 'text': 'The unemployment rate for March was 3.5 percent.'}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'StartInternalSystemAction', 'uid': '33b779b9-3577-4fe8-aad7-f734d1e4f286', 'event_created_at': '2024-01-04T18:12:08.158944+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'self_check_facts', 'action_params': {}, 'action_result_key': 'accuracy', 'action_uid': '781893d2-ff78-4429-beb9-f7d9019547dd', 'is_system_action': False}
INFO:nemoguardrails.flows.runtime:Event :: StartInternalSystemAction {'uid': '33b779b9-3577-4fe8-aad7-f734d1e4f286', 'event_created_at': '2024-01-04T18:12:08.158944+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'self_check_facts', 'action_params': {}, 'action_result_key': 'accuracy', 'action_uid': '781893d2-ff78-4429-beb9-f7d9019547dd', 'is_system_action': False}
INFO:nemoguardrails.flows.runtime:Executing action :: self_check_facts
INFO:nemoguardrails.actions.action_dispatcher:Executing registered action: self_check_facts
WARNING:nemoguardrails.llm.params:Parameter temperature does not exist for WrapperLLM
INFO:nemoguardrails.logging.callbacks:Invocation Params :: {'_type': 'hf_pipeline_llama2_7b', 'stop': None}
INFO:nemoguardrails.logging.callbacks:Prompt :: You are given a task to identify if the hypothesis is grounded and entailed to the evidence.
You will only use the contents of the evidence and not rely on external knowledge.
Answer with yes/no. "evidence": Among the unemployed, the number of permanent job losers increased by 172,000 to 1.6
million in March, and the number of reentrants to the labor force declined by 182,000
to 1.7 million. (Reentrants are persons who previously worked but were not in the
labor force prior to beginning their job search.) (See table A-11.)
The number of long-term unemployed (those jobless for 27 weeks or more) was little
changed at 1.1 million in March. These individuals accounted for 18.9 percent of all
unemployed persons. (See table A-12.)
Among the unemployed, the number of permanent job losers increased by 172,000 to 1.6
million in March, and the number of reentrants to the labor force declined by 182,000
to 1.7 million. (Reentrants are persons who previously worked but were not in the
labor force prior to beginning their job search.) (See table A-11.)
The number of long-term unemployed (those jobless for 27 weeks or more) was little
changed at 1.1 million in March. These individuals accounted for 18.9 percent of all
unemployed persons. (See table A-12.)
Both the unemployment rate, at 3.5 percent, and the number of unemployed persons, at
5.8 million, changed little in March. These measures have shown little net movement
since early 2022. (See table A-1.)
Among the major worker groups, the unemployment rate for Hispanics decreased to 4.6
percent in March, essentially offsetting an increase in the prior month. The
unemployment rates for adult men (3.4 percent), adult women (3.1 percent), teenagers
(9.8 percent), Whites (3.2 percent), Blacks (5.0 percent), and Asians (2.8 percent)
showed little or no change over the month. (See tables A-1, A-2, and A-3.) "hypothesis": The unemployment rate for March was 3.5 percent. "entails":
INFO:nemoguardrails.logging.callbacks:Completion :: The evidence does not entail the hypothesis. The evidence states that the unemployment rate for March was 3.5 percent, which is different from the hypothesis of 3.5 percent. Therefore, the evidence does not entail the hypothesis.
INFO:nemoguardrails.logging.callbacks:Output Stats :: None
INFO:nemoguardrails.logging.callbacks:--- :: LLM call took 1.36 seconds
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'InternalSystemActionFinished', 'uid': '11d2d954-2453-4fa4-96ae-859b36fc86d1', 'event_created_at': '2024-01-04T18:12:09.526490+00:00', 'source_uid': 'NeMoGuardrails', 'action_uid': '781893d2-ff78-4429-beb9-f7d9019547dd', 'action_name': 'self_check_facts', 'action_params': {}, 'action_result_key': 'accuracy', 'status': 'success', 'is_success': True, 'return_value': 0.0, 'events': [], 'is_system_action': False, 'action_finished_at': '2024-01-04T18:12:09.526509+00:00'}
INFO:nemoguardrails.flows.runtime:Event :: InternalSystemActionFinished {'uid': '11d2d954-2453-4fa4-96ae-859b36fc86d1', 'event_created_at': '2024-01-04T18:12:09.526490+00:00', 'source_uid': 'NeMoGuardrails', 'action_uid': '781893d2-ff78-4429-beb9-f7d9019547dd', 'action_name': 'self_check_facts', 'action_params': {}, 'action_result_key': 'accuracy', 'status': 'success', 'is_success': True, 'return_value': 0.0, 'events': [], 'is_system_action': False, 'action_finished_at': '2024-01-04T18:12:09.526509+00:00'}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'BotIntent', 'uid': '6932c3b9-59f4-49f6-af8f-4cae12effb1d', 'event_created_at': '2024-01-04T18:12:09.530739+00:00', 'source_uid': 'NeMoGuardrails', 'intent': 'refuse to respond'}
INFO:nemoguardrails.flows.runtime:Event :: BotIntent {'uid': '6932c3b9-59f4-49f6-af8f-4cae12effb1d', 'event_created_at': '2024-01-04T18:12:09.530739+00:00', 'source_uid': 'NeMoGuardrails', 'intent': 'refuse to respond'}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'StartInternalSystemAction', 'uid': 'a1a74f2c-8fde-44a0-bc9d-0419f18c9558', 'event_created_at': '2024-01-04T18:12:09.533266+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'retrieve_relevant_chunks', 'action_params': {}, 'action_result_key': None, 'action_uid': '7d9c7683-58b3-47c0-8d68-74e60a97e59c', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Event :: StartInternalSystemAction {'uid': 'a1a74f2c-8fde-44a0-bc9d-0419f18c9558', 'event_created_at': '2024-01-04T18:12:09.533266+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'retrieve_relevant_chunks', 'action_params': {}, 'action_result_key': None, 'action_uid': '7d9c7683-58b3-47c0-8d68-74e60a97e59c', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Executing action :: retrieve_relevant_chunks
INFO:nemoguardrails.actions.action_dispatcher:Executing registered action: retrieve_relevant_chunks
Batches: 100%|██████████| 1/1 [00:00<00:00, 199.51it/s]
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'InternalSystemActionFinished', 'uid': 'a367b03d-38f6-4179-a397-fab8d240ffc0', 'event_created_at': '2024-01-04T18:12:09.543989+00:00', 'source_uid': 'NeMoGuardrails', 'action_uid': '7d9c7683-58b3-47c0-8d68-74e60a97e59c', 'action_name': 'retrieve_relevant_chunks', 'action_params': {}, 'action_result_key': None, 'status': 'success', 'is_success': True, 'return_value': 'Among the unemployed, the number of permanent job losers increased by 172,000 to 1.6\nmillion in March, and the number of reentrants to the labor force declined by 182,000\nto 1.7 million. (Reentrants are persons who previously worked but were not in the\nlabor force prior to beginning their job search.) (See table A-11.)\n\nThe number of long-term unemployed (those jobless for 27 weeks or more) was little\nchanged at 1.1 million in March. These individuals accounted for 18.9 percent of all\nunemployed persons. (See table A-12.)\nAmong the unemployed, the number of permanent job losers increased by 172,000 to 1.6\nmillion in March, and the number of reentrants to the labor force declined by 182,000\nto 1.7 million. (Reentrants are persons who previously worked but were not in the\nlabor force prior to beginning their job search.) (See table A-11.)\n\nThe number of long-term unemployed (those jobless for 27 weeks or more) was little\nchanged at 1.1 million in March. These individuals accounted for 18.9 percent of all\nunemployed persons. (See table A-12.)\nBoth the unemployment rate, at 3.5 percent, and the number of unemployed persons, at\n5.8 million, changed little in March. These measures have shown little net movement\nsince early 2022. (See table A-1.)\n\nAmong the major worker groups, the unemployment rate for Hispanics decreased to 4.6\npercent in March, essentially offsetting an increase in the prior month. The\nunemployment rates for adult men (3.4 percent), adult women (3.1 percent), teenagers\n(9.8 percent), Whites (3.2 percent), Blacks (5.0 percent), and Asians (2.8 percent)\nshowed little or no change over the month. (See tables A-1, A-2, and A-3.)', 'events': None, 'is_system_action': True, 'action_finished_at': '2024-01-04T18:12:09.544003+00:00'}
INFO:nemoguardrails.flows.runtime:Event :: InternalSystemActionFinished {'uid': 'a367b03d-38f6-4179-a397-fab8d240ffc0', 'event_created_at': '2024-01-04T18:12:09.543989+00:00', 'source_uid': 'NeMoGuardrails', 'action_uid': '7d9c7683-58b3-47c0-8d68-74e60a97e59c', 'action_name': 'retrieve_relevant_chunks', 'action_params': {}, 'action_result_key': None, 'status': 'success', 'is_success': True, 'return_value': 'Among the unemployed, the number of permanent job losers increased by 172,000 to 1.6\nmillion in March, and the number of reentrants to the labor force declined by 182,000\nto 1.7 million. (Reentrants are persons who previously worked but were not in the\nlabor force prior to beginning their job search.) (See table A-11.)\n\nThe number of long-term unemployed (those jobless for 27 weeks or more) was little\nchanged at 1.1 million in March. These individuals accounted for 18.9 percent of all\nunemployed persons. (See table A-12.)\nAmong the unemployed, the number of permanent job losers increased by 172,000 to 1.6\nmillion in March, and the number of reentrants to the labor force declined by 182,000\nto 1.7 million. (Reentrants are persons who previously worked but were not in the\nlabor force prior to beginning their job search.) (See table A-11.)\n\nThe number of long-term unemployed (those jobless for 27 weeks or more) was little\nchanged at 1.1 million in March. These individuals accounted for 18.9 percent of all\nunemployed persons. (See table A-12.)\nBoth the unemployment rate, at 3.5 percent, and the number of unemployed persons, at\n5.8 million, changed little in March. These measures have shown little net movement\nsince early 2022. (See table A-1.)\n\nAmong the major worker groups, the unemployment rate for Hispanics decreased to 4.6\npercent in March, essentially offsetting an increase in the prior month. The\nunemployment rates for adult men (3.4 percent), adult women (3.1 percent), teenagers\n(9.8 percent), Whites (3.2 percent), Blacks (5.0 percent), and Asians (2.8 percent)\nshowed little or no change over the month. (See tables A-1, A-2, and A-3.)', 'events': None, 'is_system_action': True, 'action_finished_at': '2024-01-04T18:12:09.544003+00:00'}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'StartInternalSystemAction', 'uid': 'c8c8d2d1-e0ae-42c4-8bd0-1691828e8c88', 'event_created_at': '2024-01-04T18:12:09.546042+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'generate_bot_message', 'action_params': {}, 'action_result_key': None, 'action_uid': 'f9c85713-65ed-4fd0-8758-8bbb68bb513b', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Event :: StartInternalSystemAction {'uid': 'c8c8d2d1-e0ae-42c4-8bd0-1691828e8c88', 'event_created_at': '2024-01-04T18:12:09.546042+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'generate_bot_message', 'action_params': {}, 'action_result_key': None, 'action_uid': 'f9c85713-65ed-4fd0-8758-8bbb68bb513b', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Executing action :: generate_bot_message
INFO:nemoguardrails.actions.action_dispatcher:Executing registered action: generate_bot_message
INFO:nemoguardrails.actions.llm.generation:Phase 3 :: Generating bot message ...
INFO:nemoguardrails.actions.llm.generation:Found existing bot message: I'm sorry, I can't respond to that.
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'BotMessage', 'uid': '0013f197-beb0-4e67-96d4-2041595d3531', 'event_created_at': '2024-01-04T18:12:09.548950+00:00', 'source_uid': 'NeMoGuardrails', 'text': "I'm sorry, I can't respond to that."}
INFO:nemoguardrails.flows.runtime:Event :: BotMessage {'uid': '0013f197-beb0-4e67-96d4-2041595d3531', 'event_created_at': '2024-01-04T18:12:09.548950+00:00', 'source_uid': 'NeMoGuardrails', 'text': "I'm sorry, I can't respond to that."}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'StartInternalSystemAction', 'uid': '007c0f87-8c61-478d-90ea-988b6c8759b7', 'event_created_at': '2024-01-04T18:12:09.551923+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'create_event', 'action_params': {'event': {'_type': 'StartUtteranceBotAction', 'script': '$bot_message'}}, 'action_result_key': None, 'action_uid': 'c3836334-a0f5-4a93-9b24-f54988310d9d', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Event :: StartInternalSystemAction {'uid': '007c0f87-8c61-478d-90ea-988b6c8759b7', 'event_created_at': '2024-01-04T18:12:09.551923+00:00', 'source_uid': 'NeMoGuardrails', 'action_name': 'create_event', 'action_params': {'event': {'_type': 'StartUtteranceBotAction', 'script': '$bot_message'}}, 'action_result_key': None, 'action_uid': 'c3836334-a0f5-4a93-9b24-f54988310d9d', 'is_system_action': True}
INFO:nemoguardrails.flows.runtime:Executing action :: create_event
INFO:nemoguardrails.actions.action_dispatcher:Executing registered action: create_event
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'StartUtteranceBotAction', 'uid': '0904bf8a-6364-4506-8cdc-7ad6f0d8b04a', 'event_created_at': '2024-01-04T18:12:09.553308+00:00', 'source_uid': 'NeMoGuardrails', 'script': "I'm sorry, I can't respond to that.", 'action_info_modality': 'bot_speech', 'action_info_modality_policy': 'replace', 'action_uid': 'f82d2824-3b13-43b2-aed8-c0850447629b'}
INFO:nemoguardrails.flows.runtime:Event :: StartUtteranceBotAction {'uid': '0904bf8a-6364-4506-8cdc-7ad6f0d8b04a', 'event_created_at': '2024-01-04T18:12:09.553308+00:00', 'source_uid': 'NeMoGuardrails', 'script': "I'm sorry, I can't respond to that.", 'action_info_modality': 'bot_speech', 'action_info_modality_policy': 'replace', 'action_uid': 'f82d2824-3b13-43b2-aed8-c0850447629b'}
INFO:nemoguardrails.flows.runtime:Processing event: {'type': 'BotIntent', 'uid': '8f93d8d5-fb2d-4e1a-83ea-46ca4dbb30e4', 'event_created_at': '2024-01-04T18:12:09.555451+00:00', 'source_uid': 'NeMoGuardrails', 'intent': 'stop'}
INFO:nemoguardrails.flows.runtime:Event :: BotIntent {'uid': '8f93d8d5-fb2d-4e1a-83ea-46ca4dbb30e4', 'event_created_at': '2024-01-04T18:12:09.555451+00:00', 'source_uid': 'NeMoGuardrails', 'intent': 'stop'}
INFO:nemoguardrails.rails.llm.llmrails:--- :: Total processing took 14.94 seconds.
INFO:nemoguardrails.rails.llm.llmrails:--- :: Stats: 3 total calls, 14.56055998802185 total time, 0 total tokens, 0 total prompt tokens, 0 total completion tokens
{'role': 'assistant', 'content': "I'm sorry, I can't respond to that."}
Some things that I do not understand are for example:
elif intent == "ask_about_report":
return "I do not know the answer to that question."
I do not know where that piece of code is coming from or if it was generated. Also, as the kb
is being generated multiple times, each of them are different and sometimes wrong
"unemployment rate": [
{
"date": "2022-02-28",
"rate": 3.6 #Where is this 3.6 comming from?
},
Still, as @prasoonvarshney has mentioned, probably is worth checking the align check facts, but at least I was expecting some correct results with self_check_facts
. I have seen that in #237 the discussion on this topic is been addressed and perhaps meta-llama/Llama-2-7b-chat-hf
is just not good for this example.
Best
@Wildshire ,Thanks i found reason for my error,I was using HuggingFacePipeline from langchain instead of HuggingFacePipelineCompatible from nemoguardrails..
I hereby attach steps i followed with @Wildshire guidance to successfully work it out.
To add on,I think config.py is a excellent code base to check out whats going error.I fixes my error by comparing the function and lib callings from
Thanks @prasoonvarshney @Wildshire @Tarannom-sdgh @omkargadute for being active in this thread
https://github.com/Jaykumaran/NemoGuardrails/tree/main
my implementations with reference from https://blog.marvik.ai/2023/10/09/enhancing-llama2-conversations-with-nemo-guardrails-a-practical-guide/ https://github.com/NVIDIA/NeMo-Guardrails/blob/develop/docs/user_guides/guardrails-library.md https://github.com/NVIDIA/NeMo-Guardrails/blob/develop/nemoguardrails/library/hallucination/actions.py
@Jaykumaran @Wildshire Good to hear you found HuggingFacePipelineCompatible
.
Unfortunately, LangChain made a breaking change that was not backward-compatible (it removed _acall
as a member function of the LLM
class). This breaking change flows into Langchain's HuggingFacePipeline
, but is fixed in the "compatible" child class defined inside NeMoGuardrails.
@Tarannom-sdgh @omkargadute If you don't see HuggingFacePipelineCompatible
, it means you are on an older version of Nemo Guardrails, or you are trying to import it from Langchain instead. See this for the class definition.
@Wildshire regarding the "I'm sorry, I can't respond to that."
Based on the logs you pasted, here are some observations.
Hey @prasoonvarshney I have just created a repo to check on this here.
Just to track minor changes made to the original files in NeMo repo.
cache_dir
and local_files_only
on from_pretrained
methods to speed up things. Example.self_check_facts
and added meta-llama/Llama-2-7b-chat-hf
support.Notes
AlignScore
won´t help in this scenario.kb
is generated from the example provided here. I suppose that the kb
generation is as expected with this format. I double checked the generated kb
again
Knowledge base:
{
"unemployment rate": [
{
"date": "2022-02-28",
"rate": 3.6
},
{
"date": "2022-03-31",
"rate": 3.7
},
{
"date": "2022-04-30",
"rate": 3.8
}
]
}
And neither of those number match the report
data. I have found 3.1
or 3.2
(depending of the age group). Shall I retry more times to see if I get some variance?
meta-llama/Llama-2-7b-chat-hf
and self_check_facts
problem. Original.Best
Hello!
Do we have any news on this?
Best
I'm trying to use Llama2 with NeMo Gaurdrails. first to get a result I tried to run hello_world.ipynb with llama2. at first it gave error for engine:
saying :
Exception: Unknown LLM engine: hf_pipeline_llama2_7b
after extracting supprt engines from get_llm_provider_names() i changed the engine to "huggingface_pipeline" and i had to remove path from
and changing my config.yml to :
and now i'm getting :
how to get a result from llama2 with NeMo Gaurdrails?