n8n_RAG / workflows /RAG Test.json
Ryanfafa's picture
Upload 3 files
df4ad27 verified
{
"name": "RAG Test",
"nodes": [
{
"parameters": {
"operation": "executeQuery",
"query": "select *\nfrom public.match_knowledge_embeddings(\n $1::vector(1536),\n 0.3::double precision,\n 3\n);",
"options": {
"queryReplacement": "=={{ $json.embedding }}"
}
},
"type": "n8n-nodes-base.postgres",
"typeVersion": 2.6,
"position": [
-384,
48
],
"id": "1d733cd5-7e14-42b6-9abd-faf896d94ab7",
"name": "Execute a SQL query",
"credentials": {
"postgres": {
"id": "Fybq1JpiX9XAfX8w",
"name": "Postgres account"
}
}
},
{
"parameters": {
"jsCode": "return {\n json: {\n query_text: \"What time will you close?\"\n }\n};"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
-1296,
48
],
"id": "3c822e31-5bfc-480a-addb-49456da71a3d",
"name": "Single Query"
},
{
"parameters": {
"method": "POST",
"url": "https://openrouter.ai/api/v1/embeddings",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer 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"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "model",
"value": "=openai/text-embedding-3-small"
},
{
"name": "input",
"value": "={{ $json.query_text }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [
-1024,
48
],
"id": "b5a9c78f-8264-4798-8e57-2131c324e6be",
"name": "Embedding"
},
{
"parameters": {
"jsCode": "const embedding = $json?.data?.[0]?.embedding;\nif (!Array.isArray(embedding)) throw new Error(\"Missing query embedding\");\nreturn { json: { ...$json, embedding } };"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
-720,
48
],
"id": "452ca9a5-9c05-45d8-8eed-b5b617b53929",
"name": "Extract Query Embedding"
},
{
"parameters": {
"jsCode": "const rows = $input.all().map(i => i.json);\n\nlet context = \"Relevant knowledge base entries:\\n\";\nrows.forEach((r, idx) => {\n context += `\\n[${idx + 1}] ${r.content}\\n(similarity: ${Number(r.similarity).toFixed(3)})\\n`;\n});\n\nreturn [{ json: { knowledge_context: context, matches: rows.length } }];"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
-144,
32
],
"id": "f2a7867a-cf15-4da2-94e4-656a4f97f8ab",
"name": "Build the knowledge_context"
}
],
"pinData": {
"Execute a SQL query": [
{
"json": {
"id": "1",
"content": "Q: What are your business hours?\nA: We're open Monday to Friday, 9 AM to 6 PM Eastern Time. We're closed on weekends and major holidays.\nCategory: general",
"metadata": {
"kb_id": 1,
"category": "general",
"question": "What are your business hours?"
},
"similarity": 0.490192056286809
}
}
]
},
"connections": {
"Execute a SQL query": {
"main": [
[
{
"node": "Build the knowledge_context",
"type": "main",
"index": 0
}
]
]
},
"Single Query": {
"main": [
[
{
"node": "Embedding",
"type": "main",
"index": 0
}
]
]
},
"Embedding": {
"main": [
[
{
"node": "Extract Query Embedding",
"type": "main",
"index": 0
}
]
]
},
"Extract Query Embedding": {
"main": [
[
{
"node": "Execute a SQL query",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1",
"binaryMode": "separate",
"availableInMCP": false
},
"versionId": "e13b04f2-d343-4f88-9448-927d0dba109a",
"meta": {
"instanceId": "86e40966ec50420e5d15bcd1dde77ea07adba792a75f16ea8e1aeab3d840cb1f"
},
"id": "frg5tLGMpk77WvIB",
"tags": []
}