Repository navigation
ai4j 2.8.1
RAG capability expansion, new vector stores, starter wiring fixes, harness presets — plus the CLI fat-jar move to GitHub Releases.
Highlights
- New vector stores:
ElasticsearchVectorStore(ES_bulk/knn/_delete_by_query, lazydense_vectorindex; live-verified on ES 9.1.9) andChromaVectorStore(v2 REST,wheredataset scoping; live-verified on Chroma 0.6.3).InMemoryVectorStoregainspersistToFile/loadFromFile(atomic via temp file + move). - New chunker:
SemanticTextChunker— percentile breakpoints over adjacent-sentence cosine distances via one batch embedding call (verified with a real embedding model). - RAG capabilities:
RagQuery.minScore, concurrent multi-variant retrieval,Bm25Retriever.fromChunks,SentenceTextChunker, embedding wiring for ZHIPU/DOUBAO/DASHSCOPE/JINA/BAICHUAN/MINIMAX, genericgetStandardRerankService(host,key,url)hatch,getRedisVectorStore()symmetry. - Starter: all vector-store beans are opt-in (
ai.vector.<backend>.enabled); newai.vector.primary+@Primary vectorStorebean resolves unqualifiedVectorStoreinjection and fails fast with candidates when ambiguous;ai.vector.elasticsearch.*/ai.vector.chroma.*properties. - Harness: task-level presets and learned-rule promotion (LEARN loop); evidence binds to current execution by default.
- CLI:
ai4j-cli-*-jar-with-dependencies.jarnow ships as a GitHub Release asset (attached below), not on Maven Central.
Behavior changes
- Pinecone beans are now opt-in — set
ai.vector.pinecone.enabled=trueafter upgrading. - Lombok is
provided/optional(since 2.8.0): consumers upgrading from <=2.7 must declare it explicitly.
Fixes
StandardRerankServiceusage parsing falls back tometa.tokens/meta.billed_unitsfor Jina-protocol providers (found via a real SiliconFlow call).- Multi-
VectorStoreinjection ambiguity resolved via the primary bean.
Full changelog: https://github.com/LnYo-Cly/ai4j/blob/main/CHANGELOG.md