შენახვის Backend-ები
PRX-Memory მხარს უჭერს მრავალ შენახვის backend-ს მეხსიერებებისა და მათი ვექტორული embedding-ების შესანახად. prx-memory-storage crate-ი ერთიან ინტერფეისს უზრუნველყოფს, რომელსაც ყველა backend-ი ახორციელებს.
ხელმისაწვდომი Backend-ები
| Backend | კონფიგ. მნიშვნელობა | ვექტორული მხარდაჭერა | მდგრადობა | ყველაზე კარგია |
|---|---|---|---|---|
| JSON | json | ჩანაწერებში ჩაშენებული | ფაილ-ზე დაფუძნებული | განვითარება, მცირე ნაკრებები |
| SQLite | sqlite | ჩაშენებული ვექტორული სვეტები | ფაილ-ზე დაფუძნებული | წარმოება, საშუალო ნაკრებები |
| LanceDB | lancedb | ნეიტიური ვექტორული ინდექსი | დირექტორია-ზე დაფუძნებული | დიდი ნაკრებები, სწრაფი ANN ძიება |
ნაგულისხმევი Backend
ნაგულისხმევი backend-ი JSON-ია (PRX_MEMORY_BACKEND=json), რომელს დამატებითი კონფიგურაცია არ სჭირდება. საწარმოო განასახებებისთვის SQLite-ია სასურველი.
JSON Backend
ყველაზე მარტივი backend ყველა მეხსიერებას ერთ JSON ფაილში ინახავს. იდეალურია განვითარებისთვის, ტესტირებისა და მცირე მეხსიერების ნაკრებებისთვის (10,000 ჩანაწერამდე).
PRX_MEMORY_BACKEND=json
PRX_MEMORY_DB=./data/memory-db.jsonუპირატესობები:
- ნულოვანი კონფიგურაცია -- უბრალოდ მიუთითეთ ფაილის გზა.
- ადამიანს-წასაკითხი -- ნებისმიერი ტექსტური რედაქტორით შემოწმება და რედაქტირება.
- Portable -- ფაილის კოპირება მთელი მეხსიერების ბაზის გადასატანად.
შეზღუდვები:
- გაშვებისას მთელი ფაილი მეხსიერებაში იტვირთება.
- ჩაწერის ოპერაციები სრულ ფაილს წერს.
- ინდექსირებული ვექტორული ძიება არ არის -- მსგავსებისთვის brute-force სკანი.
SQLite Backend
SQLite უზრუნველყოფს ACID ტრანზაქციებს, ინდექსირებულ შეკითხვებს და ჩაშენებულ ვექტორული სვეტის მხარდაჭერას ეფექტური მსგავსების ძიებისთვის.
PRX_MEMORY_BACKEND=sqlite
PRX_MEMORY_DB=./data/memory.dbიხილეთ SQLite შენახვა დეტალური კონფიგურაციისთვის.
LanceDB Backend (სურვილისამებრ)
LanceDB უზრუნველყოფს ნეიტიური approximate nearest neighbor (ANN) ვექტორულ ძიებას სვეტოვანი შენახვით. ჩართეთ lancedb-backend ფუნქციის ნიშნით:
cargo build --release -p prx-memory-mcp --bin prx-memoryd --features lancedb-backendPRX_MEMORY_BACKEND=lancedb
PRX_MEMORY_DB=./data/lancedbფუნქციის ნიშანი სჭირდება
LanceDB მხარდაჭერა ნაგულისხმევ build-ში შეყვანილი არ არის. compile-ის დროს lancedb-backend ფუნქციის ნიშანი უნდა ჩართოთ.
Backend-ის არჩევა
| სცენარი | სასურველი Backend |
|---|---|
| ლოკალური განვითარება | JSON |
| წარმოება <100k ჩანაწერით | SQLite |
| წარმოება >100k ჩანაწერით | LanceDB |
| ადამიანს-წასაკითხი შენახვა სჭირდება | JSON |
| ACID ტრანზაქციები სჭირდება | SQLite |
| სწრაფი ANN ვექტორული ძიება სჭირდება | LanceDB |
შენახვის ოპერაციები
PRX-Memory ინსტრუმენტებს უზრუნველყოფს შენახვის ტექნიკური მომსახურებისთვის:
| ინსტრუმენტი | აღწერა |
|---|---|
memory_export | ყველა მეხსიერების ექსპორტი portable ფორმატში |
memory_import | მეხსიერებების იმპორტი ექსპორტიდან |
memory_migrate | შენახვის backend-ებს შორის მიგრაცია |
memory_compact | შენახვის ოპტიმიზება და სივრცის გათავისუფლება |
memory_reembed | ყველა მეხსიერების ახლად embedding-ი ახალი მოდელით |
შემდეგი ნაბიჯები
- SQLite შენახვა -- SQLite-ის კონფიგურაცია და tuning
- ვექტორული ძიება -- ვექტორული მსგავსების ძიების მუშაობის პრინციპი
- კონფიგურაციის ცნობარი -- ყველა გარემოს ცვლადი