Refactor MetaboT documentation and update demo links#167
Conversation
…ance overview, and update configuration details - Simplified the Quick Start Guide for clarity and conciseness. - Updated the project overview to reflect the modular multi-agent system and its capabilities. - Revised configuration guide to clarify environment variables and model settings. - Improved agent descriptions and workflow diagrams for better understanding. - Adjusted the site description in mkdocs.yml for consistency with branding.
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 34 minutes and 13 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughDocumentation overhaul across README and docs: condensed README, reorganized getting-started/installation/quickstart, refactored user-guide and overview, simplified contributing and examples, and small Streamlit README tweaks. No code or public API changes. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Review Summary by QodoRefactor README and update documentation links to current resources
WalkthroughsDescription• Completely rewrote README with clearer structure and concise sections • Added validation snapshot with benchmark results table • Simplified installation and running instructions with practical examples • Updated all public links from holobiomicslab.cnrs.fr to holobiomicslab.eu • Updated Zenodo archive reference to 10.5281/zenodo.19701250 • Streamlined mkdocs.yml site description for consistency Diagramflowchart LR
A["Old README<br/>476 lines verbose"] -->|"Restructure & simplify"| B["New README<br/>208 lines focused"]
C["holobiomicslab.cnrs.fr"] -->|"Update domain"| D["holobiomicslab.eu"]
E["Old Zenodo ref"] -->|"Update archive"| F["10.5281/zenodo.19701250"]
B --> G["Demo section"]
B --> H["Architecture overview"]
B --> I["Installation guide"]
B --> J["Validation snapshot"]
File Changes1. README.md
|
Code Review by Qodo
1.
|
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨No code suggestions found for the PR. |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
docs/index.md (1)
26-29: Optional style polish: vary bullet openings for smoother reading.Line 26–29 uses repeated “It …” starts; a small rephrase would improve flow.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/index.md` around lines 26 - 29, Summary: The four consecutive bullets all start with "It ..." which reads repetitive; rewrite the bulleted list (the items beginning "It translates natural-language metabolomics questions...", "It reduces hallucinations...", "It exposes a transparent, inspectable workflow...", and "It can be run from the command line...") to vary the openings and improve flow by removing or rephrasing the repeated "It" — for example start some bullets with verbs or descriptive nouns ("Translates...", "Reduces hallucinations by...", "Provides a transparent workflow...", "Run from the command line...") and keep the same meanings and keywords (natural-language → SPARQL, taxa/targets/chemical classes/structures, transparent/inspectable workflow, command line/Streamlit/Docker).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/getting-started/quickstart.md`:
- Around line 85-88: The Quick Start snippet exports the wrong env var name
(ADMIN_OPENAI_KEY); change that export to use OPENAI_API_KEY (i.e., export
OPENAI_API_KEY=your_api_key_here) so the Streamlit app (streamlit_app.py) and
LLM handler (llm_handler.py) read the correct variable; update the example line
in the quickstart snippet and verify no other references in that snippet still
use ADMIN_OPENAI_KEY.
In `@README.md`:
- Line 161: The README currently documents two different environment variable
names for the OpenAI key (ADMIN_OPENAI_KEY and OPENAI_API_KEY); pick one and
make them consistent (or explicitly document the reason for two different
variables). Update the Streamlit instruction that sets ADMIN_OPENAI_KEY to use
OPENAI_API_KEY (or vice versa), and adjust any mentions or examples (search for
ADMIN_OPENAI_KEY and OPENAI_API_KEY in the README and related docs) so all
references match the chosen name, or add a short note explaining why the admin
interface uses a separate variable if you intend to keep both.
---
Nitpick comments:
In `@docs/index.md`:
- Around line 26-29: Summary: The four consecutive bullets all start with "It
..." which reads repetitive; rewrite the bulleted list (the items beginning "It
translates natural-language metabolomics questions...", "It reduces
hallucinations...", "It exposes a transparent, inspectable workflow...", and "It
can be run from the command line...") to vary the openings and improve flow by
removing or rephrasing the repeated "It" — for example start some bullets with
verbs or descriptive nouns ("Translates...", "Reduces hallucinations by...",
"Provides a transparent workflow...", "Run from the command line...") and keep
the same meanings and keywords (natural-language → SPARQL, taxa/targets/chemical
classes/structures, transparent/inspectable workflow, command
line/Streamlit/Docker).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: a8064177-66fa-49c0-96f9-4a72f2b5c43f
⛔ Files ignored due to path filters (2)
docs/assets/images/metabot-overview.pngis excluded by!**/*.png,!**/*.pngmkdocs.ymlis excluded by!**/*.yml
📒 Files selected for processing (9)
README.mddocs/api-reference/core.mddocs/contributing.mddocs/examples/basic-usage.mddocs/getting-started/installation.mddocs/getting-started/quickstart.mddocs/index.mddocs/user-guide/configuration.mddocs/user-guide/overview.md
| export ADMIN_OPENAI_KEY=your_api_key_here | ||
| export PYTHONPATH="$(pwd):${PYTHONPATH}" | ||
| streamlit run streamlit_webapp/streamlit_app.py | ||
| ``` |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Verify which env vars are read by Streamlit and core entrypoints.
rg -n -C3 'ADMIN_OPENAI_KEY|OPENAI_API_KEY|LANGCHAIN_API_KEY' --type=py
# Focus on the Streamlit app module specifically.
fd -i 'streamlit_app.py' | xargs -r rg -n -C3 'ADMIN_OPENAI_KEY|OPENAI_API_KEY'Repository: HolobiomicsLab/MetaboT
Length of output: 10577
Replace ADMIN_OPENAI_KEY with OPENAI_API_KEY on line 85.
The Streamlit app does not read ADMIN_OPENAI_KEY. The entire codebase uses OPENAI_API_KEY for the OpenAI API (see streamlit_webapp/streamlit_app.py lines 91–92, 201, 277, 375–377 and app/core/llm_handler.py line 29). Users following the Quick Start with the documented variable name will fail to authenticate.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/getting-started/quickstart.md` around lines 85 - 88, The Quick Start
snippet exports the wrong env var name (ADMIN_OPENAI_KEY); change that export to
use OPENAI_API_KEY (i.e., export OPENAI_API_KEY=your_api_key_here) so the
Streamlit app (streamlit_app.py) and LLM handler (llm_handler.py) read the
correct variable; update the example line in the quickstart snippet and verify
no other references in that snippet still use ADMIN_OPENAI_KEY.
Updated Zenodo archive links and clarified CSV output behavior.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Line 20: Update the inconsistent Zenodo DOI references so they all use the
same DOI: replace any occurrences of "10.5281/zenodo.19701250" with
"10.5281/zenodo.19715403" (e.g., in docs/index.md) so the README DOI
"10.5281/zenodo.19715403" and all other references match exactly.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 37d908b7-068e-40f3-be76-336df3f71391
📒 Files selected for processing (3)
README.mddocs/getting-started/quickstart.mdstreamlit_webapp/README.md
✅ Files skipped from review due to trivial changes (1)
- streamlit_webapp/README.md
Clarified behavior of result files and added installation command for requirements when running Streamlit App.
Clarified the functionality of the Interpreter Agent regarding visualization outputs.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
docs/user-guide/overview.md (1)
50-50: Tighten JSON wording for readability.“
.json file containing the JSON code” is a bit redundant. Consider simplifying to “a.jsonPlotly specification” (or similar) for cleaner wording.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/user-guide/overview.md` at line 50, Replace the phrase ".json file containing the JSON code for a Plotly graph" in the sentence that begins "Turns raw outputs into user-facing summaries..." with a tighter phrase such as "a .json Plotly specification" (or "a Plotly .json specification") so the sentence reads e.g. "When a visualization is explicitly requested, generates a .json Plotly specification — rendered interactively in the Streamlit app, or saved as a plain .json when running locally/backend." Ensure the rest of the sentence ("rendered interactively..." / "saved as a plain .json...") remains unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/getting-started/quickstart.md`:
- Line 90: Update the UI instruction text that currently reads "Set a OpenAI API
Key" to the grammatically correct "Set an OpenAI API Key" (search for the exact
string "Set a OpenAI API Key" in quickstart.md or the Streamlit sidebar text and
replace it).
---
Nitpick comments:
In `@docs/user-guide/overview.md`:
- Line 50: Replace the phrase ".json file containing the JSON code for a Plotly
graph" in the sentence that begins "Turns raw outputs into user-facing
summaries..." with a tighter phrase such as "a .json Plotly specification" (or
"a Plotly .json specification") so the sentence reads e.g. "When a visualization
is explicitly requested, generates a .json Plotly specification — rendered
interactively in the Streamlit app, or saved as a plain .json when running
locally/backend." Ensure the rest of the sentence ("rendered interactively..." /
"saved as a plain .json...") remains unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: c4b07012-0964-4beb-8a71-a6f23379f3d0
📒 Files selected for processing (2)
docs/getting-started/quickstart.mddocs/user-guide/overview.md
| ```bash | ||
| python -m app.core.main -c "List the bioassay results at 10µg/mL against T.cruzi for lab extracts of Tabernaemontana coffeoides" | ||
| ``` | ||
| After the app starts, enter your OpenAI API key in the Streamlit sidebar under `Set a OpenAI API Key`. |
There was a problem hiding this comment.
Fix article in UI instruction text.
Use “Set an OpenAI API Key” for grammatical correctness.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/getting-started/quickstart.md` at line 90, Update the UI instruction
text that currently reads "Set a OpenAI API Key" to the grammatically correct
"Set an OpenAI API Key" (search for the exact string "Set a OpenAI API Key" in
quickstart.md or the Streamlit sidebar text and replace it).
Updated the documentation to reflect changes in output format and corrected the DOI link for the benchmark release.
Removed Plotly JSON from the documentation.
Added license information
User description
Summary
This PR refreshes the project documentation to better match the current MetaboT workflow, setup experience, and public resources.
Main updates include:
READMEto provide a clearer project overview, benchmark snapshot, architecture summary, installation steps, and usage examplesENPKG_agent/ KG agent mappingholobiomicslab.cnrs.frtoholobiomicslab.eu10.5281/zenodo.19701250Why
Some of the existing docs were verbose, inconsistent with the current repository structure, or still pointed to outdated public links and archive references.
This PR aims to make the docs easier to follow for new users while keeping the content aligned with the current public demo, benchmark archive, and project branding.
Testing
PR Type
Documentation
Description
Refactored
README.mdfor clarity and concisenessUpdated demo links and Zenodo references
Enhanced installation and configuration guides
Streamlined documentation structure and content
Diagram Walkthrough
File Walkthrough
README.md
Major refactor and update of README.mdREADME.md
mkdocs.yml
Update site description and links in mkdocs.ymlmkdocs.yml