Skip to content

1.2.0

Choose a tag to compare

@DavidBelicza DavidBelicza released this 11 Jul 17:14
6d640f0
  • Added five predefined embedding models: Nomic v1.5, Multilingual E5 large, BGE large en v1.5, Qwen3 Embedding 0.6B, and mxbai embed large v1, each selectable through NewModel.
  • Added NewGeneralModel for template-free models, so any OpenAI-compatible model or vector size works without a dedicated type.
  • Added caller-controlled query task type. Search accepts an optional task, and each task-aware model exposes its own tasks (for example TaskGemma, TaskNomic); retrieval-only models reject a task instead of silently ignoring it.
  • Split the embedder into two injected parts: a transport client (AiClient) that owns the wire protocol and a model (EmbeddingModel) that owns the prompt templates.
  • Reorganized the embedder into client and model subpackages.
  • Moved the search composition into the internal pipeline package, matching how indexing is structured.
  • Renamed the Embedder interface to AiClient (breaking).
  • Renamed OpenAIEmbedder to OpenAIClient (breaking).
  • Renamed Model to EmbeddingModel (breaking).
  • Removed the default embedding server base URL, which must now be set explicitly (breaking).
  • Added a README architecture diagram, a "What semantic search is" intro section, and a table of contents.