DEV: add Knowledge Assistant (RAG) agent type to agent builder#3376
DEV: add Knowledge Assistant (RAG) agent type to agent builder#3376mich-elle-luna wants to merge 6 commits into
Conversation
Adds a third agent type — Knowledge Assistant — to the interactive agent builder, alongside the existing Recommendation Engine and Conversational Assistant. Includes Python and Node.js templates with Redis-native hybrid retrieval, semantic caching, session memory, and citations. - Python template: single redis-py client (decode_responses=False), redisvl for index creation only, FT.SEARCH hybrid query with vector-only fallback, load_directory() helper, idempotent sample doc ingestion - Node.js template: node-redis v4, same hybrid search pattern, loadDirectory() helper, ft.info() guard to skip re-ingestion on restart - agent-builder.js: adds rag type to CONFIG, enables JavaScript alongside Python, fixes root-relative template URL, adds third suggestion chip - agent-builder.html: adds Knowledge Assistant chip to initial message - _index.md: updated to mention three agent types and JS support Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
Hardcoded /code/agent-templates/ broke on staging when the site is served from a subdirectory. Hugo's relURL now injects the correct base path as window.AGENT_TEMPLATE_BASE so the XHR resolves relative to wherever the site is deployed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
The RAG example looks to be complete for both Python and JavaScript. But the other two show incomplete JavaScript code. I'm seeing these kinds of errors in the Chrome debugger's console:
Template file not found: /docs/staging/agent-builder-rag/code/agent-templates/javascript/recommendation_agent.js (404)
So what the JavaScript is showing is the default code that lives somewhere (in the static/js/agent-builder.js file maybe?).
|
ah thanks, those are the new templates that are in my other PR I think |
- Fix semantic cache never firing: _check_cache now reads response, citations, and distance directly from the FT result doc instead of routing through _decode_doc which discarded those fields - Add separate embedder client (EMBEDDING_API_KEY / EMBEDDING_API_BASE_URL) so chat completions and embeddings can use different providers; defaults to the LLM values so OpenAI and Ollama users need no extra config; Anthropic users can point embeddings at any OpenAI-compatible endpoint Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
require('dotenv').config() was missing, causing LLM_API_KEY to not
be found when running with a .env file. Also adds dotenv to the
install dependencies comment.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
I tested both of these locally to make sure they work as well. |
|
@mich-elle-luna Visually OK as far as I can tell. Still a couple of Bugbot issues, though, and the Claude-Codex shuffle is worth a go, if you haven't already done it. |
FT.INFO returns bytes keys when decode_responses=False, so
index_info.get('num_docs') always returned None and the guard
treated the index as empty on every startup. Fall back to the
bytes key so re-ingestion is correctly skipped.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit d5be365. Configure here.
node-redis returns num_docs (snake_case), not numDocs. Fall back to both keys and guard against NaN so sample docs are never skipped on a genuinely empty index. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Adds a third agent type — Knowledge Assistant — to the interactive agent builder, alongside the existing Recommendation Engine and Conversational Assistant. Includes Python and Node.js templates with Redis-native hybrid retrieval, semantic caching, session memory, and citations.
Note
Low Risk
Docs-site and static template changes only; no production auth or data-path changes beyond new example agent code for users to run locally.
Overview
Adds a Knowledge Assistant (RAG) as a third agent type in the interactive builder, with docs and UI updated to list three agent types and JavaScript (Node.js) alongside Python as supported output languages.
The builder flow now recognizes
raginCONFIG, shows a Knowledge Assistant suggestion chip, and treats JavaScript as a first-class choice (not Python-only). Template loading uses a Hugo-injectedAGENT_TEMPLATE_BASEso fetches work with site base URLs.New Python and Node.js
rag_agenttemplates generate a full Knowledge Assistant: document chunking/ingestion, RediSearch hybrid retrieval (text filter + KNN with vector fallback), TTL semantic cache, session history in Redis Lists, and cited answers. Sample docs ingest only when the index is empty on startup.Reviewed by Cursor Bugbot for commit c469ea6. Bugbot is set up for automated code reviews on this repo. Configure here.