Skip to content
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

[Feature Request]: Better project dependency management #1052

Open
1 task done
yingfeng opened this issue Jun 4, 2024 · 4 comments
Open
1 task done

[Feature Request]: Better project dependency management #1052

yingfeng opened this issue Jun 4, 2024 · 4 comments

Comments

@yingfeng
Copy link
Member

yingfeng commented Jun 4, 2024

Is there an existing issue for the same feature request?

  • I have checked the existing issues.

Describe the feature you'd like

Discussed in https://github.com/orgs/infiniflow/discussions/1269

Originally posted by http403 June 1, 2024
Hi community and members of infiniflow,

Will the community be interested in pausing the development of RAGFlow a bit, and restructure the project using better dependency management tool? I'm trying to make the Docker image smaller by cutting out the GPU specific dependencies, which I use Poetry to aid me, and I discover few dependencies conflicts:

  • volcengine need pycryptodome==3.9.9 got pycryptodome=3.20.0
  • volcengine need pytz==2020.5 got pytz==2024.1
  • bcembedding need transformers>=4.35.0,<4.37.0 got transformer==4.38.1

Note: bcembedding and volcengine aren't version pinned

It will be nice to use some form of dependency management tools like Poetry or Pipenv to avoid such issues. Not to mention PyCryptodome 3.9.9 and pytz both released in 2020, which are very old which PyCryptodome have CVE-2023-52323 vulnerability before version 3.19.1.

Again, I don't mind chime in my time to make it happen.

@http403
Copy link

http403 commented Jun 4, 2024

The author of the discussion is here. Which project dependency management would the InfiniFlow/RAGFlow team prefer? I'm more experienced with Pipenv and less with Poetry. I don't mind learn another one if that is more suitable to your workflow. There is a comparison blog which you can reference.

@KevinHuSh
Copy link
Collaborator

The author of the discussion is here. Which project dependency management would the InfiniFlow/RAGFlow team prefer? I'm more experienced with Pipenv and less with Poetry. I don't mind learn another one if that is more suitable to your workflow. There is a comparison blog which you can reference.

Let's use Poetry.

@CamusGao
Copy link
Contributor

CamusGao commented Jun 4, 2024

Besides, is there any possibilities to separating the model provider and the main program into different projects, and provide a thin version of the program that only supports the OpenAI-like API?

@http403
Copy link

http403 commented Jun 4, 2024

@KevinHuSh I will start working on it, no specific timeline though. Expect dependency version conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants