New to Kestra?
Use blueprints to kickstart your first workflows.
Spot-check Pinecone retrieval quality with Kestra. Query by an existing vector id, get the top 5 neighbors with metadata, and report matches to Discord.
The fastest way to judge a RAG corpus is to ask it about something it already contains. This blueprint runs that check as a repeatable flow: io.kestra.plugin.pinecone.Query uses vectorId to query by an existing vector's id, so no embedding model is needed at query time, and returns the five nearest neighbors with their metadata. If a product FAQ's closest neighbors are unrelated release notes, the embedding or chunking strategy has a problem, and this flow surfaces it before users do. Discord gets the match count; the full scored match list stays on the execution.
similarity_query (io.kestra.plugin.pinecone.Query) queries the index named by index_name using vectorId set to the vector_id input, with topK: 5 and includeMetadata: true. Querying by id makes Pinecone use the stored vector as the query point, so the check needs no embedding call.{{ outputs.similarity_query.size }}.notify posts the anchor id and the match count to Discord as plain scalars, pointing at the execution for the full scored list.errors block posts a distinct Discord alert when the query fails, which usually means the anchor vector is missing or the index is unreachable.An ad hoc query in a notebook proves the index worked once, on one laptop. Kestra makes the spot check a versioned flow with inputs, so anyone can run it against any anchor document, every run is stored with its full match list, and the check can be chained after every ingestion. Retrieval QA becomes part of the pipeline instead of a tribal ritual.
PINECONE_API_KEY: Pinecone API key with read permission on the index.DISCORD_WEBHOOK_URL: Discord incoming webhook URL.PINECONE_API_KEY and DISCORD_WEBHOOK_URL secrets to your Kestra namespace.vector_id set to a document id you know is in the index.filter map to the query to restrict matches by metadata, for example only documents from the same product area.includeValues: true when you need the raw vectors for offline distance analysis.topK and add a downstream assertion that the anchor's known duplicate appears in the results.