Docling Serve Client#
The docling-serve-client module is the reference HTTP client for talking to a
Docling Serve backend.
It implements the framework‑agnostic DoclingServeApi interface from
docling-serve-api using Java's built‑in HttpClient for transport and
Jackson for JSON (auto‑detecting Jackson 2 or 3 at runtime).
If you only need the request/response model (without HTTP), use the API module:
- docling-serve-api
When to use this module#
- You want a ready‑to‑use HTTP client for Docling Serve with minimal setup.
- You prefer a small dependency footprint (Java
HttpClient+ Jackson). - You need a simple builder to tweak base URL, HTTP timeouts, and request/response logging.
Installation#
Add the client dependency to your project.
dependencies {
implementation("ai.docling:docling-serve-client:0.1.5")
}
<dependency>
<groupId>ai.docling</groupId>
<artifactId>docling-serve-client</artifactId>
<version>0.1.5</version>
</dependency>
This artifact brings in the API types transitively, so you can use DoclingServeApi,
ConvertDocumentRequest, etc., directly.
Jackson Implementation Required
Make sure you also include either a Jackson 2 or Jackson 3 dependency.
Quick start#
Create a client with DoclingServeClientBuilderFactory, build a request, and call convertSource():
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;
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)
.includeImages(true)
.build())
.target(InBodyTarget.builder().build())
.build();
ConvertDocumentResponse response = api.convertSource(request);
System.out.println(response.getDocument().getMarkdownContent());
Core concepts and configuration#
Builder factory and Jackson auto‑detection#
DoclingServeClientBuilderFactory.newBuilder() chooses an implementation based on what's on
your classpath:
- Jackson 3 present →
DoclingServeJackson3Client - Else if Jackson 2 present →
DoclingServeJackson2Client - Otherwise →
IllegalStateException
Advanced: You can customize the JSON mapper via .toBuilder().jsonParser(...) on the concrete
client type if you need special Jackson modules or settings.
Base URL#
Set the Docling Serve base URL with either a String or URI:
DoclingServeApi api = DoclingServeClientBuilderFactory.newBuilder()
.baseUrl("http://localhost:8000")
.build();
Note: When using plain http://, the client enforces HTTP/1.1 for compatibility with FastAPI,
which avoids HTTP/2 downgrade mishaps in some environments.
HTTP client customization (timeouts, proxies, TLS)#
You can supply and tune a java.net.http.HttpClient.Builder:
import java.net.http.HttpClient;
import java.time.Duration;
DoclingServeApi api = DoclingServeClientBuilderFactory.newBuilder()
.baseUrl("https://serve.example.com")
.httpClientBuilder(HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(20))
// .proxy(ProxySelector.of(new InetSocketAddress("proxy", 8080)))
// .sslContext(customSslContext)
)
.build();
Request/response logging#
Enable lightweight logging for diagnostics:
DoclingServeApi noisy = DoclingServeClientBuilderFactory.newBuilder()
.baseUrl("http://localhost:8000")
.logRequests()
.logResponses()
.build();
Health checks#
import ai.docling.api.serve.health.HealthCheckResponse;
HealthCheckResponse health = api.health();
System.out.println("Service status: " + health.getStatus());
Working with sources and targets#
All request/response types come from docling-serve-api. Common patterns:
- HTTP source
import ai.docling.api.serve.convert.request.source.HttpSource;
var httpSource = HttpSource.builder()
.url(URI.create("https://example.com/file.pdf"))
// .header("Authorization", "Bearer ...")
.build();
- File upload (Base64)
import java.util.Base64;
import ai.docling.api.serve.convert.request.source.FileSource;
byte[] bytes = /* read file */
var fileSource = FileSource.builder()
.filename("report.pdf")
.base64String(Base64.getEncoder().encodeToString(bytes))
.build();
- Deliver results in the response body (default)
import ai.docling.api.serve.convert.request.target.InBodyTarget;
var target = InBodyTarget.builder().build();
- Upload results to your storage via HTTP PUT
import ai.docling.api.serve.convert.request.target.PutTarget;
var put = PutTarget.builder()
.uri(URI.create("https://storage.example.com/out/report.md"))
// .header("Authorization", "Bearer ...")
.build();
Error handling tips#
Transport errors (DNS, TLS, connection reset, timeouts) are thrown as standard Java exceptions
from HttpClient. Conversion may also return structured errors in the response body — inspect
ConvertDocumentResponse#getErrors() even when content is present:
var result = api.convertSource(request);
if (result.getErrors() != null && !result.getErrors().isEmpty()) {
result.getErrors().forEach(err ->
System.err.println("Component=" + err.getComponentType()
+ ", Module=" + err.getModuleName()
+ ", Message=" + err.getErrorMessage()));
}
Version compatibility#
The client 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