aiohttp.client_exceptions.ContentTypeError: 200, message='Attempt to decode JSON with unexpected mimetype: text/plain; charset=utf-8', url='http://localhost:11434/api/chat' #101

Closed
opened 2026-02-15 17:15:01 -05:00 by yindo · 0 comments
Owner

Originally created by @RainerEmrich on GitHub (Sep 26, 2025).

Using an ollama cloud model I get an exception:

2025-09-26 12:18:46.362 | ERROR | open_webui.routers.tasks:generate_follow_ups:308 - Exception occurred
Traceback (most recent call last):

File "F:\Programme\open-webui\backend\open_webui\routers\ollama.py", line 192, in send_post_request
res = await r.json()
│ └ <function ClientResponse.json at 0x0000018DB9CFECA0>
└ <ClientResponse(http://localhost:11434/api/chat) [200 OK]>
<CIMultiDictProxy('Date': 'Fri, 26 Sep 2025 10:18:46 GMT', 'Conten...

File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\aiohttp\client_reqrep.py", line 749, in json
raise ContentTypeError(
└ <class 'aiohttp.client_exceptions.ContentTypeError'>

aiohttp.client_exceptions.ContentTypeError: 200, message='Attempt to decode JSON with unexpected mimetype: text/plain; charset=utf-8', url='http://localhost:11434/api/chat'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "", line 198, in _run_module_as_main
File "", line 88, in _run_code

File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Scripts\uvicorn.exe__main__.py", line 7, in
sys.exit(main())
│ │ └
│ └
└ <module 'sys' (built-in)>

File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\click\core.py", line 1442, in call
return self.main(args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <function Command.main at 0x0000018DB7DF3C40>

File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\click\core.py", line 1363, in main
rv = self.invoke(ctx)
│ │ └ <click.core.Context object at 0x0000018DB8026F10>
│ └ <function Command.invoke at 0x0000018DB7DF3920>

File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\click\core.py", line 1226, in invoke
return ctx.invoke(self.callback, **ctx.params)
│ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': "'
'", 'workers': 1, 'ws': 'auto', 'app': 'open_webui.main:app', 'ud...
│ │ │ │ └ <click.core.Context object at 0x0000018DB8026F10>
│ │ │ └ <function main at 0x0000018DB80174C0>
│ │ └
│ └ <function Context.invoke at 0x0000018DB7DF2B60>
└ <click.core.Context object at 0x0000018DB8026F10>
File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\click\core.py", line 794, in invoke
return callback(args, **kwargs)
│ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': "'
'", 'workers': 1, 'ws': 'auto', 'app': 'open_webui.main:app', 'ud...
│ └ ()
└ <function main at 0x0000018DB80174C0>
File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\uvicorn\main.py", line 413, in main
run(
└ <function run at 0x0000018DB7E55300>
File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\uvicorn\main.py", line 580, in run
server.run()
│ └ <function Server.run at 0x0000018DB7EA1580>
└ <uvicorn.server.Server object at 0x0000018DB7E2E350>
File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\uvicorn\server.py", line 67, in run
return asyncio.run(self.serve(sockets=sockets))
│ │ │ │ └ None
│ │ │ └ <function Server.serve at 0x0000018DB7EA1620>
│ │ └ <uvicorn.server.Server object at 0x0000018DB7E2E350>
│ └ <function run at 0x0000018DB76D4220>
└ <module 'asyncio' from 'D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\__init__.py'>
File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
│ │ └ <coroutine object Server.serve at 0x0000018DB7FF0130>
│ └ <function Runner.run at 0x0000018DB7744400>
└ <asyncio.runners.Runner object at 0x0000018DB802AA10>
File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
│ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-p...
│ │ └ <function BaseEventLoop.run_until_complete at 0x0000018DB773DEE0>
│ └
└ <asyncio.runners.Runner object at 0x0000018DB802AA10>
File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\base_events.py", line 641, in run_until_complete
self.run_forever()
│ └ <function ProactorEventLoop.run_forever at 0x0000018DB77FDF80>

File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\base_events.py", line 608, in run_forever
self._run_once()
│ └ <function BaseEventLoop._run_once at 0x0000018DB773FC40>

File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\base_events.py", line 1936, in _run_once
handle._run()
│ └ <function Handle._run at 0x0000018DB76891C0>
└ <Handle Task.task_wakeup( result=None>)>
File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\events.py", line 84, in _run
self._context.run(self._callback, *self._args)
│ │ │ │ │ └ <member '_args' of 'Handle' objects>
│ │ │ │ └ <Handle Task.task_wakeup( result=None>)>
│ │ │ └ <member '_callback' of 'Handle' objects>
│ │ └ <Handle Task.task_wakeup( result=None>)>
│ └ <member '_context' of 'Handle' objects>
└ <Handle Task.task_wakeup( result=None>)>

File "F:\Programme\open-webui\backend\open_webui\main.py", line 1514, in process_chat
return await process_chat_response(
└ <function process_chat_response at 0x0000018DFC181760>

File "F:\Programme\open-webui\backend\open_webui\utils\middleware.py", line 2956, in process_chat_response
return await response_handler(response, events)
│ │ └ []
│ └ <starlette.responses.StreamingResponse object at 0x0000018E01869550>
└ <function process_chat_response..response_handler at 0x0000018E01A10680>

File "F:\Programme\open-webui\backend\open_webui\utils\middleware.py", line 2938, in response_handler
await background_tasks_handler()
└ <function process_chat_response..background_tasks_handler at 0x0000018E01A13F60>

File "F:\Programme\open-webui\backend\open_webui\utils\middleware.py", line 1280, in background_tasks_handler
res = await generate_follow_ups(
└ <function generate_follow_ups at 0x0000018DFAA16480>

File "F:\Programme\open-webui\backend\open_webui\routers\tasks.py", line 306, in generate_follow_ups
return await generate_chat_completion(request, form_data=payload, user=user)
│ │ │ └ UserModel(id=', name='', email='*******', username=None,...
│ │ └ {'model': '[local ollama].deepseek-v3.1:671b-cloud', 'messages': [{'role': 'user', 'content': '### Task:\nSuggest 3-5 relevan...
│ └ <starlette.requests.Request object at 0x0000018E01A02E10>
└ <function generate_chat_completion at 0x0000018DFAAC1120>

File "F:\Programme\open-webui\backend\open_webui\utils\chat.py", line 262, in generate_chat_completion
response = await generate_ollama_chat_completion(
└ <function generate_chat_completion at 0x0000018DF99DFD80>

File "F:\Programme\open-webui\backend\open_webui\routers\ollama.py", line 1371, in generate_chat_completion
return await send_post_request(
└ <function send_post_request at 0x0000018DF99AE840>

File "F:\Programme\open-webui\backend\open_webui\routers\ollama.py", line 200, in send_post_request
raise HTTPException(
└ <class 'fastapi.exceptions.HTTPException'>

fastapi.exceptions.HTTPException: 200: Ollama: 200, message='Attempt to decode JSON with unexpected mimetype: text/plain; charset=utf-8', url='http://localhost:11434/api/chat'

Originally created by @RainerEmrich on GitHub (Sep 26, 2025). Using an ollama cloud model I get an exception: 2025-09-26 12:18:46.362 | ERROR | open_webui.routers.tasks:generate_follow_ups:308 - Exception occurred Traceback (most recent call last): File "F:\Programme\open-webui\backend\open_webui\routers\ollama.py", line 192, in send_post_request res = await r.json() │ └ <function ClientResponse.json at 0x0000018DB9CFECA0> └ <ClientResponse(http://localhost:11434/api/chat) [200 OK]> <CIMultiDictProxy('Date': 'Fri, 26 Sep 2025 10:18:46 GMT', 'Conten... File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\aiohttp\client_reqrep.py", line 749, in json raise ContentTypeError( └ <class 'aiohttp.client_exceptions.ContentTypeError'> aiohttp.client_exceptions.ContentTypeError: 200, message='Attempt to decode JSON with unexpected mimetype: text/plain; charset=utf-8', url='http://localhost:11434/api/chat' 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 "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Scripts\uvicorn.exe\__main__.py", line 7, in <module> sys.exit(main()) │ │ └ <Command main> │ └ <built-in function exit> └ <module 'sys' (built-in)> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\click\core.py", line 1442, in __call__ return self.main(*args, **kwargs) │ │ │ └ {} │ │ └ () │ └ <function Command.main at 0x0000018DB7DF3C40> └ <Command main> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\click\core.py", line 1363, in main rv = self.invoke(ctx) │ │ └ <click.core.Context object at 0x0000018DB8026F10> │ └ <function Command.invoke at 0x0000018DB7DF3920> └ <Command main> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\click\core.py", line 1226, in invoke return ctx.invoke(self.callback, **ctx.params) │ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': "'*'", 'workers': 1, 'ws': 'auto', 'app': 'open_webui.main:app', 'ud... │ │ │ │ └ <click.core.Context object at 0x0000018DB8026F10> │ │ │ └ <function main at 0x0000018DB80174C0> │ │ └ <Command main> │ └ <function Context.invoke at 0x0000018DB7DF2B60> └ <click.core.Context object at 0x0000018DB8026F10> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\click\core.py", line 794, in invoke return callback(*args, **kwargs) │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': "'*'", 'workers': 1, 'ws': 'auto', 'app': 'open_webui.main:app', 'ud... │ └ () └ <function main at 0x0000018DB80174C0> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\uvicorn\main.py", line 413, in main run( └ <function run at 0x0000018DB7E55300> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\uvicorn\main.py", line 580, in run server.run() │ └ <function Server.run at 0x0000018DB7EA1580> └ <uvicorn.server.Server object at 0x0000018DB7E2E350> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-packages\uvicorn\server.py", line 67, in run return asyncio.run(self.serve(sockets=sockets)) │ │ │ │ └ None │ │ │ └ <function Server.serve at 0x0000018DB7EA1620> │ │ └ <uvicorn.server.Server object at 0x0000018DB7E2E350> │ └ <function run at 0x0000018DB76D4220> └ <module 'asyncio' from 'D:\\Users\\rainer\\AppData\\Local\\anaconda3\\envs\\openwebui\\Lib\\asyncio\\__init__.py'> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\runners.py", line 190, in run return runner.run(main) │ │ └ <coroutine object Server.serve at 0x0000018DB7FF0130> │ └ <function Runner.run at 0x0000018DB7744400> └ <asyncio.runners.Runner object at 0x0000018DB802AA10> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\runners.py", line 118, in run return self._loop.run_until_complete(task) │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\site-p... │ │ └ <function BaseEventLoop.run_until_complete at 0x0000018DB773DEE0> │ └ <ProactorEventLoop running=True closed=False debug=False> └ <asyncio.runners.Runner object at 0x0000018DB802AA10> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\base_events.py", line 641, in run_until_complete self.run_forever() │ └ <function ProactorEventLoop.run_forever at 0x0000018DB77FDF80> └ <ProactorEventLoop running=True closed=False debug=False> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\windows_events.py", line 321, in run_forever super().run_forever() File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\base_events.py", line 608, in run_forever self._run_once() │ └ <function BaseEventLoop._run_once at 0x0000018DB773FC40> └ <ProactorEventLoop running=True closed=False debug=False> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\base_events.py", line 1936, in _run_once handle._run() │ └ <function Handle._run at 0x0000018DB76891C0> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "D:\Users\rainer\AppData\Local\anaconda3\envs\openwebui\Lib\asyncio\events.py", line 84, in _run self._context.run(self._callback, *self._args) │ │ │ │ │ └ <member '_args' of 'Handle' objects> │ │ │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ │ │ └ <member '_callback' of 'Handle' objects> │ │ └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> │ └ <member '_context' of 'Handle' objects> └ <Handle Task.task_wakeup(<Task finishe...> result=None>)> File "F:\Programme\open-webui\backend\open_webui\main.py", line 1514, in process_chat return await process_chat_response( └ <function process_chat_response at 0x0000018DFC181760> File "F:\Programme\open-webui\backend\open_webui\utils\middleware.py", line 2956, in process_chat_response return await response_handler(response, events) │ │ └ [] │ └ <starlette.responses.StreamingResponse object at 0x0000018E01869550> └ <function process_chat_response.<locals>.response_handler at 0x0000018E01A10680> File "F:\Programme\open-webui\backend\open_webui\utils\middleware.py", line 2938, in response_handler await background_tasks_handler() └ <function process_chat_response.<locals>.background_tasks_handler at 0x0000018E01A13F60> File "F:\Programme\open-webui\backend\open_webui\utils\middleware.py", line 1280, in background_tasks_handler res = await generate_follow_ups( └ <function generate_follow_ups at 0x0000018DFAA16480> > File "F:\Programme\open-webui\backend\open_webui\routers\tasks.py", line 306, in generate_follow_ups return await generate_chat_completion(request, form_data=payload, user=user) │ │ │ └ UserModel(id=********************', name='************', email='***************', username=None,... │ │ └ {'model': '[local ollama].deepseek-v3.1:671b-cloud', 'messages': [{'role': 'user', 'content': '### Task:\nSuggest 3-5 relevan... │ └ <starlette.requests.Request object at 0x0000018E01A02E10> └ <function generate_chat_completion at 0x0000018DFAAC1120> File "F:\Programme\open-webui\backend\open_webui\utils\chat.py", line 262, in generate_chat_completion response = await generate_ollama_chat_completion( └ <function generate_chat_completion at 0x0000018DF99DFD80> File "F:\Programme\open-webui\backend\open_webui\routers\ollama.py", line 1371, in generate_chat_completion return await send_post_request( └ <function send_post_request at 0x0000018DF99AE840> File "F:\Programme\open-webui\backend\open_webui\routers\ollama.py", line 200, in send_post_request raise HTTPException( └ <class 'fastapi.exceptions.HTTPException'> fastapi.exceptions.HTTPException: 200: Ollama: 200, message='Attempt to decode JSON with unexpected mimetype: text/plain; charset=utf-8', url='http://localhost:11434/api/chat'
yindo closed this issue 2026-02-15 17:15:01 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: open-webui/docs#101