Let's analyze single calls from the info log here.
Let me zoom in a little bit.
So for the user or the utterance user action finished.
When I asked how to play ping pong, the runtime created an event with all three phases in one call.
Here is where the improvisation happens and the framework optimizes the workflow by calling all the
three phases in one call.
Here is the prompt that we have specified.
And here is the sample conversation between the user and the bot.
We got this from the sample conversation in the config file.
Here is where the user generates the next step for each user message.
Generate the next steps and finish with the bot message.
Here is where we instruct LA to generate next step and finish with this bot message.
We provide this canonical form and user utterances from the disallowed topic file.
And then we again instruct LM on the next line, generate bot message to relate it to express capabilities.
And here are all the different conversations from the sample conversation.
And at the end we append user question or query.
That said, how to play ping pong.
Pass this to LM.
And then we got a response back here, clearly says what was the canonical form for the user input?
The question was about ask about sports.
Now it also responded bot respond for the sports gives an answer here.
Ping pong is a sport.
Just like that, we have some more canonical forms and bot responses attached to the response.
How to play tennis.
And this is ask about sport.
And what response for the sports saying tennis is a sport that can be played individually.
So now if you see trace down, the LM call was made in 1.78 seconds and canonical form for user intent
was asked about sport and the canonical form for the bot intent was response for sports.
And then the generate bot message was created as well.
So that all the three steps were executed in one call in 1.83 seconds altogether.
And I got the response back with the ping pong is a sport to which four players hit a line.
Lightweight ball back in or not.
All of that.
So the goal here is that there was a lot of improvisation that happened with one call to LM having all
the three stages.
And it was able to execute the runtime more effectively by doing just one LM call.