-
Notifications
You must be signed in to change notification settings - Fork 161
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
[Question] Motivation behind combining requirements.txt
files for GenAIComps 1.2
#1260
Comments
OPEA integrates enough SW that having nearly identical copies of everything (Python code, Docker files, integration scripts, docs etc) for every variant of every component, and each of them requiring its own image everywhere (DockerHub, CIs for OPEA), and corresponding Helm chart, was becoming a maintenance problem. Same image/service supports now multiple backends, which allows reducing that duplication to more manageable amount.
If there's a component that does not work together with the other components, I would assume it can still be split.
Why they could not still do, especially if they're using only one of the backends? Especially if service would import only [1] the configured backend... [1] Currently service imports all (9) of them, although only one of them is used. While that can be useful for checking that the dep versions specified in PS. While combining requirements together increases size of individual images somewhat, reduction in number of images more than compensates for that. In most cases the additional deps should not increase they image size that much (large part of the size should come from the shared deps). |
@eero-t Thank you for your reply. So just to confirm: Assume a new Dataprep component is introduced, and package This package However, other packages that already exist in How would you recommend we proceed in this case? Create a separate |
While I saw the problems that the OPEA changes try to address, I'm not OPEA developer myself, just a contributor, so these are just my own thoughts on the matter... If new component requires significantly older version of a major component like If the reasons are valid and not likely to go away in near future, there indeed needs to a split if it's merged. New requirements file is not enough, there would need to Dockerfile to build image with the different set of deps, CI integration for testing it etc, which is quite a bit longer process. |
Hello,
In
[email protected]
, microservice development allowed each service vendor the ability to define a customrequirements.txt
to specify desired packages.requirements.txt
file, which can be different from Dataprep QDrant: https://github.com/opea-project/GenAIComps/tree/v1.0/comps/dataprep/milvus/langchainNow with
[email protected]
, it looks like this is no longer the case: https://github.com/opea-project/GenAIComps/tree/v1.2/comps/dataprep/srcrequirements.txt
file.Can someone shed light on the motivation behind this design decision?
AFAIK, this approach could involve risk of encountering conflicting dependencies, and prevents individual vendors to provide a custom dependency list.
The text was updated successfully, but these errors were encountered: