CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-org-springframework-ai--spring-ai-commons

Common classes used across Spring AI providing document processing, text transformation, embedding utilities, observability support, and tokenization capabilities for AI application development

Overview
Eval results
Files

index.mddocs/

Spring AI Commons

Spring AI Commons provides foundational abstractions for AI application development in Spring, including document processing, text transformation, embedding utilities, observability, and tokenization.

Quick Start

Installation

<dependency>
  <groupId>org.springframework.ai</groupId>
  <artifactId>spring-ai-commons</artifactId>
  <version>1.1.2</version>
</dependency>

Requirements: Java 17+

Basic Example

import org.springframework.ai.document.Document;
import org.springframework.ai.transformer.splitter.TokenTextSplitter;
import org.springframework.ai.reader.TextReader;
import org.springframework.core.io.ClassPathResource;

// Read and process documents
TextReader reader = new TextReader(new ClassPathResource("data.txt"));
List<Document> documents = reader.get();

// Split into chunks for embedding
TokenTextSplitter splitter = TokenTextSplitter.builder()
    .withChunkSize(800)
    .build();
List<Document> chunks = splitter.apply(documents);

→ Complete Quick Start Guide

Core Components

Document Model

Core abstractions for text and media content with metadata.

Key Classes: Document, Media, Content, MetadataMode

→ API Reference

Document Processing

ETL interfaces for reading, writing, and transforming documents.

Key Interfaces: DocumentReader, DocumentWriter, DocumentTransformer

→ API Reference

Text Splitting

Split documents into chunks optimized for embeddings and AI processing.

Key Classes: TokenTextSplitter, TextSplitter

→ API Reference

Content Formatting

Convert documents to AI-friendly text with configurable metadata.

Key Classes: ContentFormatter, DefaultContentFormatter

→ API Reference

Readers & Writers

I/O operations for loading and saving documents.

Key Classes: JsonReader, TextReader, FileDocumentWriter

→ API Reference

Embedding Optimization

Batching strategies for efficient embedding API calls.

Key Classes: TokenCountBatchingStrategy, BatchingStrategy

→ API Reference

Tokenization

Token counting and estimation for AI models.

Key Classes: JTokkitTokenCountEstimator, TokenCountEstimator

→ API Reference

Evaluation

Framework for evaluating AI response quality.

Key Classes: Evaluator, EvaluationRequest, EvaluationResponse

→ API Reference

Observability

Metrics and tracing with OpenTelemetry integration.

Key Classes: AiOperationMetadata, TracingAwareLoggingObservationHandler

→ API Reference

Utilities

Helper classes for JSON, parsing, resources, and logging.

Key Classes: JacksonUtils, ParsingUtils, ResourceUtils, LoggingMarkers

→ API Reference

Quick Reference

Common Imports

// Document model
import org.springframework.ai.document.Document;
import org.springframework.ai.document.DocumentReader;
import org.springframework.ai.document.DocumentWriter;
import org.springframework.ai.document.DocumentTransformer;
import org.springframework.ai.document.MetadataMode;

// Media support
import org.springframework.ai.content.Media;
import org.springframework.ai.content.MediaContent;

// Text processing
import org.springframework.ai.transformer.splitter.TokenTextSplitter;
import org.springframework.ai.reader.JsonReader;
import org.springframework.ai.reader.TextReader;

// Embedding and tokenization
import org.springframework.ai.embedding.TokenCountBatchingStrategy;
import org.springframework.ai.tokenizer.JTokkitTokenCountEstimator;

// Evaluation
import org.springframework.ai.evaluation.Evaluator;
import org.springframework.ai.evaluation.EvaluationRequest;
import org.springframework.ai.evaluation.EvaluationResponse;

Common Patterns

TaskComponentExample
Read text fileTextReadernew TextReader(resource).get()
Read JSONJsonReadernew JsonReader(resource).get()
Create documentDocument.BuilderDocument.builder().text("...").build()
Split textTokenTextSplittersplitter.apply(documents)
Count tokensJTokkitTokenCountEstimatorestimator.estimate(text)
Batch for embeddingTokenCountBatchingStrategystrategy.batch(documents)
Format contentDocumentdoc.getFormattedContent(MetadataMode.EMBED)
Evaluate responseEvaluatorevaluator.evaluate(request)

Architecture

┌─────────────────────────────────────────────────┐
│            Content Layer                         │
│  (Document, Media, Content, MediaContent)       │
└─────────────────────────────────────────────────┘
                      ↓
┌─────────────────────────────────────────────────┐
│         Processing Layer                         │
│  (DocumentReader, DocumentWriter, Transformer)  │
└─────────────────────────────────────────────────┘
                      ↓
┌─────────────────────────────────────────────────┐
│       Transformation Layer                       │
│  (TextSplitter, ContentFormatter, Batching)     │
└─────────────────────────────────────────────────┘
                      ↓
┌─────────────────────────────────────────────────┐
│        Integration Layer                         │
│  (Readers, Writers, Tokenization, Evaluation)   │
└─────────────────────────────────────────────────┘
                      ↓
┌─────────────────────────────────────────────────┐
│       Observability Layer                        │
│  (Metrics, Tracing, Monitoring)                 │
└─────────────────────────────────────────────────┘

Resources

Guides

Examples

API Reference

Package Information

  • Group ID: org.springframework.ai
  • Artifact ID: spring-ai-commons
  • Version: 1.1.2
  • Package Type: Maven
  • Language: Java
  • License: Apache License 2.0

Install with Tessl CLI

npx tessl i tessl/maven-org-springframework-ai--spring-ai-commons@1.1.0

docs

index.md

README.md

tile.json