After this lesson, you will be able to: Add persistent memory, web search, code execution, and document retrieval to low-code agents using built-in connectors and vector stores.
By now you've built RAG, multi-agent, and conditional flows on four platforms. This lesson goes deeper on the three power-ups every production agent needs: memory, tools, and RAG, and how to wire them across LangFlow / Flowise / Dify / Relevance.
All four platforms ship buffer memory (last N messages) and DB-backed memory. LangFlow. ConversationBufferMemory + Astra DB Memory. Flowise. Buffer Memory + Postgres / Redis Memory nodes. Dify, built-in conversation memory + 'Conversation Variables' for cross-turn state. Relevance AI, automatic per-conversation memory; configurable in agent settings.
1. In your chatflow, add a 'Custom Tool'.
2. Name: 'getUserOrders'. Description: 'Fetches orders for a user. Input: userId (string).'
3. Code (JavaScript): `return await fetch('https://api.example.com/orders/' + $userId).then(r => r.json())`.
4. Connect to your Agent. Test: 'What did user 42 order last month?', agent picks the tool by description.
Naive RAG (embed → retrieve top-K → stuff in prompt) is fine for small docs. Hybrid retrieval, combine semantic search with keyword (BM25) for better recall on rare terms. Re-ranking, retrieve top-50, then a separate model picks the best 5. Multi-query, rephrase the user's query 3 ways, retrieve for each, dedupe. Agentic RAG, the LLM decides what to retrieve and when (not on every turn).
1. Add 'BM25 Retriever' alongside your existing vector retriever.
2. Add 'Ensemble Retriever' node. Connect both retrievers in.
3. Set weights: 0.5 / 0.5 (or 0.7 vector / 0.3 BM25, tune per dataset).
4. Output goes to your prompt as before. Quality on rare-term queries jumps significantly.
Sign in and purchase access to unlock this lesson.