Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/opendcai/dataflow-webui/embedding-generatornpx skills add OpenDCAI/DataFlow-WebUI --skill embedding-generatorgit clone --depth 1 https://github.com/OpenDCAI/DataFlow-WebUIWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00056 | $0.01283 |
| Opus 5 | $0.00028 | $0.00642 |
| Sonnet 5 | $0.00011 | $0.00257 |
| Haiku 4.5 | $0.00006 | $0.00128 |
Grade A, and why
embedding-generator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 196 lines — stays where its author put it; the contents beside it link to each section on GitHub.
EmbeddingGenerator Operator Reference
EmbeddingGenerator reads one text column from the current dataframe, sends the
full column as a batch into an embedding service, writes the returned vectors
into output_key, persists the dataframe, and returns [output_key].
1. Imports
from dataflow.operators.core_text import EmbeddingGenerator
from dataflow.serving import APILLMServing_request
from dataflow.serving import LocalEmbeddingServing
from dataflow.serving import LiteLLMServing
from dataflow.serving import LocalModelLLMServing_vllm
2. Embedding Serving Options
Option A: Remote API with APILLMServing_request
APILLMServing_request(
api_url="https://api.openai.com/v1/embeddings",
key_name_of_api_key="DF_API_KEY",
model_name="text-embedding-3-small",
max_workers=20,
)
This works because APILLMServing_request implements:
generate_embedding_from_input(texts)
Option B: Local embedding model with LocalEmbeddingServing
LocalEmbeddingServing(
model_name="all-MiniLM-L6-v2",
device=None,
max_workers=2,
)
Requires:
pip install "open-dataflow[vectorsql]"
Option C: Provider-agnostic API via LiteLLMServing
LiteLLMServing(
serving_type="embedding",
model_name="text-embedding-3-small",
key_name_of_api_key="DF_API_KEY",
max_workers=10,
)
This is suitable when you want to route embedding requests through LiteLLM.
Option D: Local vLLM backend with LocalModelLLMServing_vllm
LocalModelLLMServing_vllm(
hf_model_name_or_path="your-embedding-capable-model",
vllm_tensor_parallel_size=1,
)
This works only if the selected vLLM model/backend supports embedding through
llm.embed(...).
Practical List of Supported Serving Examples
The following classes in dataflow.serving currently expose
generate_embedding_from_input(...) and are practical candidates for
EmbeddingGenerator:
APILLMServing_requestLocalEmbeddingServingLiteLLMServingLocalModelLLMServing_vllm
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 196 lines · 56 tokens per session scan A 8fe6d2d04a59
embedding-generator is a skill published in the GitHub repository OpenDCAI/DataFlow-WebUI (224 stars, last pushed 7d ago), licensed Apache-2.0. It adds 56 tokens to every session and 1,283 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
agent-platform-rag-engine-management
Manage and query Agent Platform RAG Engine Corpora and retrieve grounded contexts using the Google GenAI SDK. Use when listing RAG corpora or files, inspecting a corpus, retrieving contexts, or generating content grounded in a RAG corpus. Do not use for standard database queries (use SQL/Spanner skills), Google…
9router-embeddings
Generate vector embeddings via 9Router /v1/embeddings using OpenAI / Gemini / Mistral / Voyage / Nvidia / GitHub embedding models for RAG, semantic search, similarity. Use when the user wants embeddings, vectors, RAG, semantic search, or to embed text.
potpie-source-ingestion
Use when the user explicitly asks to ingest, refresh, or deeply understand a repository, PR, issue, ticket, runbook, incident report, document, or web link into Potpie. The harness performs todo-driven discovery, uses local/GitHub/integration tools and read-only subagents when available, builds evidence-backed…
embedding-strategies
Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.
generate-rag-dataset
Generate a synthetic evaluation dataset from your RAG knowledge base. Creates diverse Q&A pairs with expected answers and relevant context, ready for LangWatch experiments and platform import. Use when you need test data for your RAG pipeline.
embeddings
Vector embeddings configuration and semantic search.