[Gonothi]: RAG Mini-Project - explore deploying on Quay.io #149
Labels
No labels
state
ready for review
function
analytics
function
communications
function
docs
function
events
function
onboarding
function
operations
good first issue
help wanted
needs
changes
needs
reporter feedback
needs
team vote
needs
triage
scope
bug
scope
improvement
scope
new
state
approved
state
blocked
state
duplicate
state
invalid
state
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
Dependencies
No dependencies set.
Reference
commops/interns#149
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
For the OCI image(s) created via the RamaLama RAG pipeline, make them available on quay.io for distribution
Background
Related to #146, please refer to the background details therein. This issue is specific to the "Quay-ification" of the mini-project 😄
Deliverables
quay.io/gtfrans2re/fedora-commblog-rag)podman push)ramalama ragto regenerate the OCI image and push it directly to the corresponding quay.io repooci_image/RAG_IMAGESpointing to quay.io instead of localhostOptional for mini-project
Research the solutions and share your findings in a comment here, but implementation not needed for completion
Outcome
RAG images are added to the Quay registry making them accessible to other users
@dominikkawka please check if everything is technically sound from RamaLama pov.
Do you have any updates about the
ramalama ragrewrite (I'm assuming it's in addition to this one merged in April which already contains some major internal pipeline changes)? I think we are more concerned with possible changes (especially removal) in config options which may affect how we use it. And whether it affectsramalama run/serve --ragHello, @cybette! Thank you for creating this issue and for assigning it to me. I am on it and will keep checking off the items in the checklist above as I go and comment on my progress in this issue thread. Thanks in advance to @dominikkawka for the technical check from the RamaLama POV.
Dear mentor @cybette,
I created container repositories under my namespace and tagged and pushed the OCI images I created locally to the Quay registry with podman push. You will find them all on the quay. Also, I tested the Streamlit web app and Jupyter notebook with oci_image / RAG_IMAGES pointing to quay.io instead of localhost. Right now, the mini-project repository on GitHub has the latest version of the system codebase with changes made from the source issue you raised there. Anyone can now use it by pointing to quay, and it would work.
More updates will follow for the remaining deliverables!
Hello, @cybette! Wanted to give an update regarding the exploration of the Fedora Infrastructure Apprentice. I applied today for the infra team to give me access by filling out this ticket: https://forge.fedoraproject.org/infra/tickets/issues/13393, and I think you, @jflory7, or @dominikkawka, can help me gain access faster by vouching for me as discussed in the Matrix internship room. Regarding moving the project from GitHub to Forgejo, we are also working on it together as per our Matrix discussion.
Hello, @cybette! Wanted to give an update regarding the exploration of the Fedora Infrastructure Apprentice. I applied today for the infra team to give me access by filling out this ticket: https://forge.fedoraproject.org/infra/tickets/issues/13393, and I think you, @jflory7, or @dominikkawka, can help me gain access faster by vouching for me as discussed in the Matrix internship room. Regarding moving the project from GitHub to Forgejo, we are also working on it together as per our Matrix discussion.
Hello, @cybette! Here are my research findings on the optional items (rebuild triggers, source tracking, and GitHub/Forgejo parity). As implementation isn't required for completion, this is a written summary of the options:
1. Triggering new OCI image builds when sources change
The goal: when the guidelines or articles change, rebuild the RAG image and push the update to Quay automatically. Options, roughly in increasing order of automation:
ramalama rag --chunk-size 100 <corpus> <quay-image>thenpodman push. Simple, reproducible, and fine given how rarely the sources change.Quay itself can also build from a Dockerfile/Containerfile on a Git push (Quay build triggers), but since our images are produced by
ramalama ragrather than a plain container build, a CI job that runs ramalama and pushes is the better fit.2. Tracking changes in the (multiple) guideline sources
This ties into the reproducibility point you pointed out, @cybette. The two sources need different mechanisms:
modifiedtimestamp (and/or a content hash) against the last build. This is likely where an API key helps for reliable polling..adocfile at https://forge.fedoraproject.org/magazine/fedora-magazine/src/branch/main/modules/ROOT/pages/writing-guidelines.adoc — more direct and dependable than scraping the rendered docs page (which is also bot-protected).Applying minor-vs-major distinction as suggested: typo/phrasing fixes that don't change meaning don't warrant a rebuild; structural changes (for instance, a new review process) do.
3. Is the process similar for GitHub and Forgejo?
Largely yes. Both support a CI/Actions system that can run the same steps (fetch →
ramalama rag→podman push). Key differences:Since the project is migrating to the Fedora Forge (Forgejo), I'd target a Forgejo Actions workflow for any future automation, reusing the same ramalama + podman steps.
4. Migrating the repo from GitHub to Forgejo
We are already coordinating with the mentors on this. The plan is to create the repo under the appropriate Forge group (ai-ml-sig), push the existing history, re-point the README/docs links, and confirm the Quay push still works from the new location.
Net recommendation is to keep rebuilds manual/documented for now (since sources change rarely), and revisit a Forgejo Actions job once the repo has migrated. GPU/server hardware is in place.
Also, @cybette, the Quickstart guide is done.
I've added docs/QUICKSTART.md, written for mentors and editors who just want to use the tool without running the whole pipeline (no fetching articles, no Docling ingest, no building vector stores). It walks through:
ramalama run --rag quay.io/gtfrans2re/fedora-commblog-rag <model>It's referenced from the README in three places, so users land on it easily:
The README also keeps the full pipeline in GUIDE.md for anyone who wants to rebuild or update the images from source, so the two guides are cleanly separated: QUICKSTART = use, GUIDE = reproduce.
I will check the guides, and the comments on the optional items. Will create new issues if needed.
Sure! Thanks in advance, @cybette. We will be all ears.
Forgejo repo created: https://forge.fedoraproject.org/ai-ml/editorial-guide-ramalama
Will opena new issue for the migration in next sprint.
Thanks, @cybette! Great to see the Forge repo up at ai-ml/editorial-guide-ramalama. I'll keep my work ready to migrate over and pick up the migration in the new issue next sprint. Thanks for setting this up!