jupyter-ai icon indicating copy to clipboard operation
jupyter-ai copied to clipboard

`pip install jupyter-ai[all]` should be documented, and requirement to install extra packages mentioned in the install section

Open krassowski opened this issue 1 year ago • 1 comments
trafficstars

This is likely due to the upstream changes in langchain; langchain recently moved all of its OpenAI models to the langchain-openai package, so you now need to install langchain-openai to get access to OpenAI models. Can you try doing that?

If you want to install every dependency to get access to all models currently supported by jupyter-ai, you should run:

pip install jupyter-ai[all]

Originally posted by @dlqqq in https://github.com/jupyterlab/jupyter-ai/issues/721#issuecomment-2050282980

This trips dozens of users all the time. pip install jupyter-ai[all] should be documented, and requirement to install extra packages mentioned in the install section. Currently this is not mentioned in the readme at all and https://jupyter-ai.readthedocs.io/en/latest/users/index.html#installation does not mention the need to install extra packages at all. It is mentioned later on in https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers but that is not linked from the installation section.

krassowski avatar Aug 15 '24 08:08 krassowski

Triggered by https://discourse.jupyter.org/t/missing-some-providers-in-jupyter-ai/27600

krassowski avatar Aug 15 '24 08:08 krassowski

Closed by PR #961

srdas avatar Aug 19 '24 23:08 srdas

I know this is closed but I don't want to open a separate issue -- I take it there is no way to install vendor-specific bits like for anthropic using optional deps such as pip install jupyter-ai[anthropic]? I tried this and it didn't work, I had to use [all]. I wonder if this would be considered a friendly feature request or a pita. I'm burying it here to get the temperature of the room. I think it would be useful, but probably a pain to maintain...

EricThomson avatar Sep 03 '24 02:09 EricThomson

I think it would be useful, but probably a pain to maintain...

Actually, it might be easier to maintain that the current table in the docs:

https://github.com/jupyterlab/jupyter-ai/blob/4b45ec23f3e16a0fa29718eefaf37064f59cafe6/docs/source/users/index.md?plain=1#L160-L179

There is a number of problems with the current table:

  • users cannot easily install with copy-paste if there is multiple dependencies like for hugging face hub
  • there is no specification of minimum version pins
  • it is not testable on CI

I personally would say that if you would like to implement this, together with a CI action that installs each of these separately and then runs pip check + tests that the provider does get loaded, then that would be super valuable contribution. Other maintainers may have a different opinion though.

krassowski avatar Sep 03 '24 09:09 krassowski

I personally would say that if you would like to implement this, together with a CI action that installs each of these separately and then runs pip check + tests that the provider does get loaded, then that would be super valuable contribution. Other maintainers may have a different opinion though.

Maybe worth opening a separate issue about this to discuss?

EricThomson avatar Sep 03 '24 11:09 EricThomson