Skip to content

[BUG CLIENT]: Reference chunks with string IDs make the client fail #325

@ilancoulon

Description

@ilancoulon

Python -VV

import _frozen_importlib # frozen
import _imp # builtin
import '_thread' # <class '_frozen_importlib.BuiltinImporter'>
import '_warnings' # <class '_frozen_importlib.BuiltinImporter'>
import '_weakref' # <class '_frozen_importlib.BuiltinImporter'>
import '_io' # <class '_frozen_importlib.BuiltinImporter'>
import 'marshal' # <class '_frozen_importlib.BuiltinImporter'>
import 'posix' # <class '_frozen_importlib.BuiltinImporter'>
import '_frozen_importlib_external' # <class '_frozen_importlib.FrozenImporter'>
# installing zipimport hook
import 'time' # <class '_frozen_importlib.BuiltinImporter'>
import 'zipimport' # <class '_frozen_importlib.FrozenImporter'>
# installed zipimport hook
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/__pycache__/__init__.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/__init__.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/__pycache__/__init__.cpython-312.pyc'
import '_codecs' # <class '_frozen_importlib.BuiltinImporter'>
import 'codecs' # <class '_frozen_importlib.FrozenImporter'>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/aliases.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/aliases.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/aliases.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/aliases.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/__pycache__/aliases.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/aliases.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/__pycache__/aliases.cpython-312.pyc'
import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0ffe1130>
import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0ffe0770>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/__pycache__/utf_8.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/__pycache__/utf_8.cpython-312.pyc'
import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0ffe36b0>
import '_signal' # <class '_frozen_importlib.BuiltinImporter'>
import '_abc' # <class '_frozen_importlib.BuiltinImporter'>
import 'abc' # <class '_frozen_importlib.FrozenImporter'>
import 'io' # <class '_frozen_importlib.FrozenImporter'>
import '_stat' # <class '_frozen_importlib.BuiltinImporter'>
import 'stat' # <class '_frozen_importlib.FrozenImporter'>
import '_collections_abc' # <class '_frozen_importlib.FrozenImporter'>
import 'genericpath' # <class '_frozen_importlib.FrozenImporter'>
import 'posixpath' # <class '_frozen_importlib.FrozenImporter'>
import 'os' # <class '_frozen_importlib.FrozenImporter'>
import '_sitebuiltins' # <class '_frozen_importlib.FrozenImporter'>
Processing global site-packages
Adding directory: '/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages'
Processing .pth file: '/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_virtualenv.pth'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8_sig.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8_sig.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8_sig.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8_sig.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/__pycache__/utf_8_sig.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/utf_8_sig.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/encodings/__pycache__/utf_8_sig.cpython-312.pyc'
import 'encodings.utf_8_sig' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fff9d60>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_virtualenv.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_virtualenv.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_virtualenv.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_virtualenv.py
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_virtualenv.pyc
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_virtualenv.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_virtualenv.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_virtualenv.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_virtualenv.py
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_virtualenv.pyc
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_virtualenv.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_virtualenv.abi3.so
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_virtualenv.so
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_virtualenv.py
# /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/__pycache__/_virtualenv.cpython-312.pyc matches /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_virtualenv.py
# code object from '/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/__pycache__/_virtualenv.cpython-312.pyc'
import '_virtualenv' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fffa780>
Processing user site-packages
Processing global site-packages
Adding directory: '/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages'
Processing .pth file: '/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_virtualenv.pth'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/sitecustomize.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/sitecustomize.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/sitecustomize.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/sitecustomize.py
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/sitecustomize.pyc
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/sitecustomize.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/sitecustomize.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/sitecustomize.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/sitecustomize.py
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/sitecustomize.pyc
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/sitecustomize.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/sitecustomize.abi3.so
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/sitecustomize.so
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/sitecustomize.py
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/sitecustomize.pyc
import 'site' # <class '_frozen_importlib.FrozenImporter'>
import 'readline' # <class '_frozen_importlib.BuiltinImporter'>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/rlcompleter.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/rlcompleter.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/rlcompleter.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/rlcompleter.py
# code object from /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/rlcompleter.py
# created '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/rlcompleter.cpython-312.pyc'
import 'atexit' # <class '_frozen_importlib.BuiltinImporter'>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/inspect.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/inspect.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/inspect.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/inspect.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/inspect.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/inspect.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/inspect.cpython-312.pyc'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/ast.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/ast.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/ast.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/ast.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/ast.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/ast.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/ast.cpython-312.pyc'
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/__init__.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__init__.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/__init__.cpython-312.pyc'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/enum.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/enum.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/enum.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/enum.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/enum.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/enum.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/enum.cpython-312.pyc'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/types.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/types.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/types.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/types.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/types.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/types.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/types.cpython-312.pyc'
import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fb98920>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/operator.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/operator.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/operator.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/operator.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/operator.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/operator.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/operator.cpython-312.pyc'
import '_operator' # <class '_frozen_importlib.BuiltinImporter'>
import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fb98a40>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/functools.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/functools.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/functools.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/functools.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/functools.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/functools.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/functools.cpython-312.pyc'
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/__pycache__/__init__.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/__init__.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/__pycache__/__init__.cpython-312.pyc'
import 'itertools' # <class '_frozen_importlib.BuiltinImporter'>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/keyword.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/keyword.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/keyword.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/keyword.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/keyword.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/keyword.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/keyword.cpython-312.pyc'
import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fbe46b0>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/reprlib.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/reprlib.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/reprlib.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/reprlib.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/reprlib.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/reprlib.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/reprlib.cpython-312.pyc'
import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fbe49b0>
import '_collections' # <class '_frozen_importlib.BuiltinImporter'>
import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fbb4350>
import '_functools' # <class '_frozen_importlib.BuiltinImporter'>
import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fb99c10>
import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fb81c70>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_compiler.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_compiler.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_compiler.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_compiler.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/_compiler.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_compiler.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/_compiler.cpython-312.pyc'
import '_sre' # <class '_frozen_importlib.BuiltinImporter'>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_parser.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_parser.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_parser.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_parser.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/_parser.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_parser.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/_parser.cpython-312.pyc'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_constants.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_constants.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_constants.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_constants.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/_constants.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_constants.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/_constants.cpython-312.pyc'
import 're._constants' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fbe7f50>
import 're._parser' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fbe6ba0>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_casefix.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_casefix.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_casefix.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_casefix.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/_casefix.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/_casefix.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/re/__pycache__/_casefix.cpython-312.pyc'
import 're._casefix' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fbe7d40>
import 're._compiler' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fbb4e30>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/copyreg.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/copyreg.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/copyreg.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/copyreg.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/copyreg.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/copyreg.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/copyreg.cpython-312.pyc'
import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa15250>
import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fb80f80>
import '_ast' # <class '_frozen_importlib.BuiltinImporter'>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/contextlib.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/contextlib.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/contextlib.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/contextlib.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/contextlib.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/contextlib.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/contextlib.cpython-312.pyc'
import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa15be0>
import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fb478c0>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/dis.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/dis.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/dis.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/dis.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/dis.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/dis.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/dis.cpython-312.pyc'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/opcode.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/opcode.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/opcode.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/opcode.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/opcode.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/opcode.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/opcode.cpython-312.pyc'
import '_opcode' # <class '_frozen_importlib.BuiltinImporter'>
import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa39430>
import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fb5ca70>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/abc.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/abc.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/abc.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/abc.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/__pycache__/abc.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/abc.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/collections/__pycache__/abc.cpython-312.pyc'
import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa3b0b0>
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/importlib/__pycache__/__init__.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/importlib/__init__.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/importlib/__pycache__/__init__.cpython-312.pyc'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/warnings.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/warnings.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/warnings.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/warnings.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/warnings.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/warnings.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/warnings.cpython-312.pyc'
import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa3a510>
import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa3acc0>
import 'importlib.machinery' # <class '_frozen_importlib.FrozenImporter'>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/linecache.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/linecache.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/linecache.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/linecache.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/linecache.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/linecache.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/linecache.cpython-312.pyc'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/tokenize.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/tokenize.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/tokenize.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/tokenize.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/tokenize.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/tokenize.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/tokenize.cpython-312.pyc'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/token.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/token.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/token.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/token.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/token.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/token.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/token.cpython-312.pyc'
import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa56900>
import '_tokenize' # <class '_frozen_importlib.BuiltinImporter'>
import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa17d70>
import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fb9b4a0>
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/weakref.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/weakref.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/weakref.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/weakref.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/weakref.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/weakref.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/weakref.cpython-312.pyc'
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_weakrefset.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_weakrefset.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_weakrefset.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_weakrefset.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/_weakrefset.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_weakrefset.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/_weakrefset.cpython-312.pyc'
import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa73110>
import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fa57bf0>
import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fb32540>
import 'rlcompleter' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fffa270>
Python 3.12.12 (main, Oct 28 2025, 12:10:49) [Clang 20.1.4 ] on linux
Type "help", "copyright", "credits" or "license" for more information.
# trying /home/ubuntu/mistral-test/platform.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/mistral-test/platform.abi3.so
# trying /home/ubuntu/mistral-test/platform.so
# trying /home/ubuntu/mistral-test/platform.py
# trying /home/ubuntu/mistral-test/platform.pyc
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/platform.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/platform.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/platform.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/platform.py
# /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/platform.cpython-312.pyc matches /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/platform.py
# code object from '/home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/__pycache__/platform.cpython-312.pyc'
# trying /home/ubuntu/mistral-test/_wmi.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/mistral-test/_wmi.abi3.so
# trying /home/ubuntu/mistral-test/_wmi.so
# trying /home/ubuntu/mistral-test/_wmi.py
# trying /home/ubuntu/mistral-test/_wmi.pyc
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_wmi.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_wmi.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_wmi.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_wmi.py
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/_wmi.pyc
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_wmi.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_wmi.abi3.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_wmi.so
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_wmi.py
# trying /home/ubuntu/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/lib-dynload/_wmi.pyc
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_wmi.cpython-312-x86_64-linux-gnu.so
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_wmi.abi3.so
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_wmi.so
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_wmi.py
# trying /home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/_wmi.pyc
import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x79ff0fab42c0>
Ctrl click to launch VS Code Native REPL

