-
Notifications
You must be signed in to change notification settings - Fork 330
Use GenAIComp base image to simplify Dockerfiles & reduce image sizes #1369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Dependency Review✅ No vulnerabilities or license issues found.Scanned FilesNone |
|
Setting to draft state until base image is available: opea-project/GenAIComps#1127 |
|
Delightfully clean! |
eb89a86 to
61653b4
Compare
|
Rebased to |
|
Base container PR opea-project/GenAIComps#1127 is merged. Before this PR can be merged:
|
|
@eero-t you can resolve the conflict and run the test. |
|
Rebased to |
|
Majority of the CI checks (64) passes, include application tests, but CI tests take ~5 hours to run, and there are also lot (26) of test failures... "AvatarChatbot" tests fail to "ChatQnA" tests fail because:
Content checks fail ( Whereas rocm version of "Translation" test does not show why it fails: "GraphRAG" services shows several connection errors: "SearchQnA" Xeon version got "MultiModalQnA" (rocm) test returns some base64 binary data which cannot be really be viewed in Browser. Output of that test should be fixed. "VisualQnA" rocm version fails to device being unavailable: |
|
I split the changes for a subset of (5) apps[1] that do not have any CI issues currently into a separate PR (#1612). [1] ("AudioQnA", "DocIndexRetriever", "EdgeCraftRAG", "FaqGen", "VideoQnA". |
|
Second set of
|
|
#1607 AvatarChatbot failed with known issue. |
Thanks @chensuyue! I split the currently working 3 apps to a separate PR #1671. |
|
With the #1671 merged, rebased this to |
|
Rebased to |
|
Any ideas about this new issue: |
Update the last remaining application (megaservice) image of the 15 apps that use GenAIComps repo code as base. Signed-off-by: Eero Tamminen <eero.t.tamminen@intel.com>
|
Rebased to |
|
@chensuyue Now the CI failures are due to container cleanup: |
No, it's not the main issue, the main issue is functionality test failed. |
…opea-project#1369) Signed-off-by: Eero Tamminen <eero.t.tamminen@intel.com> Co-authored-by: chen, suyue <suyue.chen@intel.com> Signed-off-by: Mahathi Vatsal <mahathi.vatsal.salopanthula@intel.com>
…opea-project#1369) Signed-off-by: Eero Tamminen <eero.t.tamminen@intel.com> Co-authored-by: chen, suyue <suyue.chen@intel.com> Signed-off-by: Lacewell, Chaunte W <chaunte.w.lacewell@intel.com>
…opea-project#1369) Signed-off-by: Eero Tamminen <eero.t.tamminen@intel.com> Co-authored-by: chen, suyue <suyue.chen@intel.com> Signed-off-by: Chingis Yundunov <c.yundunov@datamonsters.com>
Description
Current application Dockerfiles copy other Dockerfiles. I've gone through all of them (currently 19, initially 20), and found that except for "EdgeCraftRAG"
Dockerfile.serverfile, only unique part in each container is just the small application Python file (and FFmpeg addition for "DocSum").This changes all the other 18 Dockerfiles (for 15 apps) to use common base image: opea-project/GenAIComps#1127
That should clearly speed up their building, and greatly reduce the resulting disk usage as new base image is shared between container images. IMHO the main benefit from removing the duplicated content will be dractic simplification of the Dockerfiles though.
Note: image size shown by
docker&crictlinclude also sizes of underlying images, but disk space is actually used only once per shared base image, so the real disk cost of each additional application image will be just few tens of KBs.EDIT: subset of these changes have been split to 3 other PRs (#1612 + #1638 + #1671), for apps which do not have CI issues (any more). This PR will handle the last (AvatarChatbot) app once it is fixed.
Issues
There are several tickets about large disk usage, both for GenAIExamples and GenAIComps repo.
Type of change
Dependencies
No new 3rd party dependencies.
"GenAIComps" content included earlier directly to Dockerfiles comes now from "GenAIComps" base image.
This PR will fail until the AvatarChatbot application is fixed: #1607
Tests
Did manual testing that ChatQnA & DocSum images build when GenAIComps image is available, and that those 2 applications still work fine.
As to other applications, this relies on CI tests in these PRs, and earlier staged builds PR (which changed Dockerfiles to be constructed similarly to base-image use, with all content just being built in same Dockerfile): #1031
Future work
This solves only application image size aspect. There are many other images which disk usage can and should still be optimized (app UIs, GenAIComps backend service images etc).