- Налаштування приватної метапошукової системи за допомогою Docker для постачання реальних даних штучному інтелекту.
- Критичне налаштування конфігураційних файлів для забезпечення виводу даних у форматі JSON.
- Посилання через певні URL-адреси та керування контекстним вікном, щоб уникнути порожніх відповідей.
- Активація інструменту пошуку на рівні сеансу в інтерфейсі чату.
Як активувати пошук в Інтернеті в Open WebUI за допомогою SearXNG? Якщо ви помітили, що ваша локальна мовна модель не відповідає очікуванням через брак доступу до мережі в режимі реального часу, ви, ймовірно, шукаєте спосіб дати їй «очі» на зовнішній світ. Open WebUI – це фантастичний інструмент, але щоб по-справжньому сяяти та перестати вигадувати, коли ви запитуєте його про актуальні новини, йому потрібна потужна пошукова система. Ось тут-то вона і стане в пригоді. SearXNG, безкоштовна та конфіденційна метапошукова система, яка діє як місток між вашим штучним інтелектом та Інтернетом.
Налаштування цієї комбінації може спочатку здатися головним болем, особливо якщо у вас виникають проблеми з контейнерами Docker або URL-адресами, які не підключаються, але як тільки ви налаштуєте її належним чином, різниця буде величезною. Йдеться не лише про підключення двох віртуальних кабелів, а й про налаштувати внутрішні налаштування Щоб забезпечити сумісність формату даних і не втрату моделі під час сканування, давайте крок за кроком розглянемо, як налаштувати це, щоб ваш помічник міг легко сканувати мережу.
Встановлення SearXNG за допомогою Docker

Перший крок – налаштування інфраструктури пошукової системи. Найпростіший спосіб зробити це – клонувати офіційний репозиторій searchng-dockerЩойно ви опинитеся всередині папки, найважливіше – це поглянути на файл. .env активувати SEARXNG_HOSTNAMEщо, по суті, повідомляє службі, хто ви і де ви живете.
Якщо ви виявите, що порт 8080 вже використовується іншою програмою, не хвилюйтеся; ви можете змінити його у файлі docker-compose.yaml для будь-якого іншого вільного простору, який у вас є. Важливим моментом тут є видалити обмеження локального хоста у цьому файлі, щоб Open WebUI міг з ним взаємодіяти. Крім того, важливо надати контейнеру необхідні дозволи, щоб він міг створювати власні файли конфігурації в кореневому каталозі.
Налаштування файлів limiter.toml та settings.yml

Щоб запобігти хаотичному з'єднанню, потрібно створити файл з назвою limiter.toml Переконайтеся, що він дозвільний; якщо він вже існує, просто додайте відсутні рядки, щоб запобігти блокуванню системою запитів штучного інтелекту. З іншого боку, є важливий трюк: видалити файл settings.yml за замовчуванням Якщо він існує, система згенерує новий, чистий, під час першого запуску контейнера.
Після цього початкового швидкого запуску рекомендується додати інструкцію cap_drop: - ALL у повідомленні для чистої безпеки. А тепер настає та частина, де більшість зазнає невдачі: увімкнути формат JSONВам потрібно отримати доступ до файлу settings.yml, знайдіть розділ пошуку та додайте json до списку дозволених форматів. Без цього Open WebUI отримуватиме дані, які не розуміє, та видаватиме сумнозвісну помилку 403 Forbidden.
Зв'язування з Open WebUI

Після запуску та налаштування SearXNG, час перейти до панелі адміністратора Open WebUI. Перейдіть до Налаштування > Адміністратор > Інструменти > Веб-пошукАктивуйте прапорець «Увімкнути пошук» і у випадаючому меню пошукової системи виберіть пошук.
URL-адреса запиту є ключем до успіху. Залежно від того, де у вас все встановлено, у вас буде кілька варіантів. Якщо ви використовуєте Docker в одній мережі, ви можете використовувати назву контейнера (http://searxng:8080/search?q=<query>), або якщо ви бажаєте перестрахуватися з IP-адресою хоста, використовуйте http://host.docker.internal:8080/search?q=<query>Найголовніше те, що закінчення /search?q= Це обов'язковоЯкщо ви про це забудете, штучний інтелект не знатиме, як надіслати запитання пошуковій системі.
Вирішення поширених проблем та оптимізація
Якщо ви бачите, що пошук працює, але контент, який повертає штучний інтелект, порожній або дуже поганий, винуватцем зазвичай є контекстне вікноБагато вебсайтів є величезними, і якщо ваша модель приймає лише 2048 токенів, дані будуть обрізані. Збільште ліміт до 16384 або більше в розширених налаштуваннях моделі. Також, якщо ви помітили, що такі сайти, як Вікіпедія або Cloudflare, блокують вас, це тому, що вони виявляють, що ви бот. Рішення полягає в налаштуванні АГЕНТ_КОРИСТУВАЧА що імітує справжній браузер, такий як Chrome або Firefox.
Ще одна поширена проблема виникає під час використання HTTP-проксі. Якщо запити досягають SearXNG але вміст отриманого веб-сайту неможливо прочитати, активуйте опцію Середовище довіреного проксі-сервера у налаштуваннях веб-пошуку. Зрештою, якщо модель просто ігнорує інструмент пошуку, переконайтеся, що ви використовуєте модель з можливостями виклику інструментів (виклик функції) та що режим виклику нативних функцій активний.
Практичне використання в чаті
Щоб все перевірити, увійдіть у чат і натисніть кнопку «Інтеграції» (поруч зі значком +). Там ви повинні Вручну активуйте перемикач веб-пошукуЗверніть увагу, що це налаштування діє для кожного сеансу; якщо ви оновите сторінку або переключитеся на іншу розмову, вам потрібно буде повторно активувати його. Щоб запобігти перевантаженню або блокуванню системи через надмірну кількість запитів, ви можете налаштувати кількість одночасних результатів та загальну кількість результатів в адміністративній панелі.
Наявність інтегрованої системи локального пошуку дозволяє будь-якому спеціалісту з права, незалежно від віку, отримувати доступ до актуальних даних, уникаючи типової плутанини. Ключ полягає в... переконайтеся, що формат JSON активний у SearXNG та що URL-адреса запиту є точною, а також правильно керувати пам'яттю моделі, щоб вона могла обробляти інформацію, отриману з Інтернету, не пропускаючи важливих деталей.
Захоплювався технікою з дитинства. Я люблю бути в курсі подій у секторі та, перш за все, повідомляти про це. Ось чому я вже багато років присвячую комунікації на веб-сайтах технологій і відеоігор. Ви можете знайти, як я пишу про Android, Windows, MacOS, iOS, Nintendo або будь-яку іншу пов’язану тему, яка спадає вам на думку.