You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2026/05/13 16:37:57 UTC
(tika) 01/01: improvements for vlm
This is an automated email from the ASF dual-hosted git repository.
tballison pushed a commit to branch haystack-vlm-improvements
in repository https://gitbox.apache.org/repos/asf/tika.git
commit 2c8be2c8b253fb659a2babad706d5e4ca446fba5
Author: tballison <ti...@elastic.co>
AuthorDate: Wed May 13 12:37:42 2026 -0400
improvements for vlm
---
.../main/java/org/apache/tika/parser/vlm/AbstractVLMParser.java | 9 ++++++++-
.../java/org/apache/tika/parser/vlm/MarkdownToXHTMLEmitter.java | 6 ++++--
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/tika-parsers/tika-parsers-ml/tika-vlm/src/main/java/org/apache/tika/parser/vlm/AbstractVLMParser.java b/tika-parsers/tika-parsers-ml/tika-vlm/src/main/java/org/apache/tika/parser/vlm/AbstractVLMParser.java
index 6cdae6f6dd..40b1cd1d08 100644
--- a/tika-parsers/tika-parsers-ml/tika-vlm/src/main/java/org/apache/tika/parser/vlm/AbstractVLMParser.java
+++ b/tika-parsers/tika-parsers-ml/tika-vlm/src/main/java/org/apache/tika/parser/vlm/AbstractVLMParser.java
@@ -159,6 +159,10 @@ public abstract class AbstractVLMParser implements Parser, Initializable {
public void parse(TikaInputStream tis, ContentHandler handler, Metadata metadata,
ParseContext parseContext) throws IOException, SAXException, TikaException {
+ if (!serverAvailable) {
+ return;
+ }
+
VLMOCRConfig config = getConfig(parseContext);
if (config.isSkipOcr()) {
@@ -235,7 +239,10 @@ public abstract class AbstractVLMParser implements Parser, Initializable {
return;
}
try {
- httpClient.get(healthUrl, Map.of(), defaultConfig.getTimeoutSeconds());
+ Map<String, String> healthHeaders = defaultConfig.getApiKey() != null
+ ? Map.of("Authorization", "Bearer " + defaultConfig.getApiKey())
+ : Map.of();
+ httpClient.get(healthUrl, healthHeaders, defaultConfig.getTimeoutSeconds());
serverAvailable = true;
LOG.info("VLM server is available at {}", defaultConfig.getBaseUrl());
} catch (TikaException e) {
diff --git a/tika-parsers/tika-parsers-ml/tika-vlm/src/main/java/org/apache/tika/parser/vlm/MarkdownToXHTMLEmitter.java b/tika-parsers/tika-parsers-ml/tika-vlm/src/main/java/org/apache/tika/parser/vlm/MarkdownToXHTMLEmitter.java
index eb36cb4a1e..fee8b36b0b 100644
--- a/tika-parsers/tika-parsers-ml/tika-vlm/src/main/java/org/apache/tika/parser/vlm/MarkdownToXHTMLEmitter.java
+++ b/tika-parsers/tika-parsers-ml/tika-vlm/src/main/java/org/apache/tika/parser/vlm/MarkdownToXHTMLEmitter.java
@@ -77,6 +77,8 @@ import org.xml.sax.helpers.AttributesImpl;
*/
class MarkdownToXHTMLEmitter {
+ private static final String XHTML_NS = "http://www.w3.org/1999/xhtml";
+
private static final List<Extension> EXTENSIONS = Arrays.asList(
TablesExtension.create(),
StrikethroughExtension.create()
@@ -368,7 +370,7 @@ class MarkdownToXHTMLEmitter {
return;
}
try {
- handler.startElement("", localName, localName, attrs);
+ handler.startElement(XHTML_NS, localName, localName, attrs);
} catch (SAXException e) {
saxException = e;
}
@@ -379,7 +381,7 @@ class MarkdownToXHTMLEmitter {
return;
}
try {
- handler.endElement("", localName, localName);
+ handler.endElement(XHTML_NS, localName, localName);
} catch (SAXException e) {
saxException = e;
}