Pip Freeze

annotated-types==0.7.0
anyio==4.12.1
certifi==2026.1.4
charset-normalizer==3.4.4
eval-type-backport==0.3.1
googleapis-common-protos==1.72.0
h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
idna==3.11
importlib-metadata==8.7.1
invoke==2.2.1
mistralai==1.10.0
opentelemetry-api==1.38.0
opentelemetry-exporter-otlp-proto-common==1.38.0
opentelemetry-exporter-otlp-proto-http==1.38.0
opentelemetry-proto==1.38.0
opentelemetry-sdk==1.38.0
opentelemetry-semantic-conventions==0.59b0
protobuf==6.33.4
pydantic==2.12.5
pydantic-core==2.41.5
python-dateutil==2.9.0.post0
python-dotenv==1.2.1
pyyaml==6.0.3
requests==2.32.5
six==1.17.0
typing-extensions==4.15.0
typing-inspection==0.4.2
urllib3==2.6.3
zipp==3.23.0

Reproduction Steps

Use Mistral with a tool providing documents, having internal ids that are strings, not integer. Mistral model will often uses the Reference chunks to stream a reference to these documents. However, mistral python client only allows for int IDs. That raises an exception and stops the stream.

This errors only happens when the context gets a bit long. And not absolutely every time but I'd say more than 50% of the time. It does not seem to happen when temperature gets lower.

