ემბედინგების მეხსიერების ბექენდი
ემბედინგების ბექენდი ინახავს მოგონებებს ვექტორული ემბედინგების სახით, რაც სემანტიკური მსგავსების ძიებას საშუალებას იძლევა. ეს არის ყველაზე მძლავრი გახსენების მექანიზმი, რომელიც აგენტებს საშუალებას აძლევს კონტექსტუალურად შესაბამისი მოგონებების პოვნა მაშინაც კი, როდესაც ზუსტი საკვანძო სიტყვები არ ემთხვევა.
მიმოხილვა
ემბედინგების ბექენდი:
- მეხსიერების ტექსტს მკვრივ ვექტორულ წარმოდგენებად გარდაქმნის
- ვექტორებს ლოკალურ ან დისტანციურ ვექტორულ მონაცემთა ბაზაში ინახავს
- მოგონებებს ამოიღებს მიმდინარე შეკითხვისადმი კოსინუსური მსგავსების მიხედვით
- მხარს უჭერს მრავალ ემბედინგის პროვაიდერს (Ollama, OpenAI და ა.შ.)
როგორ მუშაობს
- მოგონების შენახვისას, მისი ტექსტი ემბედინგ მოდელს ეგზავნება
- მიღებული ვექტორი ორიგინალ ტექსტთან ერთად ინახება
- გახსენებისას, მიმდინარე კონტექსტი იგივე მოდელით ემბედირდება და შენახულ ვექტორებთან შედარდება
- ყველაზე მსგავსი top-K მოგონებები ბრუნდება
კონფიგურაცია
toml
[memory]
backend = "embeddings"
[memory.embeddings]
provider = "ollama"
model = "nomic-embed-text"
dimension = 768
top_k = 10
similarity_threshold = 0.5
[memory.embeddings.store]
type = "sqlite-vec" # ან "pgvector"
path = "~/.local/share/openprx/embeddings.db"1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
მხარდაჭერილი ემბედინგ პროვაიდერები
| პროვაიდერი | მოდელი | განზომილებები |
|---|---|---|
| Ollama | nomic-embed-text | 768 |
| OpenAI | text-embedding-3-small | 1536 |
| OpenAI | text-embedding-3-large | 3072 |