Przejdź do treści

RAG — lokalny retrieval#

RAG (Retrieval-Augmented Generation) w Memphis jest całkowicie lokalny — embeddings, indeks, zapytania, wszystko na Twoim sprzęcie.

Co jest indeksowane#

  • Chainy (journal, soul, ops) — pełna historia agenta.
  • Dokumenty dodane przez memphis rag add <path>.
  • Runbooki, notatki, PDF-y — cokolwiek jawnie wrzucisz.

Nic nie jest indeksowane bez Twojej decyzji. Memphis nie patroluje Twojego dysku.

Stack#

Komponent Implementacja
Embedding model lokalny — nomic-embed-text przez Ollama (default)
Vector store Qdrant lokalnie, embedded mode
Reranker opcjonalny — bge-reranker-v2-m3 lokalnie
Chunking semantic + token-window fallback

Operacje#

memphis rag add ./docs                # indeksuj katalog
memphis rag add --tag personal ~/notes
memphis rag query "co pisałem o vaulcie"
memphis rag stats                     # liczniki per-kolekcja
memphis rag reindex <collection>

Prywatność zapytań#

Zapytanie RAG → embedding lokalnie → Qdrant lokalnie → kontekst → dopiero teraz LLM może być cloudowy (lub lokalny).

Jeśli używasz cloudowego LLM, kontekst retrievowany z RAG idzie do providera jako część promptu. Dla danych wrażliwych:

  • ustaw soul policy sensitive_corpus: local_only,
  • Memphis wtedy force'uje lokalny LLM (Ollama) dla zapytań z tego korpusu,
  • audytowane przez chain ops (event rag.policy.local_only_enforced).

Wspólny korpus vs oddzielne#

Każdy chain/dokument może mieć własny collection w Qdrant. Domyślnie:

  • journal — twoje rozmowy z agentem,
  • soul — tożsamość, styl,
  • docs:* — dodawane dokumenty per-tag,
  • code:* — indeksowane repozytoria.

Zapytanie może być ograniczone do kolekcji (--collection docs:personal) albo federacyjne (domyślnie ranked cross-collection).