MCPcopy Create free account
hub / github.com/cocoindex-io/cocoindex-code / check_embedding

Function check_embedding

src/cocoindex_code/shared.py:61–80  ·  view source on GitHub ↗

Run a single embed call against *embedder* and report dim or error. *params* are spread into ``embed()`` so callers can verify indexing vs query params separately (they may use different keys at runtime). Never raises. Used by the daemon's doctor path (`daemon._check_model`).

(
    embedder: Embedder,
    params: dict[str, Any] | None = None,
)

Source from the content-addressed store, hash-verified

59
60
61async def check_embedding(
62 embedder: Embedder,
63 params: dict[str, Any] | None = None,
64) -> EmbeddingCheckResult:
65 """Run a single embed call against *embedder* and report dim or error.
66
67 *params* are spread into ``embed()`` so callers can verify indexing vs
68 query params separately (they may use different keys at runtime).
69
70 Never raises. Used by the daemon's doctor path (`daemon._check_model`).
71 """
72 kwargs = dict(params) if params else {}
73 try:
74 vec = await embedder.embed("hello world", **kwargs)
75 return EmbeddingCheckResult(dim=len(vec), error=None)
76 except Exception as e:
77 msg = " ".join(f"{type(e).__name__}: {e}".splitlines())
78 if len(msg) > 500:
79 msg = msg[:500] + "…"
80 return EmbeddingCheckResult(dim=None, error=msg, traceback=_tb.format_exc())
81
82
83def create_embedder(

Calls 2

embedMethod · 0.45