This is a fork of LangChain4j maintained by ThingsBoard.
Published under the org.thingsboard.langchain4j group ID.
All ThingsBoard-specific commits must use the [TB] prefix in the commit message (e.g., [TB] feat: add caching support).
Versions follow the {upstream_version}-TB{N} scheme, where {upstream_version} is the base LangChain4j release and {N} is an incrementing number for each TB-specific release on top of it (e.g., 1.11.0-TB1, 1.11.0-TB2, 1.11.0-TB3). The counter starts at 1 and resets to 1 when upgrading to a new upstream version.
- Full integration with the Google Gemini cached content API — reuse large contexts across requests to save cost and latency (
a13c8fb). - Checksum-based deduplication to avoid re-caching identical content (
cd48ffb). - Caching of
systemInstructionalongside user content (ab27f35). - Handling of cached content duplicates (
55486d9). - TTL extension via PATCH instead of delete+recreate (
2982dfc).
- Send original content parts back to the model when continuing a conversation (
df6179c). - Accumulate original content parts across streaming chunks instead of overwriting with last chunk's data (
f30e554). - VALIDATED function calling mode — Gemini validates tool call arguments against the schema before returning them (
7219c5f).
- Custom metadata support for
AiServicesandResult(token counts, model info, etc.) (aa3063d). - Per-request
ResponseFormatvia@Formatannotation — each AiService method can specify its own response format (d6953f5). - Deferred async tool execution in streaming — tools are submitted to the executor after
intermediateResponseHandlerfires, ensuring intermediate text is delivered before tool execution events (95b9b3d).
- Maven group ID changed to
org.thingsboard.langchain4j(d18c050). - Distribution management configured for ThingsBoard's Maven repository (
4075ddf,ae6de7e,615a46d). - Upstream GitHub workflows removed (TB uses its own CI) (
b79d357).