Comments (3)
Can you provide the server logs? This will help us figure out what is going on.
I can't say I'm spotting anything wrong at first sight. Do you have at least an example for asks about invoice details
included in the config?
from nemo-guardrails.
I did what you asked, added an example of the entire flow in sample_conversation.
what happens now is even weirder :
sometimes it does go into the action check_fulfilment, but only once (doesn't loop over the fulfilment flow in the while even if check_fulfilment always returns True)
execute check_fulfilment
# The result was True
bot responds about invoice details
sometimes, after restart of the CLI agent, without changing anything to co / config structure, it doesn't go into the action check fulfilment, although it adds it to dispatcher.
I can confirm from the verbose server that in both cases the action is added to the dispatcher.
INFO:nemoguardrails.actions.action_dispatcher:Initializing action dispatcher
INFO:nemoguardrails.actions.action_dispatcher:Adding retrieve_relevant_chunks to actions
INFO:nemoguardrails.actions.action_dispatcher:Adding check_jailbreak to actions
INFO:nemoguardrails.actions.action_dispatcher:Adding output_moderation to actions
INFO:nemoguardrails.actions.action_dispatcher:Adding wolfram_alpha_request to actions
INFO:nemoguardrails.actions.action_dispatcher:Adding check_fulfilment to actions
I'm trying to formulate some intuition here :
Is it the case that the underlining GPT model can chose to do the action or not on his own, depending on the conversation? This would suggest that the flow example is only acting as a reference but is not totally enacted during live usage, and some non-determinism might still occur. Bobbing my head. PS : also sent you guys an email.
from nemo-guardrails.
@PetreanuAndi , have you checked whether the generated canonical forms for the user messages are the ones you have used in your defined flow?
user asks about invoice details
$fulfilment_invoice_details = execute check_fulfilment()
user responds to fulfilment credentials
$fulfilment_invoice_details = execute check_fulfilment()
If the generated canonical forms are different, there is no guarantee that the check_fulfilment
action will be called. If the generated canonical forms are similar (using the embeddings) to the two ones (e.g. user asks about invoice details
and user responds to fulfilment credentials
) then there is a greater likelihood the next generated system action will be check_fulfilment
.
Do you have any examples for the user canonical forms you have defined? Can you put here the complete set of .co files?
The sample conversation might be useful, but it is more important to have several examples for all user canonical forms that guide your flows.
from nemo-guardrails.
Related Issues (20)
- Issue with azure openAI Api key HOT 3
- AzureOpenAI is not supported HOT 6
- NeMo-Guardrails breaks Langfuse integration / Runnable config is ignored in LLM call
- Problems integrating Guardrails in Langchain / Answer quality and streaming HOT 1
- How to save and load conversation history ? HOT 1
- How to initialize the Context variable in the UI HOT 2
- Sagemaker endpoint not integrated
- UI not working - ASGI exception HOT 8
- Support for Text Embeddings Inference HOT 1
- Value Error for GPT 3.5
- Input guardrails error
- Running several Rails until completion regardless of the outcome? HOT 1
- groq not supported - would help having fast inference HOT 7
- RunnableRails performance weirdness HOT 3
- Add support to register custom embedding models
- Support for custom embedding model
- Instance of embedding search provider in action HOT 3
- Change "Failed to register" action message from DEBUG to ERROR
- `generate_events` fails with colang 2.0 HOT 7
- [BUG] llm_params from GenerationOptions are not considered during generate_user_intent in generation.py when single_call is False HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nemo-guardrails.