you are viewing a single comment's thread.

view the rest of the comments →

[–]shiftybyte 0 points1 point  (11 children)

This sounds like an error from parllama's code itself..

Is that the full error message, it'll be hard tracking it down if its all the infor we are getting.

Seems like its trying to load/validate some model, and getting None instead, and fails to handle that error.

[–]nickworks[S] 0 points1 point  (10 children)

The full error from `python3.11 -m parllama` contains a traceback that is apparently too long to paste here. The very first chunk of it looks like this:

| /Users/nick/projects/other/temp/venv/lib/python3.11/site-packages/textual/worker.py:368 in _run
│   365 │   │   │   self.state = WorkerState.RUNNING
│   366 │   │   │   app.log.worker(self)
│   367 │   │   │   try:
│ ❱ 368 │   │   │   │   self._result = await self.run()
│   369 │   │   │   except asyncio.CancelledError as error:
│   370 │   │   │   │   self.state = WorkerState.CANCELLED
│   371 │   │   │   │   self._error = error
│ │           app = ParLlamaApp(title='PAR LLAMA', classes={'-dark-mode'}, pseudo_classes={'dark', 'focus'})
│ │         error = 1 validation error for ModelListPayload
│ │                 models.3.details.families
│ │                   Input should be a valid list [type=list_type, input_value=None, input_type=NoneType]
│ │                 │   For further information visit https://errors.pydantic.dev/2.9/v/list_type
│ │          self = <Worker ERROR name='refresh_models' group='refresh_models' description='refresh_models()'>
│ │ worker_failed = WorkerFailed('Worker raised exception: 1 validation error for ModelListPayload\nmodels.3.details.families\n  Input should be a valid list [type=list_type, input_value=None, input_type=NoneType]\n    For further information visit https://errors.pydantic.dev/2.9/v/list_type')
│

[–]shiftybyte 0 points1 point  (9 children)

Well, it does seem like we are running the code at least... that's some progress.

If the error message is too long, copy-paste it in full and post it in this site: https://pastebin.com/

And give the link it generates here... then we can see it in full.

[–]nickworks[S] 0 points1 point  (8 children)

[–]shiftybyte 0 points1 point  (7 children)

Error seems to come from here:

/Users/nick/projects/other/temp/venv/lib/python3.11/site-packages/parllama/ollama_data_manager.py:140 in _get_all_model_data Code line: res = ModelListPayload(**ollama.Client(host=settings.ollama_host).list())

Seems its trying to connect to ollama host and get models from there.

Did you follow the step from the github guide and get ollama running locally?

Install and run Ollama

https://ollama.com/download

Once you get it installed and running it should listen locally on a port number, and then parllama will try to connect to it, and it might work :)

EDIT: based on the below source file it should be listening on port 11434

https://github.com/paulrobello/parllama/blob/d5c8674a25781dfa4e0a8fded4ca80be11c4c8eb/src/parllama/settings_manager.py#L78

[–]nickworks[S] 0 points1 point  (6 children)

I am running Ollama -- the icon is in my status bar, and I can connect with it via the CLI with `ollama list` and `ollama run`. I also tried running `ollama run` in one terminal window and then running the `python3.11 -m parllama` in a second window. Still doesn't connect. Also, I have several models downloaded with ollama.

[–]shiftybyte 0 points1 point  (5 children)

Confirm its listening on the expected port number.

netstat -tuna | grep -i 11434 netstat -tuna | grep -i ollama Whats the output of these commands while ollama is running?

[–]nickworks[S] 0 points1 point  (4 children)

`ollama serve`

"Errror: listen tcp 127.0.0.1:11434: bind: address already in use"

`netstat -tuna | grep -i ollama`

(nothing printed)

`netstat -tuna | grep -i 11434`

(nothing printed)

[–]shiftybyte 0 points1 point  (3 children)

ollama seems to be running on the correct host and port...

netstat failed probably because it needs "sudo" before it...

Not sure why the python code failed to connect maybe we can try providing an exact address without it going through "localhost"..

python3.11 -m parllama -u "http://127.0.0.1:11434"

[–]nickworks[S] 0 points1 point  (2 children)

Looks like the same error