Spaces:
Sleeping
Sleeping
| from . import sentence_transformer_embed | |
| EMBEDDING_BACKENDS = { | |
| "sentence_transformers": sentence_transformer_embed | |
| } | |
| def embed_chunks(chunks, backend: str, model_name: str, version: str = None): | |
| mod = EMBEDDING_BACKENDS.get(backend) | |
| if not mod: | |
| raise ValueError(f"Unknown backend: {backend}") | |
| texts = [c["text"] if isinstance(c, dict) else c for c in chunks] | |
| metas = [c.get("meta", {}) if isinstance(c, dict) else {} for c in chunks] | |
| embeddings = mod.embed(texts, model_name) | |
| version = version or f"{backend}:{model_name}" | |
| return [ | |
| {"embedding": emb, "meta": meta, "version": version} | |
| for emb, meta in zip(embeddings, metas) | |
| ] | |