THUDM / AgentBench

A Comprehensive Benchmark to Evaluate LLMs as Agents (ICLR'24)
https://llmbench.ai
Apache License 2.0
2.15k stars 150 forks source link

TypeError: cannot pickle 'builtins.CoreBPE' object When using dbbench #9

Closed cyente closed 11 months ago

cyente commented 1 year ago
Traceback (most recent call last):
  File "/mnt/workspace/xxx/pythonfile/download/AgentBench/src/task.py", line 94, in call_wrap
    result = self.predict_single(session, data_item)
  File "/mnt/workspace/xxx/pythonfile/download/AgentBench/src/tasks/dbbench/__init__.py", line 170, in predict_single
    self.processes[i][0].send((data_item, session, sender))
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/multiprocess/connection.py", line 209, in send
    self._send_bytes(_ForkingPickler.dumps(obj))
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/multiprocess/reduction.py", line 54, in dumps
    cls(buf, protocol, *args, **kwds).dump(obj)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 418, in dump
    StockPickler.dump(self, obj)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 487, in dump
    self.save(obj)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 886, in save_tuple
    save(element)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 603, in save
    self.save_reduce(obj=obj, *rv)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 717, in save_reduce
    save(state)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 1212, in save_module_dict
    StockPickler.save_dict(pickler, obj)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 971, in save_dict
    self._batch_setitems(obj.items())
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 997, in _batch_setitems
    save(v)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 1965, in save_function
    _save_with_postproc(pickler, (_create_function, (
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 1112, in _save_with_postproc
    pickler.save_reduce(*reduction)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 692, in save_reduce
    save(args)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 886, in save_tuple
    save(element)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 1453, in save_instancemethod0
    pickler.save_reduce(MethodType, (obj.__func__, obj.__self__), obj=obj)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 692, in save_reduce
    save(args)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 886, in save_tuple
    save(element)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 603, in save
    self.save_reduce(obj=obj, *rv)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 717, in save_reduce
    save(state)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 1212, in save_module_dict
    StockPickler.save_dict(pickler, obj)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 971, in save_dict
    self._batch_setitems(obj.items())
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 997, in _batch_setitems
    save(v)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 603, in save
    self.save_reduce(obj=obj, *rv)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 717, in save_reduce
    save(state)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 1212, in save_module_dict
    StockPickler.save_dict(pickler, obj)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 971, in save_dict
    self._batch_setitems(obj.items())
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 997, in _batch_setitems
    save(v)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 603, in save
    self.save_reduce(obj=obj, *rv)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 717, in save_reduce
    save(state)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 1212, in save_module_dict
    StockPickler.save_dict(pickler, obj)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 971, in save_dict
    self._batch_setitems(obj.items())
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 997, in _batch_setitems
    save(v)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py38/lib/python3.8/pickle.py", line 578, in save
    rv = reduce(self.proto)
TypeError: cannot pickle 'builtins.CoreBPE' object
zhc7 commented 1 year ago

maybe py39 can fix your problem.

cyente commented 1 year ago

I try py39 but It seems does not work.

  File "/mnt/workspace/xxx/pythonfile/download/AgentBench/src/task.py", line 94, in call_wrap
    result = self.predict_single(session, data_item)
  File "/mnt/workspace/xxx/pythonfile/download/AgentBench/src/tasks/webshop/__init__.py", line 115, in predict_single
    self.processes[i][0].send((data_item, session, sender))
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/multiprocess/connection.py", line 209, in send
    self._send_bytes(_ForkingPickler.dumps(obj))
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/multiprocess/reduction.py", line 54, in dumps
    cls(buf, protocol, *args, **kwds).dump(obj)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 418, in dump
    StockPickler.dump(self, obj)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 487, in dump
    self.save(obj)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 886, in save_tuple
    save(element)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 603, in save
    self.save_reduce(obj=obj, *rv)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 717, in save_reduce
    save(state)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 1212, in save_module_dict
    StockPickler.save_dict(pickler, obj)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 971, in save_dict
    self._batch_setitems(obj.items())
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 997, in _batch_setitems
    save(v)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 1965, in save_function
    _save_with_postproc(pickler, (_create_function, (
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 1112, in _save_with_postproc
    pickler.save_reduce(*reduction)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 692, in save_reduce
    save(args)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 886, in save_tuple
    save(element)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 1453, in save_instancemethod0
    pickler.save_reduce(MethodType, (obj.__func__, obj.__self__), obj=obj)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 692, in save_reduce
    save(args)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 886, in save_tuple
    save(element)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 603, in save
    self.save_reduce(obj=obj, *rv)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 717, in save_reduce
    save(state)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 1212, in save_module_dict
    StockPickler.save_dict(pickler, obj)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 971, in save_dict
    self._batch_setitems(obj.items())
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 997, in _batch_setitems
    save(v)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 603, in save
    self.save_reduce(obj=obj, *rv)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 717, in save_reduce
    save(state)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 1212, in save_module_dict
    StockPickler.save_dict(pickler, obj)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 971, in save_dict
    self._batch_setitems(obj.items())
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 997, in _batch_setitems
    save(v)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 603, in save
    self.save_reduce(obj=obj, *rv)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 717, in save_reduce
    save(state)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 1212, in save_module_dict
    StockPickler.save_dict(pickler, obj)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 971, in save_dict
    self._batch_setitems(obj.items())
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 997, in _batch_setitems
    save(v)
  File "/opt/conda/envs/py39/lib/python3.9/site-packages/dill/_dill.py", line 412, in save
    StockPickler.save(self, obj, save_persistent_id)
  File "/opt/conda/envs/py39/lib/python3.9/pickle.py", line 578, in save
    rv = reduce(self.proto)
TypeError: cannot pickle 'builtins.CoreBPE' object
zhc7 commented 1 year ago

can you post your environment details? with conda list.

Longin-Yu commented 11 months ago

We have released v0.2, welcome to have a try! And feel free to reopen this issue if any problem still exists.