wandb / openui

OpenUI let's you describe UI using your imagination, then see it rendered live.
https://openui.fly.dev
Apache License 2.0
16.86k stars 1.47k forks source link

When loading, use ollama to report an error #90

Open MrJingLiguo opened 1 month ago

MrJingLiguo commented 1 month ago

When loading, use ollama to report an error

wandb: Unpatching OpenAI completions
INFO (openui):  Starting OpenUI AI Server created by W&B...
INFO (openui):  Running in dev mode
INFO (uvicorn.error):  Will watch for changes in these directories: ['E:\\Ai\\openui\\backend']
INFO (openui):  Running API Server
INFO:     Will watch for changes in these directories: ['E:\\Ai\\openui\\backend']
INFO:     Uvicorn running on http://127.0.0.1:7878 (Press CTRL+C to quit)
INFO:     Started reloader process [29720] using WatchFiles
wandb: Unpatching OpenAI completions
INFO:     Started server process [2040]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     127.0.0.1:11644 - "GET / HTTP/1.1" 200 OK
INFO:     127.0.0.1:11644 - "GET /v1/session HTTP/1.1" 200 OK
INFO:     127.0.0.1:11643 - "GET /v1/ollama/tags HTTP/1.1" 500 Internal Server Error
Server Error: All connection attempts failed
Traceback (most recent call last):
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_transports\default.py", line 69, in map_httpcore_exceptions
    yield
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_transports\default.py", line 373, in handle_async_request
    resp = await self._pool.handle_async_request(req)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection_pool.py", line 216, in handle_async_request
    raise exc from None
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection_pool.py", line 196, in handle_async_request
    response = await connection.handle_async_request(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection.py", line 99, in handle_async_request
    raise exc
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection.py", line 76, in handle_async_request
    stream = await self._connect(request)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection.py", line 122, in _connect
    stream = await self._network_backend.connect_tcp(**kwargs)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_backends\auto.py", line 30, in connect_tcp
    return await self._backend.connect_tcp(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_backends\anyio.py", line 114, in connect_tcp
    with map_exceptions(exc_map):
  File "D:\Local\Programs\miniconda3\envs\openui\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ConnectError: All connection attempts failed

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\middleware\sessions.py", line 85, in __call__
    await self.app(scope, receive, send_wrapper)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\middleware\exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 72, in app
    response = await func(request)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\fastapi\routing.py", line 278, in app
    raw_response = await run_endpoint_function(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\fastapi\routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
  File "E:\Ai\openui\backend\openui\server.py", line 305, in ollama_models
    return await ollama.list()
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\ollama\_client.py", line 617, in list
    response = await self._request('GET', '/api/tags')
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\ollama\_client.py", line 343, in _request
    response = await self._client.request(method, url, **kwargs)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1574, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1661, in send
    response = await self._send_handling_auth(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1689, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1726, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1763, in _send_single_request
    response = await transport.handle_async_request(request)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_transports\default.py", line 372, in handle_async_request
    with map_httpcore_exceptions():
  File "D:\Local\Programs\miniconda3\envs\openui\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_transports\default.py", line 86, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectError: All connection attempts failed
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_transports\default.py", line 69, in map_httpcore_exceptions
    yield
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_transports\default.py", line 373, in handle_async_request
    resp = await self._pool.handle_async_request(req)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection_pool.py", line 216, in handle_async_request
    raise exc from None
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection_pool.py", line 196, in handle_async_request
    response = await connection.handle_async_request(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection.py", line 99, in handle_async_request
    raise exc
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection.py", line 76, in handle_async_request
    stream = await self._connect(request)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_async\connection.py", line 122, in _connect
    stream = await self._network_backend.connect_tcp(**kwargs)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_backends\auto.py", line 30, in connect_tcp
    return await self._backend.connect_tcp(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_backends\anyio.py", line 114, in connect_tcp
    with map_exceptions(exc_map):
  File "D:\Local\Programs\miniconda3\envs\openui\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ConnectError: All connection attempts failed

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\uvicorn\protocols\http\httptools_impl.py", line 411, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 69, in __call__
    return await self.app(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\fastapi\applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
    raise exc
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\middleware\sessions.py", line 85, in __call__
    await self.app(scope, receive, send_wrapper)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\middleware\exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\starlette\routing.py", line 72, in app
    response = await func(request)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\fastapi\routing.py", line 278, in app
    raw_response = await run_endpoint_function(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\fastapi\routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
  File "E:\Ai\openui\backend\openui\server.py", line 305, in ollama_models
    return await ollama.list()
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\ollama\_client.py", line 617, in list
    response = await self._request('GET', '/api/tags')
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\ollama\_client.py", line 343, in _request
    response = await self._client.request(method, url, **kwargs)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1574, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1661, in send
    response = await self._send_handling_auth(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1689, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1726, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_client.py", line 1763, in _send_single_request
    response = await transport.handle_async_request(request)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_transports\default.py", line 372, in handle_async_request
    with map_httpcore_exceptions():
  File "D:\Local\Programs\miniconda3\envs\openui\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "D:\Local\Programs\miniconda3\envs\openui\lib\site-packages\httpx\_transports\default.py", line 86, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectError: All connection attempts failed
vanpelt commented 1 month ago

I'll look into this

John-Appleseed commented 1 month ago

Follow backend/README.md docs Export OLLAMA_HOST to set ollama URL

export OLLAMA_HOST="host.docker.internal:11434"

Add -e OLLAMA_HOST to pass ollama URL to container Add docker --add-host command flag to allow access to localhost ollama.service

docker run -p 7878:7878 --add-host=host.docker.internal:host-gateway --name openui -e OLLAMA_HOST -e OPENAI_API_KEY wandb/openui

OLLAMA_HOST variable is currently is missing from documentation - https://github.com/wandb/openui/blob/main/backend/README.md#usage

VideoFX commented 1 month ago

I am getting this too.

I fixed with: OLLAMA_HOST="http://192.168.1.2:11434" OPENAI_API_KEY=xxx python -m openui