This is between a client bug and a model bug, I'll let you decide on that!

Here is some code to reproduce the error:

import asyncio
import json
import os
from mistralai import Mistral


async def main():
    client = Mistral(api_key=os.environ.get("MISTRAL_API_KEY"))

    # Simple tool that returns documents
    tools = [
        {
            "type": "function",
            "function": {
                "name": "search_documents",
                "description": "Search for documents",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "query": {"type": "string", "description": "Search query"}
                    },
                    "required": ["query"]
                }
            }
        }
    ]

    system_prompt = """You are a helpful assistant with access to a document search tool.
Use the tool to find documents and cite them in your response using the reference chunks in the streaming response.
VERY IMPORTANT: Always use reference chunks for citations because that is how we parse them. Don't cite with plain strings like [id], I want the idiomatic mistral's reference."""

    messages = [
        {"role": "system", "content": system_prompt},
        {"role": "user", "content": "What's the latest news about climate change?"}
    ]

    # First call to get tool call
    response = await client.chat.complete_async(
        model="mistral-large-latest",
        messages=messages,
        tools=tools,
        tool_choice="any",
    )

    tool_call = response.choices[0].message.tool_calls[0]
    print(f"Tool call: {tool_call.function.name}({tool_call.function.arguments})")

    tool_result = [
        {
            "id": "doc-001",
            "type": "article",
            "title": "Global Climate Summit 2024",
            "content": "World leaders gathered to discuss new emissions targets.",
        },
        {
            "id": "doc-002",
            "type": "news",
            "title": "Record Heat Waves in Europe",
            "content": "Scientists report unprecedented temperatures across the continent.",
        },
        {
            "id": "doc-003",
            "type": "report",
            "title": "Arctic Ice Levels at Historic Low",
            "content": "New satellite data shows Arctic sea ice has reached its lowest extent in recorded history.",
        },
        {
            "id": "doc-004",
            "type": "article",
            "title": "Renewable Energy Investments Surge",
            "content": "Global investments in solar and wind power exceeded $500 billion this year.",
        },
        {
            "id": "doc-005",
            "type": "news",
            "title": "Coral Reef Bleaching Accelerates",
            "content": "Marine biologists warn that 70% of coral reefs are now experiencing severe bleaching events.",
        },
        {
            "id": "doc-006",
            "type": "study",
            "title": "Methane Emissions From Agriculture",
            "content": "A comprehensive study links livestock farming to 14% of global greenhouse gas emissions.",
        },
        {
            "id": "doc-007",
            "type": "article",
            "title": "Electric Vehicle Adoption Milestone",
            "content": "EVs now account for 25% of all new car sales in major markets worldwide.",
        },
        {
            "id": "doc-008",
            "type": "report",
            "title": "Rising Sea Levels Threaten Coastal Cities",
            "content": "A UN report projects that 300 million people could be displaced by flooding by 2050.",
        },
        {
            "id": "doc-009",
            "type": "news",
            "title": "Carbon Capture Technology Breakthrough",
            "content": "Engineers announce a new method to capture CO2 directly from the atmosphere at lower costs.",
        },
        {
            "id": "doc-010",
            "type": "study",
            "title": "Deforestation Rates in Amazon Basin",
            "content": "Researchers document a 15% increase in forest loss compared to the previous decade.",
        }
    ]

    messages.append(response.choices[0].message)
    messages.append({
        "role": "tool",
        "name": tool_call.function.name,
        "tool_call_id": tool_call.id,
        "content": json.dumps(tool_result),
    })

    print("\nStreaming response with tool results...")
    print("-" * 50)

    # Stream the response - this is where the error occurs
    try:
        async for chunk in await client.chat.stream_async(
            model="mistral-large-latest",
            messages=messages,
            temperature=1,  # Higher temperature increases chance of triggering the bug
        ):
            delta = chunk.data.choices[0].delta
            if delta.content:
                if isinstance(delta.content, str):
                    print(delta.content, end="", flush=True)
                elif isinstance(delta.content, list):
                    for part in delta.content:
                        print(f"\n[CHUNK TYPE: {type(part).__name__}] ", end="")
                        if hasattr(part, 'text'):
                            print(part.text, end="", flush=True)
                        elif hasattr(part, 'reference_ids'):
                            print(f"refs={part.reference_ids}", end="", flush=True)
                        else:
                            print(f"{part}", end="", flush=True)
        print("\n" + "-" * 50)
        print("SUCCESS: No error occurred")
    except Exception as e:
        import traceback
        print(f"\n\nERROR: {type(e).__name__}: {e}")
        traceback.print_exc()


