c2d6c15138
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>
14 lines
432 B
TOML
14 lines
432 B
TOML
[package]
|
|
name = "verbo-core"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
publish.workspace = true
|
|
description = "verbo — contrato model-agnostic de embeddings: ModelId + EmbeddingVector + trait Provider. Las impls concretas (cohere/bge/fastembed) lo cumplen."
|
|
|
|
[dependencies]
|
|
serde = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
async-trait = { workspace = true }
|