mirror of
https://github.com/docling-project/docling-serve.git
synced 2025-12-03 10:33:21 +00:00
fix: avoid missing specialized keys in the options hash (#166)
Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
This commit is contained in:
54
tests/test_options_serialization.py
Normal file
54
tests/test_options_serialization.py
Normal file
@@ -0,0 +1,54 @@
|
||||
from docling_serve.datamodel.convert import (
|
||||
ConvertDocumentsOptions,
|
||||
PictureDescriptionApi,
|
||||
)
|
||||
from docling_serve.docling_conversion import (
|
||||
_hash_pdf_format_option,
|
||||
get_pdf_pipeline_opts,
|
||||
)
|
||||
|
||||
|
||||
def test_options_cache_key():
|
||||
hashes = set()
|
||||
|
||||
opts = ConvertDocumentsOptions()
|
||||
pipeline_opts = get_pdf_pipeline_opts(opts)
|
||||
hash = _hash_pdf_format_option(pipeline_opts)
|
||||
assert hash not in hashes
|
||||
hashes.add(hash)
|
||||
|
||||
opts.do_picture_description = True
|
||||
pipeline_opts = get_pdf_pipeline_opts(opts)
|
||||
hash = _hash_pdf_format_option(pipeline_opts)
|
||||
# pprint(pipeline_opts.pipeline_options.model_dump(serialize_as_any=True))
|
||||
assert hash not in hashes
|
||||
hashes.add(hash)
|
||||
|
||||
opts.picture_description_api = PictureDescriptionApi(
|
||||
url="http://localhost",
|
||||
params={"model": "mymodel"},
|
||||
prompt="Hello 1",
|
||||
)
|
||||
pipeline_opts = get_pdf_pipeline_opts(opts)
|
||||
hash = _hash_pdf_format_option(pipeline_opts)
|
||||
# pprint(pipeline_opts.pipeline_options.model_dump(serialize_as_any=True))
|
||||
assert hash not in hashes
|
||||
hashes.add(hash)
|
||||
|
||||
opts.picture_description_api = PictureDescriptionApi(
|
||||
url="http://localhost",
|
||||
params={"model": "your-model"},
|
||||
prompt="Hello 1",
|
||||
)
|
||||
pipeline_opts = get_pdf_pipeline_opts(opts)
|
||||
hash = _hash_pdf_format_option(pipeline_opts)
|
||||
# pprint(pipeline_opts.pipeline_options.model_dump(serialize_as_any=True))
|
||||
assert hash not in hashes
|
||||
hashes.add(hash)
|
||||
|
||||
opts.picture_description_api.prompt = "World"
|
||||
pipeline_opts = get_pdf_pipeline_opts(opts)
|
||||
hash = _hash_pdf_format_option(pipeline_opts)
|
||||
# pprint(pipeline_opts.pipeline_options.model_dump(serialize_as_any=True))
|
||||
assert hash not in hashes
|
||||
hashes.add(hash)
|
||||
Reference in New Issue
Block a user