When I first installed the AI extensibility framework, the example “AI summary” button worked like a charm. But it appears to have broken in one of the recent upgrades (we’re on 2.3.2 now).
I use no content patches to the base.summary base template. This results in the following effective configuration:
However, if I hit the corresponding button in the Learning MFE, all I get is:
Sure! Please let me know which unit (topic, title, or key concepts) you’d like summarized, and I’ll provide a concise overview for you.
In other words, it appears like the get_location_content function returns no content.
If I consider its definition, then it looks like any processing error should cause the string Error accessing content to turn up in my logs, but it does not. So perhaps that function is somehow not even invoked?
I am a little bit stumped with this one, and I don’t know where to start looking for clues.
If anyone has ideas/pointers for me, I’d be grateful for those. Thanks!
Hi @fghaas at first glance you are doing everything correctly. I’ll need to spin up my dev env to test with the scenario you provided. I’ll come back in a while with my findings
I tested in a dev env using v2.3.2 with the same setup: a new profile which uses base.summary with no patches and a scope to show this in my course at the ui-slot: learning-unit-ai-assist.
With all this it did work. That points to the code working.
The first idea that comes to my mind is that a different profile is answering because there is a scope with higher specificity index (please check that you have all other scopes disabled to rule this out)
Also this makes me think that we lack debugging tools for workflows that don’t have a session.
Which actually is the other thing you could test, change the profile to use “examples.openai.chat”. Launch the assistant as it uses the same
but it will give you the option to debug the session in the /admin/ panel. There you could see the results of the get_location_content as it was passed to the lms. This is kind of a long shot.
I was going to add a debug log that function (might still do it later), and while doing that, I though of another idea. You can configure a debug logger for this file, set a char_limit to a low value in the OpenEdXProcessor and you will trigger the debug log in the _truncate_unit_text.