მეხსიერების სისტემა
PRX უზრუნველყოფს მოქნილ მეხსიერების სისტემას, რომელიც აგენტებს საუბრებს შორის კონტექსტის შენარჩუნებისა და გამოხმობის საშუალებას აძლევს. მეხსიერების სისტემა მხარს უჭერს 5 საცავის ბექენდს, თითოეული ოპტიმიზირებული სხვადასხვა განთავსების სცენარისთვის.
მიმოხილვა
მეხსიერების სისტემა სამ ძირითად ფუნქციას ემსახურება:
- გამოხმობა -- წინა ურთიერთქმედებებისა და ფაქტების რელევანტური მოძიება თითოეული LLM გამოძახების წინ
- შენახვა -- საუბრებიდან ამოღებული მნიშვნელოვანი ინფორმაციის შენარჩუნება
- შეკუმშვა -- ძველი მოგონებების შეჯამება და შეკუმშვა კონტექსტის ლიმიტებში მოსათავსებლად
საცავის ბექენდები
| ბექენდი | მუდმივობა | ძიება | საუკეთესო გამოყენება |
|---|---|---|---|
| Markdown | ფაილზე დაფუძნებული | სრულტექსტური grep | ერთმომხმარებლიანი CLI, ვერსიაკონტროლირებული მეხსიერება |
| SQLite | ლოკალური მონაცემთა ბაზა | FTS5 სრულტექსტური | ლოკალური განთავსებები, მცირე გუნდები |
| PostgreSQL | დისტანციური მონაცემთა ბაზა | pg_trgm + FTS | მრავალმომხმარებლიანი სერვერული განთავსებები |
| ემბედინგები | ვექტორული საცავი | სემანტიკური მსგავსება | RAG-სტილის მოძიება, დიდი ცოდნის ბაზები |
| ოპერატიული მეხსიერება | არცერთი (მხოლოდ სესია) | ხაზოვანი სკანირება | ეფემერული სესიები, ტესტირება |
კონფიგურაცია
მეხსიერების ბექენდის არჩევა და კონფიგურაცია config.toml-ში:
toml
[memory]
backend = "sqlite" # "markdown" | "sqlite" | "postgres" | "embeddings" | "memory"
max_recall_items = 20
recall_relevance_threshold = 0.3
[memory.sqlite]
path = "~/.local/share/openprx/memory.db"
[memory.postgres]
url = "postgresql://user:pass@localhost/prx"
[memory.embeddings]
provider = "ollama"
model = "nomic-embed-text"
dimension = 768მეხსიერების სასიცოცხლო ციკლი
- ამოღება -- თითოეული საუბრის ტურის შემდეგ, სისტემა ამოიღებს საკვანძო ფაქტებს
- დედუპლიკაცია -- ახალი ფაქტები შედარდება არსებულ მოგონებებთან
- შენახვა -- უნიკალური ფაქტები შეინახება კონფიგურირებულ ბექენდში
- გამოხმობა -- თითოეული LLM გამოძახების წინ მოიძიება რელევანტური მოგონებები
- ჰიგიენა -- პერიოდული მოვლა შეკუმშავს და გაწმენდს მოძველებულ ჩანაწერებს