Comments (2)
Hi @jamescalam!
It depends on how you're using NeMo Guardrails. If you're using directly the generate
/generate_asyc
methods, you can send an additional message at the beginning of the conversation (or anywhere inside) with the role set to context
. See the example here: https://github.com/NVIDIA/NeMo-Guardrails/blob/main/docs/user_guide/python-api.md#message-generation
new_message = app.generate(messages=[{
"role": "context",
"content": {
"some_var": "some_value"
}
},
{
"role": "user",
"content": "Hello! What can you do for me?"
}])
We can add support for register_context_var
similar to register_action
. If you have a bit of time to contribute, I can point you in the right direction. What is your use case for this?
from nemo-guardrails.
Okay, I wasn't aware that we could use the context
role like this, that is very helpful. The use case would be where we want to include details like $name
, $company_name
, etc.
I'm still trying to familiarize myself with the library and Colang so I'm not sure if this is a valid use case too, but in the case that I'd like the flows to vary based on whether certain requirements have been satisfied, it would be helpful to do that with a register_context_var
method. For example, my Colang file could look like:
define flow
# after X criteria has been satisfied, like the conversation has continued for more than 2 minutes
user ask question
if $long_conversation
bot express tiredness
else
bot answer question
And in Python we'd have a check for time spent since the conversation began, and once that exceeds 2 minutes we would do something like rails.register_context_var("long_conversation", True)
Happy to contribute if it seems relevant
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.