zylon-ai / private-gpt

Interact with your documents using the power of GPT, 100% privately, no data leaks
https://privategpt.dev
Apache License 2.0
53.87k stars 7.24k forks source link

cant run server #1225

Closed userbox020 closed 11 months ago

userbox020 commented 11 months ago

I'm using windows 10

(C:\Users\admin\Desktop\www\_miniconda\installer_files\env) C:\Users\admin\Desktop\www\privateGPT>PGPT_PROFILES=local make run
'PGPT_PROFILES' is not recognized as an internal or external command,
operable program or batch file.
(C:\Users\admin\Desktop\www\_miniconda\installer_files\env) C:\Users\admin\Desktop\www\privateGPT>poetry run python -m private_gpt
23:00:42.028 [INFO    ] private_gpt.settings.settings_loader - Starting application with profiles=['default']
Traceback (most recent call last):
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 798, in get
    return self._context[key]
           ~~~~~~~~~~~~~^^^^^
KeyError: <class 'private_gpt.ui.ui.PrivateGptUi'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 798, in get
    return self._context[key]
           ~~~~~~~~~~~~~^^^^^
KeyError: <class 'private_gpt.server.ingest.ingest_service.IngestService'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 798, in get
    return self._context[key]
           ~~~~~~~~~~~~~^^^^^
KeyError: <class 'private_gpt.components.llm.llm_component.LLMComponent'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\__main__.py", line 5, in <module>
    from private_gpt.main import app
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\main.py", line 11, in <module>
    app = create_app(global_injector)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\launcher.py", line 125, in create_app
    ui = root_injector.get(PrivateGptUi)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 91, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 974, in get
    provider_instance = scope_instance.get(interface, binding.provider)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 91, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 800, in get
    instance = self._get_instance(key, provider, self.injector)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 811, in _get_instance
    return provider.get(injector)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 264, in get
    return injector.create_object(self._cls)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 998, in create_object
    self.call_with_injection(init, self_=instance, kwargs=additional_kwargs)
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 1031, in call_with_injection
    dependencies = self.args_to_inject(
                   ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 91, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 1079, in args_to_inject
    instance: Any = self.get(interface)
                    ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 91, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 974, in get
    provider_instance = scope_instance.get(interface, binding.provider)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 91, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 800, in get
    instance = self._get_instance(key, provider, self.injector)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 811, in _get_instance
    return provider.get(injector)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 264, in get
    return injector.create_object(self._cls)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 998, in create_object
    self.call_with_injection(init, self_=instance, kwargs=additional_kwargs)
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 1031, in call_with_injection
    dependencies = self.args_to_inject(
                   ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 91, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 1079, in args_to_inject
    instance: Any = self.get(interface)
                    ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 91, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 974, in get
    provider_instance = scope_instance.get(interface, binding.provider)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 91, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 800, in get
    instance = self._get_instance(key, provider, self.injector)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 811, in _get_instance
    return provider.get(injector)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 264, in get
    return injector.create_object(self._cls)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 998, in create_object
    self.call_with_injection(init, self_=instance, kwargs=additional_kwargs)
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\injector\__init__.py", line 1040, in call_with_injection
    return callable(*full_args, **dependencies)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\components\llm\llm_component.py", line 20, in __init__
    self.llm = LlamaCPP(
               ^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\llama_index\llms\llama_cpp.py", line 88, in __init__
    from llama_cpp import Llama
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\llama_cpp\__init__.py", line 1, in <module>
    from .llama_cpp import *
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\llama_cpp\llama_cpp.py", line 82, in <module>
    _lib = _load_shared_library(_lib_base_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\site-packages\llama_cpp\llama_cpp.py", line 61, in _load_shared_library
    os.add_dll_directory(os.path.join(os.environ["CUDA_PATH"], "bin"))
  File "<frozen os>", line 1119, in add_dll_directory
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\\Users\\admin\\Desktop\\www\\_miniconda\\installer_files\\env\\bin'
jaydavid commented 11 months ago

For the initial issue you had, where PGPT_PROFILES=local make run was failing on a Windows machine, try this instead:

SET PGPT_PROFILES=local; make run
userbox020 commented 11 months ago

thanks bro, i could set the profile to local, but when starting server i get the follow poetry run python -m private_gpt

17:45:56.920 [INFO    ] private_gpt.settings.settings_loader - Starting application with profiles=['default', 'local; make run']
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\__main__.py", line 5, in <module>
    from private_gpt.main import app
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\main.py", line 5, in <module>
    from private_gpt.di import global_injector
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\di.py", line 3, in <module>
    from private_gpt.settings.settings import Settings, unsafe_typed_settings
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\settings\settings.py", line 122, in <module>
    unsafe_settings = load_active_settings()
                      ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\settings\settings_loader.py", line 53, in load_active_settings
    loaded_profiles = [
                      ^
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\settings\settings_loader.py", line 54, in <listcomp>
    load_settings_from_profile(profile) for profile in active_profiles
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\privateGPT\private_gpt\settings\settings_loader.py", line 43, in load_settings_from_profile
    with Path(path).open("r") as f:
         ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\www\_miniconda\installer_files\env\Lib\pathlib.py", line 1044, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\admin\\Desktop\\www\\privateGPT\\settings-local; make run.yaml'
jaydavid commented 11 months ago

My best guess would be the profiles that it's trying to load. It appears to be trying to use default and local; make run, the latter of which has some additional text embedded within it (; make run).

For my previous response I had tested that one-liner within powershell, but it might be behaving differently on your machine, since it appears as though the profile was set to the whole string literal of local; make run as opposed to setting it to local and then having a semicolon separate that statement and the following, make run

You could try doing it in two lines. PGPT_PROFILES=local and then the next command being make run maybe? Sorry if I had misled you earlier

userbox020 commented 11 months ago

Excellent bro, working on default mode. Here I share my win10 steps, I didnt create any conda env or venv but its recommended.

  git clone https://github.com/imartinez/privateGPT
  cd privateGPT
  poetry install --with ui
  SET PGPT_PROFILES=local
  poetry install --with local
  poetry run python scripts/setup
  poetry run python -m private_gpt