Simple Vector Store node#
ใช้ Simple Vector Store node เพื่อจัดเก็บและเรียกดู embeddings ในหน่วยความจำภายในแอป (in-app memory) ของ n8n
ในหน้านี้ คุณจะพบ node parameters สำหรับ Simple Vector Store node และลิงก์ไปยังแหล่งข้อมูลเพิ่มเติม
Parameter resolution in sub-nodes (การประมวลผล Parameter ใน sub-nodes)
Sub-nodes มีพฤติกรรมแตกต่างจาก node อื่นๆ เมื่อประมวลผลหลายรายการโดยใช้ expression
Node ส่วนใหญ่ รวมถึง root node จะรับ input กี่รายการก็ได้ ประมวลผลรายการเหล่านี้ และส่ง output ออกมา คุณสามารถใช้ expression เพื่ออ้างอิงถึง input item และ node จะประมวลผล expression สำหรับแต่ละ item ตามลำดับ ตัวอย่างเช่น หากมี input เป็นค่า name
ห้ารายการ expression {{ $json.name }}
จะถูกประมวลผลเป็นแต่ละชื่อตามลำดับ
ใน sub-nodes expression จะถูกประมวลผลเป็น item แรกเสมอ ตัวอย่างเช่น หากมี input เป็นค่า name
ห้ารายการ expression {{ $json.name }}
จะถูกประมวลผลเป็นชื่อแรกเสมอ
This node is different from AI memory nodes
Simple vector storage ที่อธิบายในที่นี้แตกต่างจาก AI memory nodes เช่น Simple Memory
Node นี้สร้าง vector database ในหน่วยความจำของแอป
For development use only
Node นี้จัดเก็บข้อมูลในหน่วยความจำเท่านั้นและไม่แนะนำให้ใช้ใน production ข้อมูลทั้งหมดจะหายไปเมื่อ n8n รีสตาร์ท และอาจถูกล้างออกไปในสภาวะที่หน่วยความจำเหลือน้อย
Node usage patterns#
คุณสามารถใช้ Simple Vector Store node ในรูปแบบต่อไปนี้
Use as a regular node to insert and retrieve documents#
คุณสามารถใช้ Simple Vector Store เป็น node ปกติเพื่อ insert หรือ get documents รูปแบบนี้จะวาง Simple Vector Store ไว้ใน flow การเชื่อมต่อปกติโดยไม่ต้องใช้ agent
คุณสามารถดูตัวอย่างได้ในขั้นตอนที่ 2 ของ template นี้
Connect directly to an AI agent as a tool#
คุณสามารถเชื่อมต่อ Simple Vector Store node โดยตรงกับ tool connector ของ AI agent เพื่อใช้ vector store เป็น resource เมื่อตอบคำถาม
ในกรณีนี้ การเชื่อมต่อจะเป็น: AI agent (tools connector) -> Simple Vector Store node
Use a retriever to fetch documents#
คุณสามารถใช้ Vector Store Retriever node ร่วมกับ Simple Vector Store node เพื่อดึง documents จาก Simple Vector Store node ซึ่งมักใช้กับ Question and Answer Chain node เพื่อดึง documents จาก vector store ที่ตรงกับ input ของ chat ที่กำหนด
ตัวอย่างของ flow การเชื่อมต่อ (ตัวอย่างที่ลิงก์ใช้ Pinecone แต่รูปแบบเหมือนกัน) จะเป็น: Question and Answer Chain (Retriever connector) -> Vector Store Retriever (Vector Store connector) -> Simple Vector Store
Use the Vector Store Question Answer Tool to answer questions#
อีกรูปแบบหนึ่งคือการใช้ Vector Store Question Answer Tool เพื่อสรุปผลลัพธ์และตอบคำถามจาก Simple Vector Store node แทนที่จะเชื่อมต่อ Simple Vector Store โดยตรงในฐานะ tool รูปแบบนี้จะใช้ tool ที่ออกแบบมาโดยเฉพาะเพื่อสรุปข้อมูลใน vector store
flow การเชื่อมต่อ ในกรณีนี้จะมีลักษณะดังนี้: AI agent (tools connector) -> Vector Store Question Answer Tool (Vector Store connector) -> Simple Vector store
Memory Management#
Simple Vector Store ใช้การจัดการหน่วยความจำเพื่อป้องกันการใช้หน่วยความจำมากเกินไป:
- ล้าง vector stores เก่าโดยอัตโนมัติเมื่อแรงกดดันด้านหน่วยความจำเพิ่มขึ้น
- ลบ stores ที่ไม่ได้ใช้งานซึ่งไม่มีการเข้าถึงเป็นระยะเวลาที่กำหนดได้
- แต่ละ workflow จะได้รับพื้นที่จัดเก็บแยกต่างหากซึ่งระบุโดย workflow ID และ memory key
Configuration Options#
คุณสามารถควบคุมการใช้หน่วยความจำด้วย environment variables เหล่านี้:
Variable | Type | Default | Description |
---|---|---|---|
N8N_VECTOR_STORE_MAX_MEMORY |
Number | -1 | หน่วยความจำสูงสุด (MB) ที่อนุญาตสำหรับ vector stores ทั้งหมดรวมกัน (-1 เพื่อปิดการจำกัด) |
N8N_VECTOR_STORE_TTL_HOURS |
Number | -1 | จำนวนชั่วโมงที่ไม่มีการใช้งาน หลังจากนั้น store จะถูกลบ (-1 เพื่อปิด TTL) |
บน n8n Cloud ค่าเหล่านี้ถูกตั้งค่าไว้ล่วงหน้าที่ 100MB (ประมาณ 8,000 documents ขึ้นอยู่กับขนาด document และ metadata) และ 7 วันตามลำดับ สำหรับ self-hosted instances ทั้งสองค่ามีค่าเริ่มต้นเป็น -1 (ไม่มีการจำกัดหน่วยความจำหรือการล้างตามเวลา)
Node parameters#
Operation Mode (โหมดการทำงาน)#
Vector Store node นี้มีสี่โหมด: Get Many, Insert Documents, Retrieve Documents (As Vector Store for Chain/Tool), และ Retrieve Documents (As Tool for AI Agent) โหมดที่คุณเลือกจะกำหนดการดำเนินการที่คุณสามารถทำได้ด้วย node และ input/output ที่มีให้ใช้งาน
Get Many (ดึงข้อมูลหลายรายการ)#
ในโหมดนี้ คุณสามารถดึงเอกสารหลายรายการจาก vector database ของคุณโดยการระบุ prompt ตัว prompt จะถูกแปลงเป็น embedding และใช้สำหรับการค้นหาความคล้ายคลึง (similarity search) node จะส่งคืนเอกสารที่คล้ายกับ prompt มากที่สุดพร้อมกับคะแนนความคล้ายคลึง (similarity score) ซึ่งมีประโยชน์หากคุณต้องการดึงรายการเอกสารที่คล้ายกันและส่งต่อไปยัง agent เพื่อใช้เป็น context เพิ่มเติม
Insert Documents (แทรกเอกสาร)#
ใช้โหมด Insert Documents เพื่อแทรกเอกสารใหม่เข้าไปใน vector database ของคุณ
Retrieve Documents (As Vector Store for Chain/Tool) (ดึงเอกสาร - เป็น Vector Store สำหรับ Chain/Tool)#
ใช้โหมด Retrieve Documents (As Vector Store for Chain/Tool) กับ vector-store retriever เพื่อดึงเอกสารจาก vector database และส่งต่อไปยัง retriever ที่เชื่อมต่อกับ chain ในโหมดนี้ คุณต้องเชื่อมต่อ node เข้ากับ retriever node หรือ root node
Retrieve Documents (As Tool for AI Agent) (ดึงเอกสาร - เป็น Tool สำหรับ AI Agent)#
ใช้โหมด Retrieve Documents (As Tool for AI Agent) เพื่อใช้ vector store เป็น tool resource ในการตอบคำถาม เมื่อสร้างคำตอบ agent จะใช้ vector store เมื่อชื่อและคำอธิบายของ vector store ตรงกับรายละเอียดของคำถาม
Get Many parameters#
- Memory Key: ป้อน key ที่จะใช้เพื่อจัดเก็บ vector memory ในข้อมูล workflow n8n จะเติม workflow ID ไว้ข้างหน้า key เพื่อหลีกเลี่ยงการชนกัน
- Prompt: ป้อนคำค้นหา (search query)
- Limit: ป้อนจำนวนผลลัพธ์ที่ต้องการดึงจาก vector store ตัวอย่างเช่น ตั้งค่าเป็น
10
เพื่อรับผลลัพธ์ที่ดีที่สุดสิบรายการ
Insert Documents parameters#
- Memory Key: ป้อน key ที่จะใช้เพื่อจัดเก็บ vector memory ในข้อมูล workflow n8n จะเติม workflow ID ไว้ข้างหน้า key เพื่อหลีกเลี่ยงการชนกัน
- Clear Store: ใช้ parameter นี้เพื่อควบคุมว่าจะล้าง vector store สำหรับ memory key ที่กำหนดสำหรับ workflow นี้ก่อนที่จะใส่ข้อมูลหรือไม่ (เปิด)
Retrieve Documents (As Vector Store for Chain/Tool) parameters#
- Memory Key: ป้อน key ที่จะใช้เพื่อจัดเก็บ vector memory ในข้อมูล workflow n8n จะเติม workflow ID ไว้ข้างหน้า key เพื่อหลีกเลี่ยงการชนกัน
Retrieve Documents (As Tool for AI Agent) parameters#
- Name: ชื่อของ vector store
- Description: อธิบายให้ LLM ทราบว่า tool นี้ทำอะไร คำอธิบายที่ดีและเฉพาะเจาะจงช่วยให้ LLM สร้างผลลัพธ์ที่คาดหวังได้บ่อยขึ้น
- Memory Key: ป้อน key ที่จะใช้เพื่อจัดเก็บ vector memory ในข้อมูล workflow n8n จะเติม workflow ID ไว้ข้างหน้า key เพื่อหลีกเลี่ยงการชนกัน
- Limit: ป้อนจำนวนผลลัพธ์ที่ต้องการดึงจาก vector store ตัวอย่างเช่น ตั้งค่าเป็น
10
เพื่อรับผลลัพธ์ที่ดีที่สุดสิบรายการ
Templates and examples#
Related resources#
อ้างอิง เอกสาร Memory Vector Store ของ LangChain สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการ
ดูเอกสาร Advanced AI ของ n8n
AI glossary#
- completion: Completions are the responses generated by a model like GPT.
- hallucinations: Hallucination in AI is when an LLM (large language model) mistakenly perceives patterns or objects that don't exist.
- vector database: A vector database stores mathematical representations of information. Use with embeddings and retrievers to create a database that your AI can access when answering questions.
- vector store: A vector store, or vector database, stores mathematical representations of information. Use with embeddings and retrievers to create a database that your AI can access when answering questions.