Docling Serve API#
The docling-serve-api module defines the core, framework-agnostic Java API used to communicate
with a Docling Serve backend. It provides the request/response model and the main DoclingServeApi
interface. You can use any implementation of this interface to talk to a running
Docling Serve instance.
The base Java version is 17. This module has no other required dependencies, although it is compatible with both Jackson 2.x and 3.x.
If you need a ready-to-use HTTP implementation, see the reference client:
- Docling Serve Client: docling-serve-client
When to use this module#
- You want a stable, typed Java model for Docling Serve requests/responses without committing to a specific HTTP stack.
- You plan to create your own client implementation (e.g., different HTTP lib, reactive runtime) but still rely on the shared API model.
- You want to write code that is portable across different client implementations.
Installation#
Add the API dependency to your project.
dependencies {
implementation("ai.docling:docling-serve-api:0.1.5")
}
<dependency>
<groupId>ai.docling</groupId>
<artifactId>docling-serve-api</artifactId>
<version>0.1.5</version>
</dependency>
Note: The API module does not perform network I/O by itself. To call a live service, combine it with
an implementation such as docling-serve-client.
Quick start#
Below is a minimal example using the reference client to create an implementation of DoclingServeApi,
build a conversion request, and retrieve Markdown output. The request/response types all come from
docling-serve-api.
import java.net.URI;
import ai.docling.api.serve.DoclingServeApi;
import ai.docling.api.serve.convert.request.ConvertDocumentRequest;
import ai.docling.api.serve.convert.request.options.ConvertDocumentOptions;
import ai.docling.api.serve.convert.request.options.OutputFormat;
import ai.docling.api.serve.convert.request.source.HttpSource;
import ai.docling.api.serve.convert.request.target.InBodyTarget;
import ai.docling.api.serve.convert.response.ConvertDocumentResponse;
import ai.docling.client.serve.DoclingServeClientBuilderFactory; // from docling-serve-client
DoclingServeApi api = DoclingServeClientBuilderFactory
.newBuilder()
.baseUrl("http://localhost:8000") // your Docling Serve URL
.build();
ConvertDocumentRequest request = ConvertDocumentRequest.builder()
.source(HttpSource.builder().url(URI.create("https://arxiv.org/pdf/2408.09869"))
.build())
.options(ConvertDocumentOptions.builder()
.toFormat(OutputFormat.MARKDOWN) // request Markdown output
.includeImages(true)
.build())
.target(InBodyTarget.builder().build()) // get results in the HTTP response body
.build();
ConvertDocumentResponse response = api.convertSource(request);
System.out.println(response.getDocument().getMarkdownContent());
Core concepts#
The DoclingServeApi interface#
Defined in ai.docling.api.serve.DoclingServeApi, this interface exposes two primary operations:
health()→ returns aHealthCheckResponsewith service status.convertSource(request)→ submits one or more sources plus options and an optional target, returningConvertDocumentResponse.
Any HTTP or non-HTTP implementation can implement this interface. The reference implementation is
provided by the docling-serve-client module.
Requests: ConvertDocumentRequest#
Create a request via the builder:
ConvertDocumentRequest request = ConvertDocumentRequest.builder()
.source(/* one of the supported sources */)
.options(/* conversion options */)
.target(/* optional delivery target */)
.build();
Supported sources (ai.docling.api.serve.convert.request.source):
- HttpSource — fetch content from a URL (optional custom headers)
- FileSource — embed content as Base64 with a filename
Targets (ai.docling.api.serve.convert.request.target):
- InBodyTarget — receive results directly in the API response body (default use case)
- PutTarget — the service uploads converted content via HTTP PUT to a specified URI
- ZipTarget — receive a zipped result
Options (ai.docling.api.serve.convert.request.options.ConvertDocumentOptions) let you control:
- Input/output formats (e.g., fromFormats, toFormats)
- OCR (e.g., doOcr, forceOcr, ocrEngine, ocrLang)
- PDF processing (e.g., pdfBackend)
- Tables (e.g., tableMode, tableCellMatching)
- Pipelines and page ranges (e.g., pipeline, pageRange)
- Timeouts and error behavior (e.g., documentTimeout, abortOnError)
- Enrichments (code/formula/picture), image handling, scaling, page break placeholder
- VLM pipeline hints
Explore the options package for the full list of knobs you can turn.
Responses: ConvertDocumentResponse and DocumentResponse#
ConvertDocumentResponsecontains the converteddocument(if any),errors, processingstatus, totalprocessing_time, and detailedtimingsmap.DocumentResponseholds the actual content fields you requested, such asmd_content(Markdown),html_content,text_content, and ajson_contentmap. It also includes thefilenameanddoctags_contentwhen relevant.
Health checks#
You can ping the service to check readiness and basic status:
import ai.docling.api.serve.health.HealthCheckResponse;
HealthCheckResponse health = api.health();
System.out.println("Service status: " + health.getStatus());
Error handling#
Conversion may succeed partially (e.g., some pages) while returning warnings or errors. Always inspect
ConvertDocumentResponse#getErrors() and consider status:
ConvertDocumentResponse response = api.convertSource(request);
if (response.getErrors() != null && !response.getErrors().isEmpty()) {
response.getErrors().forEach(err ->
System.err.println("Component: " + err.getComponentType() +
", Module: " + err.getModuleName() +
", Message: " + err.getErrorMessage()));
}
if (response.getDocument() != null && response.getDocument().getMarkdownContent() != null) {
// Use the output
}
The exact transport-level exceptions (e.g., timeouts, connectivity) depend on the client implementation you use. The reference client throws standard Java exceptions for HTTP and I/O failures.
Logging and builders#
DoclingServeApi exposes a toBuilder() method so implementations can be duplicated and tweaked. Most
client builders, including the reference client, also expose logRequests() and logResponses() for
simple diagnostics:
DoclingServeApi newApi = api.toBuilder()
.logRequests()
.logResponses()
.build();
Version compatibility#
The API is tested against all published versions of Docling Serve each week. Below are the latest run results:
Results for ghcr.io/docling-project/docling-serve as of 2025-11-20T00:45:32.858394978Z#
Here are the results:
Details#
ghcr.io/docling-project/docling-serve:v0.7.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:45228 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:45230 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:45230 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.8.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:55520 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:55530 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:55530 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.6.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:48420 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:48436 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:48436 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.10.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:38806 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:38814 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:38814 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.9.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:57150 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:57164 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:57164 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.10.1#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:49774 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:49782 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:49782 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.13.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:38940 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:38942 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:38942 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.12.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:46382 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:46394 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:46394 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.11.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:41680 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:41692 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:41692 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.16.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:53054 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:53064 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:53064 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.15.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:49752 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:49756 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:49756 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.14.0#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:34826 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:34842 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:34842 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v0.16.1#
Click to expand
###### MessageClick to collapse
[Response status should not be null or empty]
Expecting actual not to be null
Click to collapse
java.lang.AssertionError: [Response status should not be null or empty]
Expecting actual not to be null
at ai.docling.client.tester.service.TagsTester.checkDoclingResponse(TagsTester.java:120)
at ai.docling.client.tester.service.TagsTester.doConversion(TagsTester.java:108)
at ai.docling.client.tester.service.TagsTester.testTag(TagsTester.java:63)
at ai.docling.client.tester.service.TagsTester.lambda$testTags$0(TagsTester.java:42)
at ai.docling.client.tester.service.WorkParallelizer.lambda$transformInParallelAndWait$1(WorkParallelizer.java:19)
at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:54670 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:54672 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:54672 - "POST /v1/convert/source HTTP/1.1" 404 Not Found
ghcr.io/docling-project/docling-serve:v1.0.1#
Click to expand
###### MessageClick to collapse
Tag v1.0.1 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:55512 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:55518 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:55518 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.0.0#
Click to expand
###### MessageClick to collapse
Tag v1.0.0 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:35478 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:35484 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:35484 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.1.0#
Click to expand
###### MessageClick to collapse
Tag v1.1.0 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:58614 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:58626 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:58626 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.2.0#
Click to expand
###### MessageClick to collapse
Tag v1.2.0 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:57390 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:57404 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:57404 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.2.1#
Click to expand
###### MessageClick to collapse
Tag v1.2.1 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:55024 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:55032 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:55032 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.2.2#
Click to expand
###### MessageClick to collapse
Tag v1.2.2 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:51646 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:51650 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:51650 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.3.0#
Click to expand
###### MessageClick to collapse
Tag v1.3.0 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:49088 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:49096 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:49096 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.3.1#
Click to expand
###### MessageClick to collapse
Tag v1.3.1 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:49424 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:49434 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:49434 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.4.0#
Click to expand
###### MessageClick to collapse
Tag v1.4.0 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:58866 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:58872 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:58872 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.4.1#
Click to expand
###### MessageClick to collapse
Tag v1.4.1 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:56960 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:56970 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:56970 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.5.0#
Click to expand
###### MessageClick to collapse
Tag v1.5.0 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:53370 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:53378 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:53378 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.5.1#
Click to expand
###### MessageClick to collapse
Tag v1.5.1 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:42388 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:42404 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:42404 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.6.0#
Click to expand
###### MessageClick to collapse
Tag v1.6.0 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:50472 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:50484 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:50484 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.7.0#
Click to expand
###### MessageClick to collapse
Tag v1.7.0 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:34020 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:34030 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:34030 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.7.1#
Click to expand
###### MessageClick to collapse
Tag v1.7.1 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
[INFO] 2025-11-20 00:42:33,132 [RapidOCR] base.py:22: Using engine_name: onnxruntime
[INFO] 2025-11-20 00:42:33,134 [RapidOCR] main.py:53: Using /opt/app-root/src/.cache/docling/models/RapidOcr/onnx/PP-OCRv4/det/ch_PP-OCRv4_det_infer.onnx
[INFO] 2025-11-20 00:42:33,245 [RapidOCR] base.py:22: Using engine_name: onnxruntime
[INFO] 2025-11-20 00:42:33,245 [RapidOCR] main.py:53: Using /opt/app-root/src/.cache/docling/models/RapidOcr/onnx/PP-OCRv4/cls/ch_ppocr_mobile_v2.0_cls_infer.onnx
[INFO] 2025-11-20 00:42:33,282 [RapidOCR] base.py:22: Using engine_name: onnxruntime
[INFO] 2025-11-20 00:42:33,283 [RapidOCR] main.py:53: Using /opt/app-root/src/.cache/docling/models/RapidOcr/onnx/PP-OCRv4/rec/ch_PP-OCRv4_rec_infer.onnx
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:35552 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:35558 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:35558 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.7.2#
Click to expand
###### MessageClick to collapse
Tag v1.7.2 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
[INFO] 2025-11-20 00:43:31,878 [RapidOCR] base.py:22: Using engine_name: onnxruntime
[INFO] 2025-11-20 00:43:31,879 [RapidOCR] main.py:53: Using /opt/app-root/src/.cache/docling/models/RapidOcr/onnx/PP-OCRv4/det/ch_PP-OCRv4_det_infer.onnx
[INFO] 2025-11-20 00:43:31,931 [RapidOCR] base.py:22: Using engine_name: onnxruntime
[INFO] 2025-11-20 00:43:31,931 [RapidOCR] main.py:53: Using /opt/app-root/src/.cache/docling/models/RapidOcr/onnx/PP-OCRv4/cls/ch_ppocr_mobile_v2.0_cls_infer.onnx
[INFO] 2025-11-20 00:43:31,956 [RapidOCR] base.py:22: Using engine_name: onnxruntime
[INFO] 2025-11-20 00:43:31,956 [RapidOCR] main.py:53: Using /opt/app-root/src/.cache/docling/models/RapidOcr/onnx/PP-OCRv4/rec/ch_PP-OCRv4_rec_infer.onnx
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:47230 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:47244 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:47244 - "POST /v1/convert/source HTTP/1.1" 200 OK
ghcr.io/docling-project/docling-serve:v1.8.0#
Click to expand
###### MessageClick to collapse
Tag v1.8.0 is ok
click to expand
Starting production server 🚀
Server started at http://0.0.0.0:5001
Documentation at http://0.0.0.0:5001/docs
Scalar docs at http://0.0.0.0:5001/scalar
Logs:
INFO: Started server process [1]
INFO: Waiting for application startup.
[INFO] 2025-11-20 00:45:24,654 [RapidOCR] base.py:22: Using engine_name: onnxruntime
[INFO] 2025-11-20 00:45:24,655 [RapidOCR] main.py:53: Using /opt/app-root/src/.cache/docling/models/RapidOcr/onnx/PP-OCRv4/det/ch_PP-OCRv4_det_infer.onnx
[INFO] 2025-11-20 00:45:24,705 [RapidOCR] base.py:22: Using engine_name: onnxruntime
[INFO] 2025-11-20 00:45:24,705 [RapidOCR] main.py:53: Using /opt/app-root/src/.cache/docling/models/RapidOcr/onnx/PP-OCRv4/cls/ch_ppocr_mobile_v2.0_cls_infer.onnx
[INFO] 2025-11-20 00:45:24,729 [RapidOCR] base.py:22: Using engine_name: onnxruntime
[INFO] 2025-11-20 00:45:24,729 [RapidOCR] main.py:53: Using /opt/app-root/src/.cache/docling/models/RapidOcr/onnx/PP-OCRv4/rec/ch_PP-OCRv4_rec_infer.onnx
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: 172.17.0.1:43374 - "GET /health HTTP/1.1" 200 OK
INFO: 172.17.0.1:43390 - "GET /health HTTP/1.1" 200 OK
WARNING:docling_core.types.doc.document:Parameter `strict_text` has been deprecated and will be ignored.
INFO: 172.17.0.1:43390 - "POST /v1/convert/source HTTP/1.1" 200 OK