You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This pull request refactors how system prompts are managed and improves GPU allocation flexibility in the workflow. The main change is moving system prompts out of the Python code and into dedicated Markdown files, making them easier to update and maintain. Additionally, the workflow and configuration now support customizable GPU allocation. Documentation and usage instructions have also been updated for clarity.
Prompt management and refactoring:
Moved all system prompts (for analysis, synthesis, and review) out of hardcoded Python strings in interpret.py and into separate Markdown files in the new prompts/ directory. Prompts are now loaded at runtime, making them easier to edit without touching code. (interpret.py, prompts/review_system_prompt.md, prompts/synthesis_system_prompt.md) [1][2][3][4][5]
Updated the logic in interpret.py so that "as_is" mode for text reports uses no default system prompt for analysis, but always uses the synthesis prompt for the summary stage. [1][2]
Workflow and configuration improvements:
Added support for customizable GPU allocation in both main.nf and nextflow.config by introducing a gpus parameter, allowing users to specify the number of GPUs to allocate per job. [1][2][3]
Documentation updates:
Improved usage instructions in README.md to clarify supported input types, chunking behavior, and prompt customization options. Updated command-line flag names to reflect the new prompt system. [1][2]
Minor code and text improvements:
Generalized prompt-building functions in interpret.py to refer to "report sections" instead of "MultiQC sections," reflecting broader applicability.
Added missing import for read_text in interpret.py.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟡 Changes recommended
Plain-text prompting regresses to schema-specific instructions, run metadata is inaccurate for as-is mode, and several documented commands are unusable.
Assert as-is analysis calls use an empty system prompt
tests/test_interpret.py:58
This test verifies only the synthesis call, so it would still pass if as_is=True incorrectly sent the default prompt during section analysis. Assert that the first two calls have an empty system prompt to cover the newly advertised behavior.
Fix the Nextflow example's sample file path
README.md:33
This Nextflow example no longer points to the bundled sample: channel.fromPath resolves against the working directory and the repository's file is data/multiqc_data.json, so copying the command fails before the prompt options are exercised.
This issue also appears on line 34 of the same file.
Update README to clarify as-is prompt behavior
interpret.py:540
This new synthesis behavior conflicts with README.md:163-164, which still says --as-is omits any system prompt. Please clarify there that only the analysis-stage prompt is omitted and that chunked synthesis still uses the bundled prompt.
This issue also appears on line 817 of the same file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request refactors how system prompts are managed and improves GPU allocation flexibility in the workflow. The main change is moving system prompts out of the Python code and into dedicated Markdown files, making them easier to update and maintain. Additionally, the workflow and configuration now support customizable GPU allocation. Documentation and usage instructions have also been updated for clarity.
Prompt management and refactoring:
Moved all system prompts (for analysis, synthesis, and review) out of hardcoded Python strings in
interpret.pyand into separate Markdown files in the newprompts/directory. Prompts are now loaded at runtime, making them easier to edit without touching code. (interpret.py,prompts/review_system_prompt.md,prompts/synthesis_system_prompt.md) [1] [2] [3] [4] [5]Updated the logic in
interpret.pyso that "as_is" mode for text reports uses no default system prompt for analysis, but always uses the synthesis prompt for the summary stage. [1] [2]Workflow and configuration improvements:
main.nfandnextflow.configby introducing agpusparameter, allowing users to specify the number of GPUs to allocate per job. [1] [2] [3]Documentation updates:
README.mdto clarify supported input types, chunking behavior, and prompt customization options. Updated command-line flag names to reflect the new prompt system. [1] [2]Minor code and text improvements:
interpret.pyto refer to "report sections" instead of "MultiQC sections," reflecting broader applicability.read_textininterpret.py.