D:\Data\ML\devika\venv\Scripts\python.exe D:\Data\ML\devika\devika.py
Traceback (most recent call last):
File "D:\Data\ML\devika\venv\Lib\site-packages\httpx\_transports\default.py", line 66, in map_httpcore_exceptions
yield
File "D:\Data\ML\devika\venv\Lib\site-packages\httpx\_transports\default.py", line 228, in handle_request
resp = self._pool.handle_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpcore\_sync\connection_pool.py", line 216, in handle_request
raise exc from None
File "D:\Data\ML\devika\venv\Lib\site-packages\httpcore\_sync\connection_pool.py", line 196, in handle_request
response = connection.handle_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpcore\_sync\connection.py", line 99, in handle_request
raise exc
File "D:\Data\ML\devika\venv\Lib\site-packages\httpcore\_sync\connection.py", line 76, in handle_request
stream = self._connect(request)
^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpcore\_sync\connection.py", line 122, in _connect
stream = self._network_backend.connect_tcp(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpcore\_backends\sync.py", line 205, in connect_tcp
with map_exceptions(exc_map):
File "C:\Users\tproh\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 155, in __exit__
self.gen.throw(typ, value, traceback)
File "D:\Data\ML\devika\venv\Lib\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectError: [WinError 10061] No connection could be made because the target machine actively refused it
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\Data\ML\devika\devika.py", line 16, in <module>
from src.agents import Agent
File "D:\Data\ML\devika\src\agents\__init__.py", line 1, in <module>
from .agent import Agent
File "D:\Data\ML\devika\src\agents\agent.py", line 1, in <module>
from .planner import Planner
File "D:\Data\ML\devika\src\agents\planner\__init__.py", line 1, in <module>
from .planner import Planner
File "D:\Data\ML\devika\src\agents\planner\planner.py", line 3, in <module>
from src.llm import LLM
File "D:\Data\ML\devika\src\llm\__init__.py", line 1, in <module>
from .llm import LLM, TOKEN_USAGE
File "D:\Data\ML\devika\src\llm\llm.py", line 14, in <module>
class Model(Enum):
File "D:\Data\ML\devika\src\llm\llm.py", line 25, in Model
for model in Ollama.list_models()
^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\src\llm\ollama_client.py", line 6, in list_models
return ollama.list()["models"]
^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\ollama\_client.py", line 328, in list
return self._request('GET', '/api/tags').json()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\ollama\_client.py", line 68, in _request
response = self._client.request(method, url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpx\_client.py", line 814, in request
return self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpx\_client.py", line 901, in send
response = self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpx\_client.py", line 929, in _send_handling_auth
response = self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpx\_client.py", line 966, in _send_handling_redirects
response = self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpx\_client.py", line 1002, in _send_single_request
response = transport.handle_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Data\ML\devika\venv\Lib\site-packages\httpx\_transports\default.py", line 227, in handle_request
with map_httpcore_exceptions():
File "C:\Users\tproh\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 155, in __exit__
self.gen.throw(typ, value, traceback)
File "D:\Data\ML\devika\venv\Lib\site-packages\httpx\_transports\default.py", line 83, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ConnectError: [WinError 10061] No connection could be made because the target machine actively refused it
Process finished with exit code 1
Once I started Ollama it worked fine. This might be an edge case, but I think it would be better to throw a proper error message ( something like "Ollama is required please start Ollama before running this script" ).