openedx / openedx/openedx-ai-extensions
Allow have more than one processor in an orchestrator action
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 17
- Forks
- 11
- Avg merge
- 5h 33m
- Merged PRs (30d)
- 4
Description
Use Case
Human in the loop for Badges requires at least 3 calls to LLMProcessor:
- Generate badge attributes based on course content
- Regenerate just in case
- Generate Badge json following Open Badges standard (Or any)
Our current config method with profiles don't allow to do this:
"processor_config": {
...
"LLMProcessor": {
"function": "summarize_content",
"provider": "qwen25"
}
},
With that config, if i try to call LLMProcessor two times, it will be call the same function.
"processor_config": {
...
"LLMProcessor": {
"function": "summarize_content",
},
"LLMProcessor": {
"function": "regenerate",
},
},
with this one, it will fail looking for a single object named with class_name
Suggested solution
Allow the profile to have many processor with a key.
{
"processor_config": {
"LLMProcessor": [
{
"summary": {
"function": "summarize_content",
"prompt": "summary_prompt"
}
},
{
"regenerate": {
"function": "regenerate_response",
"prompt": "regenerate_prompt"
}
}
]
}
}
Then parse it as expected in the orchestrator to enable the conf of many processors.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the orchestrator action's processor configuration parsing and the LLMProcessor handling. Trace how a single processor is selected, then determine how keyed processor definitions could be represented and invoked distinctly; done means multiple LLMProcessor configurations can be used in one action without ambiguity.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ai
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100