if __name__ == "__main__":
    asyncio.run(main())

Every other time, I get the following error with this code:

(contexte) ➜  mistral-test uv run python test_mistral_reference_bug.py
Tool call: search_documents({"query": "latest news about climate change 2024"})

Streaming response with tool results...
--------------------------------------------------
Here’s the latest news about climate change in 2024, based on recent reports and studies:

1. **Extreme Weather Events**:
   Europe is experiencing record-breaking heat waves, with scientists confirming unprecedented temperatures across the continent this summer

ERROR: ValidationError: 3 validation errors for Unmarshaller
body.data.choices.0.delta.content.nullable[union[str,list[tagged-union[ImageURLChunk,DocumentURLChunk,TextChunk,ReferenceChunk,FileChunk,ThinkChunk,AudioChunk]]]].str
  Input should be a valid string [type=string_type, input_value=[{'type': 'reference', 'r...': 'text', 'text': '-'}], input_type=list]
    For further information visit https://errors.pydantic.dev/2.12/v/string_type
body.data.choices.0.delta.content.nullable[union[str,list[tagged-union[ImageURLChunk,DocumentURLChunk,TextChunk,ReferenceChunk,FileChunk,ThinkChunk,AudioChunk]]]].list[tagged-union[ImageURLChunk,DocumentURLChunk,TextChunk,ReferenceChunk,FileChunk,ThinkChunk,AudioChunk]].0.reference.reference_ids.0
  Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='doc', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/int_parsing
