Skip to main content

Create a Paul Graham essay Q&A system with OpenAI and Milvus vector database

Workflow preview

Workflow preview
100%
Create a Paul Graham essay Q&A system with OpenAI and Milvus vector database preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Create a Paul Graham Essay Q&A System with OpenAI and Milvus Vector Database How It Works This workflow creates a question answering system based on Paul Graham essays. It has two main steps: 1. Da...

Best for

  • Engineering automation workflows
  • AI RAG automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.lmchatopenai, n8n-nodes-base.manualtrigger, n8n-nodes-base.httprequest, n8n-nodes-base.html, n8n-nodes-base.splitout, n8n-nodes-base.limit, n8n-nodes-base.stickynote, @n8n/n8n-nodes-langchain.chattrigger

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Cheney Zhang.

Original n8n.io source

1.1 Workflow description

Title
Create a Paul Graham essay Q&A system with OpenAI and Milvus vector database
Workflow name
Create a Paul Graham essay Q&A system with OpenAI and Milvus vector database

Create a Paul Graham Essay Q&A System with OpenAI and Milvus Vector Database

How It Works

This workflow creates a question-answering system based on Paul Graham essays. It has two main steps:

  1. Data Collection & Processing:

  2. Chat Interaction:

    • Provides a question-answering interface using the stored vector embeddings
    • Utilizes OpenAI embeddings for semantic search
Set Up Steps
  1. Set up a Milvus server following the official guide
  2. Create a collection named "my_collection"
  3. Run the workflow to scrape and load Paul Graham essays
  4. Start chatting with the QA system

The workflow handles the entire process from fetching essays, extracting content, generating embeddings via OpenAI, storing vectors in Milvus, and providing retrieval for question answering.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - OpenAI Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.2

Block 2 - When clicking "Execute Workflow"

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 3 - Fetch Essay List

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 4 - Extract essay names

Type / Role
n8n-nodes-base.html - html
Config choices
Version 1.2

Block 5 - Split out into items

Type / Role
n8n-nodes-base.splitOut - splitOut
Config choices
Version 1

Block 6 - Fetch essay texts

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 7 - Limit to first 3

Type / Role
n8n-nodes-base.limit - limit
Config choices
Version 1

Block 8 - Extract Text Only

Type / Role
n8n-nodes-base.html - html
Config choices
Version 1.2

Block 9 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 10 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - When chat message received

Type / Role
@n8n/n8n-nodes-langchain.chatTrigger - chatTrigger
Config choices
Version 1.1

Block 12 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Milvus Vector Store

Type / Role
@n8n/n8n-nodes-langchain.vectorStoreMilvus - vectorStoreMilvus
Config choices
Version 1.1

Block 14 - Default Data Loader

Type / Role
@n8n/n8n-nodes-langchain.documentDefaultDataLoader - documentDefaultDataLoader
Config choices
Version 1

Block 15 - Embeddings OpenAI

Type / Role
@n8n/n8n-nodes-langchain.embeddingsOpenAi - embeddingsOpenAi
Config choices
Version 1.2

Block 16 - Recursive Character Text Splitter

Type / Role
@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter - textSplitterRecursiveCharacterTextSplitter
Config choices
Version 1

Block 17 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Embeddings OpenAI1

Type / Role
@n8n/n8n-nodes-langchain.embeddingsOpenAi - embeddingsOpenAi
Config choices
Version 1.2

Block 19 - Milvus Vector Store1

Type / Role
@n8n/n8n-nodes-langchain.vectorStoreMilvus - vectorStoreMilvus
Config choices
Version 1.1

Block 20 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - Q&A Chain to Retrieve from Milvus and Answer Question

Type / Role
@n8n/n8n-nodes-langchain.chainRetrievalQa - chainRetrievalQa
Config choices
Version 1.5

Block 22 - Milvus Vector Store Retriever

Type / Role
@n8n/n8n-nodes-langchain.retrieverVectorStore - retrieverVectorStore
Config choices
Version 1

3. Summary Table

Workflow Create a Paul Graham essay Q&A system with OpenAI and Milvus vector database
Complexity advanced
Nodes 22
Categories Engineering, AI RAG
Author Cheney Zhang
Published 16 Apr 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/3574/3574.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Create a Paul Graham essay Q&A system with OpenAI and Milvus vector database do?

Create a Paul Graham Essay Q&A System with OpenAI and Milvus Vector Database How It Works This workflow creates a question answering system based on Paul Graham essays. It has two main steps: 1. Da...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Engineering, AI RAG use case.