Skip to content

API Reference

semvec is a single wheel that exposes three products across a handful of Python namespaces. Every public symbol is listed on one of the following pages:

Page Covers
Core (semvec) SemvecState, SemvecConfig, MultiResolutionMemory, PhaseDetector, LiteralCache, safe_cosine_similarity, exceptions
Token reduction (semvec.token_reduction) SemvecStateSerializer, SemvecChatProxy, OpenAIClient, OllamaClient, LLMConfig, create_llm_client, TokenCounter, estimate_tokens, get_phase_prompt
Cortex (semvec.cortex) SemvecAgentNetwork, SemvecAgent, SemvecCortexObserver, WeightedAverageAggregation, AttentionAggregation, ConsensusEngine, ConsensusProposal, ConsensusLevel, StateVectorPacket, TransferType, SemvecCortexService
Coding (semvec.coding) CodingEngine, CodePointer, CodePointerIndex, NegativeAttractor, NegativeAttractorSet, PromptBuilder, TranscriptParser, CompactionState, mcp_server, hooks.*
REST API (semvec.api) FastAPI app factory + endpoint reference + HTTP status-code table for the semvec[api] extra. 4-layer multi-agent stack (session / cluster / region / observer) + session-control + literal-cache + network routes + Prometheus /metrics.
CLI (semvec serve) Command-line reference + env-var table for running the REST server.
Benchmarks (semvec.benchmarks.longmemeval) LongMemEvalRunner, MultiPSSRunner, LongMemEvalDataset, LongMemEvalEntry, Session, GroundTruthEvaluator, BenchmarkSummary, LLMCallCounter, load_from_file, CLI

Conventions

  • Kwargs over positional. Every constructor with more than two parameters takes keyword arguments.
  • No hash fallback. Anything embedding-backed refuses to silently substitute a deterministic pseudo-embedder — missing embedder raises RuntimeError with a ready-to-paste SentenceTransformer snippet.
  • Explicit errors. Every fail path raises a typed exception; every typed exception inherits from a short hierarchy rooted at SemvecError.
  • Result dicts. SemvecState.update() returns a dict with the same keys as pss (similarity, beta, pattern_strength, fsm, phase, norm, topic_switch, novelty_score). The Result* dataclasses in the runner / chat-proxy / benchmark layers are semvec additions but mirror the pss fields 1:1.