body.data.choices.0.delta.content.Unset
  Input should be a valid dictionary or instance of Unset [type=model_type, input_value=[{'type': 'reference', 'r...': 'text', 'text': '-'}], input_type=list]
    For further information visit https://errors.pydantic.dev/2.12/v/model_type
Traceback (most recent call last):
  File "/home/ubuntu/mistral-test/test_mistral_reference_bug.py", line 145, in main
    async for chunk in await client.chat.stream_async(
  File "/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/mistralai/utils/eventstreaming.py", line 72, in __anext__
    return await self.generator.__anext__()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/mistralai/utils/eventstreaming.py", line 124, in stream_events_async
    event, discard = _parse_event(block, decoder, sentinel)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/mistralai/utils/eventstreaming.py", line 235, in _parse_event
    out = decoder(json.dumps(event.__dict__))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/mistralai/chat.py", line 761, in <lambda>
    lambda raw: utils.unmarshal_json(raw, models.CompletionEvent),
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/mistralai/utils/serializers.py", line 140, in unmarshal_json
    return unmarshal(from_json(raw), typ)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/mistralai/utils/serializers.py", line 150, in unmarshal
    m = unmarshaller(body=val)
        ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/mistral-test/.venv/lib/python3.12/site-packages/pydantic/main.py", line 250, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 3 validation errors for Unmarshaller
body.data.choices.0.delta.content.nullable[union[str,list[tagged-union[ImageURLChunk,DocumentURLChunk,TextChunk,ReferenceChunk,FileChunk,ThinkChunk,AudioChunk]]]].str
  Input should be a valid string [type=string_type, input_value=[{'type': 'reference', 'r...': 'text', 'text': '-'}], input_type=list]
    For further information visit https://errors.pydantic.dev/2.12/v/string_type
body.data.choices.0.delta.content.nullable[union[str,list[tagged-union[ImageURLChunk,DocumentURLChunk,TextChunk,ReferenceChunk,FileChunk,ThinkChunk,AudioChunk]]]].list[tagged-union[ImageURLChunk,DocumentURLChunk,TextChunk,ReferenceChunk,FileChunk,ThinkChunk,AudioChunk]].0.reference.reference_ids.0
  Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='doc', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/int_parsing
body.data.choices.0.delta.content.Unset
  Input should be a valid dictionary or instance of Unset [type=model_type, input_value=[{'type': 'reference', 'r...': 'text', 'text': '-'}], input_type=list]
    For further information visit https://errors.pydantic.dev/2.12/v/model_type

Expected Behavior

I'd expect it to keep streaming.

Additional Context

No response

Suggested Solutions

I'm not sure, either let loose of the int constraint on the ID on the client side, or make the model never give a string ID even if the IDs given are strings.

I'd also say that the documentation and how Reference Chunks appear or are used is a bit blurry. It appeared randomly in my use case even when I explicitly put in the prompt that I don't want to have them (this even created bugs with PydanticAI for me).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions