diff --git a/docs/uk/concepts/memory-search.md b/docs/uk/concepts/memory-search.md index 7f87ecf54..5a27e9485 100644 --- a/docs/uk/concepts/memory-search.md +++ b/docs/uk/concepts/memory-search.md @@ -1,15 +1,15 @@ --- read_when: - Ви хочете зрозуміти, як працює memory_search - - Ви хочете вибрати постачальника ембедингів + - Ви хочете вибрати провайдера ембедингів - Ви хочете налаштувати якість пошуку summary: Як пошук у пам’яті знаходить релевантні нотатки за допомогою ембедингів і гібридного пошуку title: Пошук у пам’яті x-i18n: - generated_at: "2026-04-09T16:29:07Z" + generated_at: "2026-04-12T17:37:53Z" model: gpt-5.4 provider: openai - source_hash: ca0237f4f1ee69dcbfb12e6e9527a53e368c0bf9b429e506831d4af2f3a3ac6f + source_hash: 71fde251b7d2dc455574aa458e7e09136f30613609ad8dafeafd53b2729a0310 source_path: concepts/memory-search.md workflow: 15 --- @@ -17,14 +17,13 @@ x-i18n: # Пошук у пам’яті `memory_search` знаходить релевантні нотатки з ваших файлів пам’яті, навіть коли -формулювання відрізняється від початкового тексту. Це працює шляхом індексації -пам’яті на невеликі фрагменти та їх пошуку за допомогою ембедингів, ключових -слів або обох підходів. +формулювання відрізняється від оригінального тексту. Він працює, індексуючи пам’ять у малі +фрагменти та шукаючи їх за допомогою ембедингів, ключових слів або обох способів. ## Швидкий старт -Якщо у вас налаштовано API-ключ OpenAI, Gemini, Voyage або Mistral, пошук у -пам’яті працює автоматично. Щоб явно вказати постачальника: +Якщо у вас налаштовано API-ключ OpenAI, Gemini, Voyage або Mistral, пошук у пам’яті +працює автоматично. Щоб явно вказати провайдера: ```json5 { @@ -41,17 +40,17 @@ x-i18n: Для локальних ембедингів без API-ключа використовуйте `provider: "local"` (потрібен node-llama-cpp). -## Підтримувані постачальники +## Підтримувані провайдери -| Постачальник | ID | Потрібен API-ключ | Примітки | -| ------------ | --------- | ----------------- | ---------------------------------------------------- | -| OpenAI | `openai` | Так | Визначається автоматично, швидко | -| Gemini | `gemini` | Так | Підтримує індексацію зображень/аудіо | -| Voyage | `voyage` | Так | Визначається автоматично | -| Mistral | `mistral` | Так | Визначається автоматично | -| Bedrock | `bedrock` | Ні | Визначається автоматично, коли доступний ланцюжок облікових даних AWS | -| Ollama | `ollama` | Ні | Локально, потрібно вказати явно | -| Local | `local` | Ні | Модель GGUF, завантаження ~0,6 ГБ | +| Провайдер | ID | Потрібен API-ключ | Примітки | +| --------- | --------- | ----------------- | ---------------------------------------------------- | +| OpenAI | `openai` | Так | Визначається автоматично, швидко | +| Gemini | `gemini` | Так | Підтримує індексацію зображень/аудіо | +| Voyage | `voyage` | Так | Визначається автоматично | +| Mistral | `mistral` | Так | Визначається автоматично | +| Bedrock | `bedrock` | Ні | Визначається автоматично, коли доступний ланцюжок облікових даних AWS | +| Ollama | `ollama` | Ні | Локально, потрібно вказати явно | +| Local | `local` | Ні | Модель GGUF, завантаження ~0.6 ГБ | ## Як працює пошук @@ -59,22 +58,23 @@ OpenClaw запускає два шляхи пошуку паралельно т ```mermaid flowchart LR - Q["Запит"] --> E["Ембединг"] - Q --> T["Токенізація"] - E --> VS["Векторний пошук"] - T --> BM["Пошук BM25"] - VS --> M["Зважене об’єднання"] + Q["Query"] --> E["Embedding"] + Q --> T["Tokenize"] + E --> VS["Vector Search"] + T --> BM["BM25 Search"] + VS --> M["Weighted Merge"] BM --> M - M --> R["Найкращі результати"] + M --> R["Top Results"] ``` - **Векторний пошук** знаходить нотатки зі схожим змістом ("gateway host" відповідає - "машина, на якій працює OpenClaw"). + "the machine running OpenClaw"). - **Пошук за ключовими словами BM25** знаходить точні збіги (ID, рядки помилок, ключі конфігурації). -Якщо доступний лише один шлях (немає ембедингів або немає FTS), окремо -працює лише він. +Якщо доступний лише один шлях (немає ембедингів або немає FTS), інший працює самостійно. + +Коли ембединги недоступні, OpenClaw усе одно використовує лексичне ранжування за результатами FTS замість того, щоб повертатися лише до сирого впорядкування за точним збігом. У цьому деградованому режимі підвищується вага фрагментів із кращим покриттям термінів запиту та релевантними шляхами до файлів, що зберігає корисну повноту навіть без `sqlite-vec` або провайдера ембедингів. ## Поліпшення якості пошуку @@ -82,25 +82,23 @@ flowchart LR ### Часове згасання -Старі нотатки поступово втрачають вагу в ранжуванні, тож новіша інформація -показується першою. Із типовим періодом напіврозпаду 30 днів нотатка з -минулого місяця матиме 50% своєї початкової ваги. Для постійно актуальних -файлів, таких як `MEMORY.md`, згасання ніколи не застосовується. +Старі нотатки поступово втрачають вагу в ранжуванні, тому новіша інформація з’являється першою. +За стандартного періоду напіврозпаду 30 днів нотатка з минулого місяця матиме 50% від +своєї початкової ваги. Для постійно актуальних файлів, таких як `MEMORY.md`, згасання ніколи не застосовується. -Увімкніть часове згасання, якщо ваш агент має щоденні нотатки за багато місяців -і застаріла інформація постійно випереджає свіжий контекст. +Увімкніть часове згасання, якщо ваш агент має місяці щоденних нотаток і застаріла +інформація постійно випереджає новіший контекст. ### MMR (різноманітність) -Зменшує кількість дубльованих результатів. Якщо п’ять нотаток згадують ту саму -конфігурацію роутера, MMR гарантує, що найкращі результати охоплюватимуть різні -теми замість повторів. +Зменшує кількість повторюваних результатів. Якщо п’ять нотаток згадують ту саму конфігурацію роутера, MMR +гарантує, що верхні результати охоплюватимуть різні теми, а не повторюватимуться. -Увімкніть MMR, якщо `memory_search` постійно повертає майже дубльовані фрагменти -з різних щоденних нотаток. +Увімкніть MMR, якщо `memory_search` постійно повертає майже дубльовані фрагменти з +різних щоденних нотаток. ### Увімкнути обидва @@ -124,31 +122,30 @@ flowchart LR ## Мультимодальна пам’ять -З Gemini Embedding 2 ви можете індексувати зображення й аудіофайли разом із -Markdown. Пошукові запити залишаються текстовими, але вони зіставляються з -візуальним і аудіовмістом. Див. [довідник із конфігурації пам’яті](/uk/reference/memory-config) -для налаштування. +З Gemini Embedding 2 ви можете індексувати зображення та аудіофайли разом із +Markdown. Пошукові запити залишаються текстовими, але вони зіставляються з візуальним та аудіовмістом. Див. [довідник із конфігурації пам’яті](/uk/reference/memory-config) для +налаштування. -## Пошук у пам’яті сеансів +## Пошук у пам’яті сеансу -За бажанням ви можете індексувати стенограми сеансів, щоб `memory_search` міг -згадувати попередні розмови. Це вмикається вручну через +Ви можете додатково індексувати транскрипти сеансів, щоб `memory_search` міг згадувати +попередні розмови. Це функція з явним увімкненням через `memorySearch.experimental.sessionMemory`. Докладніше див. у [довіднику з конфігурації](/uk/reference/memory-config). -## Усунення неполадок +## Усунення несправностей **Немає результатів?** Виконайте `openclaw memory status`, щоб перевірити індекс. Якщо він порожній, виконайте `openclaw memory index --force`. -**Лише збіги за ключовими словами?** Можливо, ваш постачальник ембедингів не налаштований. Перевірте +**Лише збіги за ключовими словами?** Можливо, ваш провайдер ембедингів не налаштований. Перевірте `openclaw memory status --deep`. -**Текст CJK не знаходиться?** Перебудуйте FTS-індекс за допомогою +**Текст CJK не знаходиться?** Перебудуйте індекс FTS за допомогою `openclaw memory index --force`. ## Додаткові матеріали -- [Активна пам’ять](/uk/concepts/active-memory) -- пам’ять субагента для інтерактивних сеансів чату +- [Active Memory](/uk/concepts/active-memory) -- пам’ять субагента для інтерактивних чат-сеансів - [Пам’ять](/uk/concepts/memory) -- структура файлів, бекенди, інструменти - [Довідник із конфігурації пам’яті](/uk/reference/memory-config) -- усі параметри конфігурації