memory የሌለው AI agent እያንዳንዱን ውይይት ራሱን እንደገና በማስተዋወቅ ተጣብቆ ይቀራል። መፍትሔው vector database ነው — agentው ተዛማጅ ክፍሎችን በፍላጎት እንዲያስታውስ የdocumentsዎ፣ notesዎ ወይም ያለፉ chats embeddings ያከማቻል (የRAG "R" ያ ነው)። እንደ managed service መከራየት ይችላሉ፣ ወይም ራሱን በVPS ላይ ማሄድ እና ውሂብዎን — ብዙ ጊዜ የእርስዎ የግል ውሂብ የሆነውን — በሚቆጣጠሩት box ላይ ማቆየት ይችላሉ። እንዴት እንደሆነ፣ እና በRAM በእውነት ምን እንደሚያስከፍል ይኸውና።
ሁለት ጥሩ አማራጮች
exotic ምንም አያስፈልግዎትም። ሁለት መንገዶች ማለት ይቻላል ሁሉንም ይሸፍናሉ:
pgvector — Postgres extension። አስቀድሞ Postgres የሚያሄዱ ከሆኑ (ወይም ደስተኛ ከሆኑ)፣ ይህ አስቀድሞ ወዳለዎት database vector search ይጨምራል። አንድ service፣ አንድ backup፣ የሚያውቁት SQL። በሰፊ ልዩነት ትንሹ-ጥረት መነሻ።
Qdrant — purpose-built vector engine። ብዙ vectors ሲኖርዎ (ዝቅተኛ ሚሊዮኖች+) ወይም ፈጣን metadata filtering እና dedicated API ሲፈልጉ ይድረሱበት። ለማሄድ የተለየ service ነው፣ ግን በትክክል ለዚህ ስራ የተገነባ ነው።
እግራቸውን ለሚያገኙ አብዛኞቹ agents፣ pgvector ትክክለኛው የመጀመሪያ መልስ ነው። ካደጉት በኋላ ወደ Qdrant ይሂዱ፣ ከዚያ በፊት አይደለም።
የRAM እውነታ (ይህ ሰዎች የሚያሳንሱት ክፍል ነው)
Vector search ፈጣን ነው ምክንያቱም index በmemory ውስጥ ስለሚኖር — ስለዚህ RAM፣ disk አይደለም፣ እውነተኛ constraintዎ ነው። ሸካራ መመሪያ:
- ጥቂት መቶ ሺህ embeddings — በ2 GB ውስጥ ምቹ።
- ዝቅተኛ ሚሊዮኖች — ለ4 GB+ ያቅዱ እና indexን ያስተካክሉ።
- Disk ቀላሉ ክፍል ነው: አንድ ሚሊዮን embeddings ጥቂት GB ብቻ ነው፣ ስለዚህ 25–45 GB ጠቃሚ store ይሸፍናል።
ስለዚህ ለindex ይመዝኑ፣ ለfile አይደለም። (ከአጠቃላይ sizing guide ተመሳሳይ logic — ከባዱ ነገር እስክትለኩ ግልጽ አይደለም።)
ፈጣን መነሻ: pgvector
Postgres ባለው box ላይ (Docker ቀላሉ ነው — n8n ራስ-ማስተናገድ ተመሳሳይ pattern):
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE memory (
id bigserial PRIMARY KEY,
content text,
embedding vector(1536) -- match your embedding model's dimensions
);
-- after you have data, build an index for fast search:
CREATE INDEX ON memory USING hnsw (embedding vector_cosine_ops);
agentዎ content + embeddingን ያስገባል፣ ከዚያም ቅርብ የሆኑ memories ለማምጣት በORDER BY embedding <=> $query_embedding LIMIT 5 query ያደርጋል። ሙሉ loopው ያ ነው።
Qdrant ይመርጣሉ? HTTP/gRPC API የሚያጋልጥ አንድ Docker container ነው፤ ከvector size ጋር collection ይፈጥራሉ እና points upsert ያደርጋሉ። ተመሳሳይ ሐሳብ፣ dedicated engine።
ከagent ጋር box መጋራት ይችላል?
አዎ — ለትንሽ-እስከ-መካከለኛ memory stores፣ vector DBን ከagent ጋር በተመሳሳይ VPS ላይ ያሂዱ። ቀላል ነው እና latency በመሠረቱ ዜሮ ነው። አንዱ ሌላውን ከRAM ማስወጣት ሲጀምር ብቻ ወደ የተለያዩ servers ይከፍሏቸው። ያ በኋላ የሚመጣ፣ ለማግኘት ጥሩ-ችግር ውሳኔ ነው፣ የቀን-አንድ አይደለም።
ታማኝ ማሳሰቢያዎች
- RAM ግድግዳው ነው፣ እና ጸጥ ያለ ነው። index በmemory ውስጥ እስኪገጥም ድረስ search ፈጣን ይቆያል፣ ከዚያ ይዳከማል። memory ይመልከቱ እና ከመንከሱ በፊት ይለውጡ — ዝግ queries እስኪነግርዎ አይጠብቁ።
- embeddings ለመፍጠር tokens ያስከፍላሉ። የሚembed ያደርጉት እያንዳንዱ document ወደ embedding model API call ነው። store ለማስተናገድ ርካሽ ነው፤ vectorsን ማመንጨት ተደጋጋሚው ወጪ ነው — agent ማሄድ በእውነት ለሚያስከፍለው ተዛማጅ።
- backup ያድርጉት። የagentዎ memory እንደ ማንኛውም data ነው። ጠቃሚ ከሆነ፣ snapshot ያድርጉት።
በዚያ ውስጥ፣ ራስ-የተስተናገደ vector store የግል ውሂብዎን ለthird party ሳይሰጡ ለagent ዘላቂ memory ለመስጠት ንፁህ መንገድ ነው። በ2 GB box ላይ በpgvector ይጀምሩ፣ RAMን ይከታተሉ፣ እና ቁጥሮቹ ሲነግርዎ ብቻ ወደ Qdrant ወይም ትልቅ ዕቅድ ያድጉ።
አስተያየቶች
እስካሁን አስተያየቶች የሉም። መጀመሪያ ይሁኑ።