chainlit icon indicating copy to clipboard operation
chainlit copied to clipboard

1.2.0 breaks Custom Data Layer

Open marketneutral opened this issue 1 year ago • 2 comments
trafficstars

Describe the bug Release 1.2.0 breaks the example(s) in https://docs.chainlit.io/data-persistence/custom

To Reproduce

This is the code that works prior to 1.2.0

storage_client = S3StorageClient(bucket=bucket_name)
cl_data._data_layer = SQLAlchemyDataLayer(conninfo=db, storage_provider=storage_client)

After 1.2.0, on startup, I get the TypeError

2024-10-01 14:26:12 - S3StorageClient initialized
Traceback (most recent call last):
  File "/home/jlarkin/.conda/envs/chatimc/bin/chainlit", line 8, in <module>
    sys.exit(cli())
  File "/home/jlarkin/.conda/envs/chatimc/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/jlarkin/.conda/envs/chatimc/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/jlarkin/.conda/envs/chatimc/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/jlarkin/.conda/envs/chatimc/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/jlarkin/.conda/envs/chatimc/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/jlarkin/.conda/envs/chatimc/lib/python3.10/site-packages/chainlit/cli/__init__.py", line 199, in chainlit_run
    run_chainlit(target)
  File "/home/jlarkin/.conda/envs/chatimc/lib/python3.10/site-packages/chainlit/cli/__init__.py", line 64, in run_chainlit
    load_module(config.run.module_name)
  File "/home/jlarkin/.conda/envs/chatimc/lib/python3.10/site-packages/chainlit/config.py", line 446, in load_module
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/jlarkin/chatimc/app.py", line 45, in <module>
    cl_data._data_layer = SQLAlchemyDataLayer(conninfo=db, storage_provider=storage_client)
TypeError: Can't instantiate abstract class SQLAlchemyDataLayer with abstract method get_element

Could you adivse on a new example for 1.2.0?

marketneutral avatar Oct 01 '24 18:10 marketneutral