← Natrag
AI

Kada memorija agenta premaši veličinu Postgres retka: particioniranje povijesti razgovora

Damir Radulić· 17. srpnja 2026.· 2 min čitanja· 26 pregleda
Kada memorija agenta premaši veličinu Postgres retka: particioniranje povijesti razgovora
🎧 Poslušaj članak

Kada gradite sustave umjetne inteligencije koji komuniciraju s korisnicima, povijest razgovora može brzo narasti do ogromnih veličina. Postgres, iako moćan, ima ograničenje veličine retka od 1.6 TB. Ako vaš agent akumulira više od toga u jednom retku, nailazite na ozbiljne probleme s performansama i pohranom. Rješenje je particioniranje povijesti razgovora kroz više particija, koristeći ključ koji se temelji na vremenu ili broju tokena.

Zašto je particioniranje nužno?

Postgres retci su fizički ograničeni na 1.6 TB. Za agente koji obrađuju tisuće razgovora dnevno, ovo ograničenje se brzo dostiže. Bez particioniranja, upiti postaju spori, a pohrana neučinkovita. Particioniranje omogućuje linearno skaliranje i brže pretraživanje jer se podaci dijele u manje, upravljive dijelove.

Kako particionirati povijest razgovora?

Postoje dva uobičajena pristupa: particioniranje po vremenskom ključu i particioniranje po token ključu. Vremenski ključ dijeli podatke prema vremenskim intervalima (npr. dan, tjedan, mjesec). Token ključ dijeli podatke prema broju tokena u razgovoru, što je korisno za modele s ograničenjima konteksta.

Implementacija particioniranja u Postgresu

Postgres podržava particioniranje putem table partitioning značajke. Kreirajte glavnu tablicu i particije s uvjetima. Na primjer, za vremensko particioniranje:

  • Kreirajte glavnu tablicu: CREATE TABLE conversation_history (id SERIAL, agent_id INT, timestamp TIMESTAMPTZ, content TEXT) PARTITION BY RANGE (timestamp);
  • Kreirajte particije: CREATE TABLE ch_2024_01 PARTITION OF conversation_history FOR VALUES FROM ('2024-01-01') TO ('2024-02-01');
  • Ponovite za svaki vremenski interval.

Za token particioniranje, koristite stupac s brojem tokena i particionirajte po rasponu vrijednosti.

Prednosti particioniranja

Particioniranje omogućuje brže upite jer Postgres pretražuje samo relevantne particije. Pohrana je linearna jer se podaci dodaju u nove particije bez utjecaja na postojeće. Također, olakšava arhiviranje starih podataka brisanjem cijelih particija.

Najbolje prakse

Koristite vremenski ključ za dugotrajne razgovore s redovitim unosom podataka. Koristite token ključ za modele s fiksnim kontekstom, poput onih koji obrađuju dokumente. Redovito nadzirite veličinu particija i prilagođavajte intervale prema potrebi.

Particioniranje povijesti razgovora ključno je za skalabilnost agenta. Bez njega, Postgres postaje usko grlo koje usporava cijeli sustav.

particioniranjePostgresmemorija agentapovijest razgovorasharding

Zanima vas ovakva AI tehnologija?

RiNET gradi sovereign AI rjesenja za javni sektor i poduzeca - od civic intelligence do automatizacije nabave.

Kontaktirajte nas →
0 komentara

Komentari