AI agent bila kumbukumbu imekwama ikijieleza tena kila gumzo. Suluhu ni vector database — huhifadhi embeddings za nyaraka zako, notes au gumzo za zamani ili agent iweze kukumbuka sehemu zinazohusika kwa mahitaji (hiyo ndiyo "R" katika RAG). Unaweza kuikodisha kama huduma inayosimamiwa, au unaweza kuiendesha mwenyewe kwenye VPS na kuweka data yako — ambayo mara nyingi ni data yako ya faragha — kwenye sanduku unayoidhibiti. Hii ndio jinsi, na inagharimu nini kweli kwa RAM.
Machaguo mawili mazuri
Huhitaji chochote cha ajabu. Njia mbili hufunika karibu kila mtu:
pgvector — extension ya Postgres. Kama tayari unaendesha Postgres (au uko tayari), hii huongeza vector search kwa hifadhidata uliyonayo tayari. Huduma moja, backup moja, SQL unayoijua. Mwanzo wa kazi ndogo kwa tofauti kubwa.
Qdrant — engine ya vector ya purpose-built. Ifikie unapokuwa na vectors nyingi (mamilioni ya chini+) au unataka filtering ya metadata ya haraka na API ya kujitolea. Ni huduma tofauti ya kuendesha, lakini imejengwa kwa kazi hii hasa.
Kwa agents wengi wanaopata miguu yao, pgvector ndiyo jibu sahihi la kwanza. Hamia Qdrant unapoizidi, si kabla.
Ukweli wa RAM (hii ndiyo sehemu watu huikadiria chini)
Vector search ni ya haraka kwa sababu index unaishi kwenye kumbukumbu — hivyo RAM, si disk, ndio kizuizi chako halisi. Mwongozo wa jumla:
- Embeddings laki chache — starehe katika 2 GB.
- Mamilioni ya chini — panga kwa 4 GB+ na tune index.
- Disk ni sehemu rahisi: embeddings milioni ni GB chache tu, hivyo 25–45 GB hufunika store serious.
Hivyo weka saizi kwa index, si faili. (Mantiki ileile ya mwongozo wa jumla wa sizing — kitu kizito hakiko wazi hadi upime.)
Anza haraka: pgvector
Kwenye sanduku lenye Postgres (Docker ni rahisi zaidi — pattern ileile ya kujihifadhi n8n):
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE memory (
id bigserial PRIMARY KEY,
content text,
embedding vector(1536) -- linganisha na dimensions za modeli yako ya embedding
);
-- baada ya kuwa na data, jenga index kwa search ya haraka:
CREATE INDEX ON memory USING hnsw (embedding vector_cosine_ops);
Agent yako huingiza content + embedding yake, kisha query na ORDER BY embedding <=> $query_embedding LIMIT 5 kuchota memories zilizo karibu zaidi. Huo ndio loop mzima.
Unapendelea Qdrant? Ni Docker container moja inayofunua API ya HTTP/gRPC; unaunda collection na vector size yako na upsert points. Wazo lilelile, engine ya kujitolea.
Je inaweza kushiriki sanduku na agent?
Ndiyo — kwa stores za kumbukumbu ndogo-hadi-kati, endesha vector DB kwenye VPS ileile na agent. Ni rahisi zaidi na latency kimsingi ni sifuri. Zitenge kwenye seva tofauti tu wakati moja inaanza kuisukuma nyingine nje ya RAM. Hilo ni uamuzi wa baadaye, wa tatizo-zuri-kuwa-nalo, si wa siku-ya-kwanza.
Tahadhari za uaminifu
- RAM ndiyo ukuta, nayo ni kimya. Search inabaki ya haraka hadi index isipofaa tena kwenye kumbukumbu, kisha inaharibika. Angalia kumbukumbu na weka saizi upya kabla ya kukuuma — usisubiri queries za polepole kukuambia.
- Embeddings hugharimu tokens kuzalisha. Kila nyaraka unayoembed ni simu ya API kwa modeli ya embedding. Store ni nafuu kuihifadhi; kuzalisha vectors ni gharama inayorudia — inahusika na gharama halisi ya kuendesha agent.
- Ihifadhi backup. Kumbukumbu ya agent yako ni data kama nyingine yoyote. Kama inahusika, ichukue snapshot.
Ndani ya hilo, vector store ya kujihifadhi ni njia safi ya kumpa agent kumbukumbu ya kudumu bila kutoa data yako ya faragha kwa mtu wa tatu. Anza na pgvector kwenye sanduku la 2 GB, weka jicho kwenye RAM, na ukue hadi Qdrant au mpango mkubwa zaidi tu wakati namba zinakuambia.
Maoni
Bado hakuna maoni. Kuwa wa kwanza.