☕ Java SDK & Embedded Usage Guide¶
Type-safe, thread-safe Java access to Spector — embedded directly in your JVM application. Embed cognitive memory and vector search directly with zero network overhead, or integrate seamlessly with Spring AI.
📦 Installation¶
Embedded Memory Engine (in-process, zero network overhead):
<dependency>
<groupId>com.spectrayan</groupId>
<artifactId>spector-memory</artifactId>
<version>0.1.0-alpha</version>
</dependency>
Spring AI Starter (Spring Boot / Spring AI VectorStore):
<dependency>
<groupId>com.spectrayan</groupId>
<artifactId>spring-ai-starter-spector-store</artifactId>
<version>0.1.0-alpha</version>
</dependency>
⚡ Embedded Memory (SpectorMemory)¶
For applications that want in-process hybrid search and biologically-inspired cognitive memory:
🔧 Creating the Engine¶
import com.spectrayan.spector.memory.SpectorMemory;
import com.spectrayan.spector.memory.DefaultSpectorMemory;
import com.spectrayan.spector.config.SpectorProperties;
import com.spectrayan.spector.provider.embedding.EmbeddingProvider;
import com.spectrayan.spector.provider.embedding.ollama.OllamaEmbeddingProvider;
// Load default properties (overridden by spector.yml if present in the working directory)
SpectorProperties props = SpectorProperties.load();
// Provide an embedding provider instance
EmbeddingProvider embedder = new OllamaEmbeddingProvider(props.provider().embedding());
// Build embedded SpectorMemory instance
try (SpectorMemory memory = DefaultSpectorMemory.builder()
.properties(props)
.embeddingProvider(embedder)
.build()) {
// Memory engine is ready — zero network overhead, fully embedded inside the JVM
}
📥 Remembering Memories¶
import com.spectrayan.spector.memory.model.MemoryType;
// Store a factual/semantic memory
String memoryId = memory.remember(
"Java virtual threads enable high-throughput concurrent workflows with minimal memory footprint.",
MemoryType.SEMANTIC
);
System.out.println("Stored memory: " + memoryId);
🔍 Cognitive Recall & Search¶
import com.spectrayan.spector.memory.model.RecallOptions;
import com.spectrayan.spector.memory.model.TextSearchMode;
import com.spectrayan.spector.memory.model.CognitiveResult;
RecallOptions options = RecallOptions.builder()
.topK(5)
.textSearchMode(TextSearchMode.FULL_STACK) // Enable BM25 + dense + ColBERT reranking
.enableReranker(true) // ColBERT MaxSim reranking
.minImportance(4.0f) // Filter out low-importance items
.build();
List<CognitiveResult> memories = memory.recall("virtual threads concurrency", options);
for (CognitiveResult mem : memories) {
System.out.printf("%s → %.4f (Tier: %s)%n", mem.id(), mem.score(), mem.memoryType());
}
🗑️ Forgetting Memories¶
🎯 Complete Embedded Example¶
import com.spectrayan.spector.memory.DefaultSpectorMemory;
import com.spectrayan.spector.memory.SpectorMemory;
import com.spectrayan.spector.memory.model.CognitiveResult;
import com.spectrayan.spector.memory.model.MemoryType;
import com.spectrayan.spector.memory.model.RecallOptions;
import com.spectrayan.spector.config.SpectorProperties;
import java.util.List;
public class SpectorEmbeddedExample {
public static void main(String[] args) throws Exception {
SpectorProperties props = SpectorProperties.load();
try (SpectorMemory memory = DefaultSpectorMemory.builder()
.properties(props)
.build()) {
// Store memories
String id1 = memory.remember(
"Java virtual threads enable millions of concurrent tasks on modern JVMs.",
MemoryType.SEMANTIC
);
String id2 = memory.remember(
"The Vector API provides SIMD hardware acceleration for dot product and distance math.",
MemoryType.SEMANTIC
);
// Recall
List<CognitiveResult> results = memory.recall(
"SIMD hardware acceleration",
RecallOptions.builder().topK(5).build()
);
System.out.println("Results:");
for (var r : results) {
System.out.printf(" %s (%.4f): %s%n", r.id(), r.score(), r.text());
}
// Cleanup
memory.forget(id1);
memory.forget(id2);
}
}
}
🔗 See Also¶
- Spring AI Integration — Spring AI VectorStore adapter
- MCP Server Guide — Connect AI agents to Spector over STDIO / HTTP
- REST API Reference — Synapse HTTP endpoints
- Configuration Guide — All engine configuration parameters
- Getting Started — Quick start guide