Przejdź do treści
PentAGI
Pojęcia

Memory i wiedza

Jak PentAGI zapamiętuje polecenia, wyniki i relacje w trakcie flow.

PentAGI przechowuje trzy rodzaje memory, dzięki czemu agenci mogą opierać się na wcześniejszej pracy, zamiast zaczynać od zera.

MemoryGdzie jest przechowywanaCo zawiera
DługoterminowaPostgreSQL z pgvectorOsadzenia wyników, sprawdzonych podejść i wiedzy o tool
RoboczaKontekst flowBieżący cel, stan task i dostępne zasoby
EpizodycznaHistoria poleceńPrzeszłe akcje, ich wyniki i wzorce, które się sprawdziły

Każde polecenie i jego wynik są zapisywane w PostgreSQL. Przed podjęciem akcji agenci przeszukują vector store w poszukiwaniu podobnych przypadków, a następnie zapisują w nim swoje findings — większość tej pracy wyszukującej wykonują agenci memorist i searcher.

Knowledge graph (opcjonalnie)

Po włączeniu infrastruktury knowledge graph, PentAGI wysyła odpowiedzi agentów oraz wykonania tool do Graphiti na Neo4j. Zgodnie z regułami ingestu szablonu .env wyodrębnia encje i relacje — hosty, usługi, podatności, techniki oraz to, jak powiązania między nimi zmieniają się w czasie — z operacji terminala i plików, a pozostałe zdarzenia utrzymuje w stanie umożliwiającym wyszukiwanie bez ekstrakcji.

GRAPHITI_ENABLED=true
GRAPHITI_URL=http://graphiti:8000
GRAPHITI_CONFIG_DIR=llm_configs
GRAPHITI_LLM_CLIENT_TYPE=openai
NEO4J_URI=bolt://neo4j:7687
NEO4J_PASSWORD=replace_with_a_strong_password
git clone --depth 1 https://github.com/vxcontrol/pentagi.git pentagi-src
cp -r pentagi-src/examples/graphiti ./graphiti
cp -r pentagi-src/examples/neo4j ./neo4j
rm -rf pentagi-src
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose-graphiti.yml
docker compose -f docker-compose.yml -f docker-compose-graphiti.yml up -d

Graphiti uruchamia własny model: GRAPHITI_LLM_CLIENT_TYPE wybiera preset — openai, gemini, litellm lub custom — którego modele są ustawione w ./graphiti/<preset>.yaml, a pasujący klucz pochodzi z .env (OPEN_AI_KEY dla openai). Plik .env sprzed wersji 2.2.0 nie zawiera tych linii ani reguł GRAPHITI_INGEST_*: skopiuj je z bieżącego pliku .env.example.

Graphiti to integracja w fazie beta, domyślnie wyłączona. Zakres przywoływania obejmuje tylko aktywny flow; wbudowane API Graphiti nie posiada uwierzytelniania, dlatego trzymaj je i Neo4j w sieci prywatnej. Ekstrakcja i osadzanie są rozliczane osobno, niezależnie od modelu używanego przez flow.

PentAGI sprawdza Graphiti tylko podczas uruchamiania, przez kilka sekund. Jeśli Graphiti nie będzie wtedy gotowe, PentAGI loguje ostrzeżenie i działa bez knowledge graph aż do następnego restartu, więc gdy Graphiti zgłosi gotowość, uruchom docker restart pentagi.

Ostatnia aktualizacja