private-gpt
private-gpt copied to clipboard
Added bat and sh files for install, ingest and start
I think that this is good practice and a more convenient way to install and start tools like this, especially for non-programmers.
Honestly, this feels like creating a script for just one-liner. The setup process is not that complex to require a setup and start script. Also, a problem with this sort of implementation is the outcome of people with multiple Python versions installed.
@PulpCattel how would a user benefit from this implementation? I'm struggling to see the actual point.
Thanks for the feedback @PulpCattel ! I addressed all of these.
Personally, I think virtual env is a must for things like this. The problem with different python versions and venv dirs can be solved easy with arguments.
I just wanted to share some practices from my experience with stable diffusion development, because I think, there are a lot of non-programmer users now and every manual install is kind of a barrier to them.
@ilian6806 surely you have your experiences and I might not be in possession of them, and that's actually why I asked. In relatively small projects like this, I am not sure if it's better to run a script or not, since everything is just about copy-paste and getting it to work...
how would a user benefit from this implementation?
By using a virtualenv. I'm pretty sure most people using this repo are installing all the requirements on their base Python installation. We already have problems of people messing up dependencies because of that.
In my experience too, using venv
is pretty standard and strictly better (except UX-wise, it's too hard for most users and on their own they will never do it).
Now, if it's necessary to add a script instead of just some more info in the README, I'm not sure either (as I said in my first post). but surely can't be terrible. Also, as you noted, the install script could do a few more things for the user automatically.
Two things about that:
- Wouldn't it be better to
cp
instead ofmv
the example file? So that the user still retains the original copy. We could change this also in the README. Not a big deal. - The extra things, like downloading models, etc, could be done in follow-ups I think. I'd also prefer, in case they become more complicated, to have Python scripts for that, rather than bash.
@PulpCattel ;
The extra things, like downloading models, etc, could be done in follow-ups I think. I'd also prefer, in case they become more complicated, to have Python scripts for that, rather than bash.
Since this would be considered as an installer, an installer script should also provide some options that the user can decide to run the core of the script. Sure, adding another Python script would do that too, but it's really nothing more than different peogramming languages. Almost exact bash/batch and Python codes...
Wouldn't it be better to cp instead of mv the example file? So that the user still retains the original copy. We could change this also in the README. Not a big deal.
Probably, but then the user could try to modify the example.env
file and complain about it not taking effects...
I tend to like the idea of some kind on installer not because it is difficult right now (pretty close though) but because it will only get more complex. Keeping installation sensible enough that a script or simple installer can do it is a good way of keeping it on the radar. A successful project must run pretty much out of the box because everyone who can't get it to work goes away mad or sad. I have seen several videos in recent days about privateGPT and they were generally quite favorable. From those, you are going to get more and less capable people trying to install it and, if they fail, those reviews are going to turn sour fast.