ccbogel / QualCoder

Qualitative data analysis for text, images, audio, video. Cross platform. Python 3.10 or newer and PyQt6.
https://qualcoder.wordpress.com/
GNU Lesser General Public License v3.0
383 stars 85 forks source link

OperationalError: no such column: collections.topic #942

Closed ccbogel closed 1 month ago

ccbogel commented 1 month ago

Describe the bug :
File "C:\Users\ccbog\Documents\informatics\QualCoder-master\qualcoder\ai_async_worker.py", line 115, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\Documents\informatics\QualCoder-master\qualcoder\ai_vectorstore.py", line 284, in _open_db self.chroma_db = Chroma(client_settings=chroma_client_settings, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\langchain_chroma\vectorstores.py", line 323, in init self.__ensure_collection()

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\langchain_chroma\vectorstores.py", line 330, in __ensure_collection self._chroma_collection = self._client.get_or_create_collection( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\chromadb\api\client.py", line 237, in get_or_create_collection return self._server.get_or_create_collection( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\chromadb\telemetry\opentelemetry__init__.py", line 127, in wrapper return f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\chromadb\api\segment.py", line 216, in get_or_create_collection return self.create_collection( # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\chromadb\telemetry\opentelemetry__init__.py", line 127, in wrapper return f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\chromadb\api\segment.py", line 166, in create_collection coll, created = self._sysdb.create_collection( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\chromadb\telemetry\opentelemetry__init__.py", line 127, in wrapper return f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\chromadb\db\mixins\sysdb.py", line 209, in create_collection existing = self.get_collections(name=name, tenant=tenant, database=database) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\chromadb\telemetry\opentelemetry__init__.py", line 127, in wrapper return f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^

File "C:\Users\ccbog\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\chromadb\db\mixins\sysdb.py", line 435, in get_collections rows = cur.execute(sql, params).fetchall() ^^^^^^^^^^^^^^^^^^^^^^^^

OperationalError: no such column: collections.topic

To Reproduce : Run the new AI merged branch

Expected behavior : No error

kaixxx commented 1 month ago

I'm not able to reproduce the error. But I suspect it might have to do with the langchain-libraries being too old, as mentioned here: https://github.com/ccbogel/QualCoder/issues/941#issuecomment-2408929932 You probably had an older version still installed from testing back in January. Could you please upgrade all the langchain libraries to the latest version and try again? Hope this solves the problem.

BTW: This is a perfect example why I introduced the new error dialog. Langchain has so many layers of abstraction that the traceback can get insanely long.

ccbogel commented 1 month ago

Yes the error dialog is great. OK I have updated requirements.txt Now it works fine

kaixxx commented 1 month ago

Nice to hear that it works now. I may add some more minimal versions to requirements.txt to avoid such problems in the future.