generate_embeddings
Generate vector embeddings for one or more texts using Cloudflare Workers AI (bge-base-en-v1.5, 768-dim).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text or array of texts to embed | |
| model | No | CF AI model ID override |
Generate vector embeddings for one or more texts using Cloudflare Workers AI (bge-base-en-v1.5, 768-dim).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text or array of texts to embed | |
| model | No | CF AI model ID override |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It reveals the backend (Cloudflare Workers AI) and output dimensionality (768-dim), which is useful context. However, it does not disclose potential side effects, rate limits, auth requirements, or return format (e.g., array output for array input). Some behavioral gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence packs the core purpose, scope, backend, and vector dimension without waste. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple tool with two well-documented parameters and no output schema, the description is mostly complete: it names the default model, dimension, and input flexibility. It falls short of explicitly stating the return format (e.g., a list of embeddings matching the input array), which would fully round out the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both 'text' and 'model' have descriptions), so the baseline is 3. The description adds context about the default model and dimension, and 'one or more texts' clarifies the array/string flexibility, but it does not add significant new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Generate vector embeddings') and resource ('for one or more texts'), and it distinguishes this tool from siblings (compute_similarity, semantic_search) by focusing solely on embedding generation. The model name and dimension provide concrete scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose strongly implies when to use it (when you need embeddings), and the sibling names hint at alternatives. However, the description does not explicitly state 'use this for generation, use compute_similarity for comparison', so guidance is merely implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool addresses a distinct operation: generate_embeddings creates vectors, compute_similarity compares two texts directly, and semantic_search ranks a list of documents against a query. No overlapping purposes.
Two tools follow the verb_noun pattern (generate_embeddings, compute_similarity), but semantic_search uses a noun phrase instead, which is a minor deviation from the otherwise consistent style.
With only three tools, the server is tightly scoped to the embedding-based search domain. Each tool has a clear role, and the count is appropriate for the functionality offered.
The server covers the complete workflow: embedding generation, pairwise similarity, and semantic search. There are no obvious missing operations for the stated purpose.