feat(llm): add embedding adapter with cache and similarity utils (S1.3)

Add OpenAI-compatible embedding support (works with both OpenAI and
OpenRouter), file-based embedding cache with content-digest invalidation,
and pure-Python cosine similarity utilities for downstream redundancy
detection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-19 01:22:21 +01:00
parent 9031e1162c
commit 267368eb60
7 changed files with 588 additions and 0 deletions

View File

@@ -26,6 +26,15 @@ from markitect.llm.exceptions import (
LLMTimeoutError,
LLMSubprocessError,
)
from markitect.llm.embedding_adapter import EmbeddingAdapter
from markitect.llm.embedding_openai import OpenAICompatibleEmbeddingAdapter
from markitect.llm.embedding_cache import EmbeddingCache
from markitect.llm.embedding_factory import create_embedding_adapter
from markitect.llm.similarity import (
cosine_similarity,
similarity_matrix,
find_similar_pairs,
)
__all__ = [
"create_adapter",
@@ -41,4 +50,11 @@ __all__ = [
"LLMRateLimitError",
"LLMTimeoutError",
"LLMSubprocessError",
"EmbeddingAdapter",
"OpenAICompatibleEmbeddingAdapter",
"EmbeddingCache",
"create_embedding_adapter",
"cosine_similarity",
"similarity_matrix",
"find_similar_pairs",
]