feat(verbo): verbo-core — contrato model-agnostic de embeddings
Primer crate de verbo (provider de embeddings compartido; desbloquea fana-semantic, badu y la búsqueda de chasqui). - ModelId — identidad de modelo (nombre + dimensión). Vectores de distinto ModelId no son comparables. - EmbeddingVector — vector + su ModelId; new() valida la dimensión, cosine() rechaza comparar modelos distintos (error tipado, no sinsentido silencioso), norm() euclidiana. - EmbedError — ModelMismatch / BadDimension / Backend. - trait Provider — model_id + embed + embed_batch (default secuencial). Lo cumplen los backends concretos (cohere / bge / fastembed). 5 tests verdes (cosine idéntico/ortogonal/cross-model/zero, validación de dimensión). cargo check --workspace verde. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Generated
+9
@@ -13198,6 +13198,15 @@ version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
||||
|
||||
[[package]]
|
||||
name = "verbo-core"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"serde",
|
||||
"thiserror 2.0.18",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.5"
|
||||
|
||||
Reference in New Issue
Block a user