Add real-time, live data to your RAG pipeline.
A RAG pipeline retrieves from documents you indexed in the past. Some questions need the present: today's CVEs, current software versions, live weather, latest LLM specs. Dynamic Feed is a second retriever for the facts no embedding can hold fresh.
The call
One keyless POST returns fresh facts plus a stale-or-wrong check, each with its own source, observed-at timestamp, and Ed25519 signature ready to drop into a retrieval step:
curl -s -X POST https://dynamicfeed.ai/v1/batch \
-H 'Content-Type: application/json' \
-d '{"calls":[
{"tool":"software_version","args":{"product":"python"}},
{"tool":"reality_check","args":{"claim":"the latest stable Python is 3.12"}}
]}'
Sample response
{
"calls": [
{"tool": "reality_check", "args": {"claim": "the latest stable Python is 3.12"}},
{"tool": "check_vulnerability", "args": {"package": "lodash", "version": "4.17.10", "ecosystem": "npm"}},
{"tool": "ai_models", "args": {}}
]
}
Why live data
RAG grounds answers in retrieved text, but your index is frozen at ingest time. For time-sensitive questions, retrieval over stale chunks produces confident, outdated answers. Wire Dynamic Feed in as a live retriever: at query time, call the tool that matches the question (a version, a CVE, a forecast) and feed the result into the context alongside your vector hits. Every datapoint carries its source, an observed-at timestamp, and an Ed25519 signature so you can store the proof next to the chunk in your trace. Be precise about what the signature means: it is proof-of-existence and tamper-evidence (we reported value X at time T, and the bytes were not altered in transit). It is not a claim that X is true, accurate, or safe. Note there is no live crypto, metal, or stock price conversion here; the finance tools are macro and rates (interest_rates, treasury_yields, global_macro, china_data), not market prices.
Use it for
- Add a live retrieval step so time-sensitive queries don't hit a stale index
- Ground a generated answer in a citeable fact with source and timestamp
- Run reality_check over a draft answer to catch stale or wrong claims before returning
- Store the signature and provenance next to each retrieved chunk for auditable traces
FAQ
How is this different from just re-indexing my documents more often?
Re-indexing keeps your corpus current, but some facts change faster than any ingest job and live in sources you don't own: today's CVEs, the current stable release of a package, the latest LLM specs, live weather. Dynamic Feed is a runtime retriever for exactly those. Call it per query and merge the result into the context next to your vector hits.
Do I need an API key, and does it fit my existing retriever?
No key. POST https://dynamicfeed.ai/v1/batch is keyless, or point any MCP client at https://dynamicfeed.ai/mcp (Streamable HTTP). It returns plain JSON, so you can wrap it as a custom retriever or tool in LangChain, LlamaIndex, or CrewAI and call it inside your chain.
What does the signature on each result actually prove?
It is proof-of-existence and tamper-evidence: it proves Dynamic Feed reported that value at that timestamp and that the bytes were not altered. It is not a claim of truth, accuracy, or safety. Treat it as an audit anchor you can store with the chunk, not as a correctness guarantee.