Demo the App
High-level Blueprint
Important Concepts
The systems involved: Bubble, LangChain / n8n, Vector Store db, LLM
What is a Vector Store db and why do we use it?
RAG app (Retrieval Augmented Generation) - overcomes limitation of LLM context window
Embeddings : Text :: Dewey Decimal System : Books
Infrastructure running everything self-hosted: Docker, Google Cloud, Portainer mgmt
Value of doing this ^^
Value of using middleware like n8n + LangChain
Working with REST APIs
App Architecture
Front end management UI and display UI in Bubble
Process of indexing new content
N8n workflow that generates the embedding & creates the SupaBase entry
Process for requesting a new batch of intros
N8n AI agent that invokes tool to query SupaBase and return results
look at rationale of the v2 algo work in progress
Hard-earned Lessons
Using modular n8n workflows via webhooks & http posts (ie. why "when called by another workflow" triggers don't work for this)
Establishing local vars to the current workflow with "Set"
Code block JSON copy/paste as a chokepoint + disable previous workflows for reducing # calls
Building up a dynamic prompt using the "Set" node
Debugging in n8n with test mode. Executions tab for sleuthing issues historically
Navigating using test/live with both n8n and Bubble
Postman (or Bruno OSS equivalent) + Pipedream for debugging at the API request level
Copy/Paste entire workflows in forums (useful for backups too)
Using ChatGPT to write functions for data transformation in Code Nodes
Structured JSON output parser and auto-fixing process
Learning Resources
Derek Cheung's YouTube tutorial on making a PDF.ai clone
Questions from the event:
What was the real value people got from this app? Couldn't they just meet at the conf?
Isn't this overkill to use autonomous agents for this when you could just do a simple matching algorithm?
What costs are we talking roughly for running all these services each month?
How tough was it to instantiate the proper database in SupaBase and make that work?
How do you decide which pieces to handle in Bubble vs. N8n?
In the prompt engineering piece, what goes in the human message vs. the system message portion?
Projects mentioned to check out:
https://github.com/stanfordnlp/dspy
Video recording: