Здобутки без цінника: Як створити власного RAG-бота з Olama та Flowise
У світі штучного інтелекту, де великі мовні моделі (LLM) правлять балом, існує спокуса повірити, що магія доступна лише за високу ціну. Але що, якщо я скажу вам, що можна створити потужного чат-бота, що працює локально, безкоштовно та без шкоди для вашого гаманця? Саме це я сьогодні й хочу вам показати. Мене звати Ліла Харт, і я проведу вас через процес створення RAG-бота (Retrieval-Augmented Generation) за допомогою потужних інструментів: Olama та Flowise.
Чому це важливо?
Уявіть собі, що у вас є доступ до знань, які можна використовувати в будь-який час і будь-де. RAG-бот дозволяє вам завантажувати дані з веб-сайтів, PDF-файлів, текстових документів та інших джерел, а потім ставити питання до цих даних. Це відкриває неймовірні можливості для дослідження, навчання, аналізу та навіть творчості. І найголовніше – все це можна зробити безкоштовно!
Знайомтесь: Olama та Flowise
Перш ніж ми зануримося в деталі, дозвольте познайомити вас ближче з нашими ключовими героями:
- Olama: Це інструмент, який дозволяє запускати LLM локально, тобто на вашому комп’ютері. Він підтримує інтеграцію з багатьма відкритими моделями, такими як Llama 2, Mistral та Mixstral. Це означає, що ви можете завантажувати різні моделі та експериментувати з ними, вибираючи найкращу для ваших потреб.
- Flowise: Платформа візуального програмування, яка дозволяє будувати складні чат-боти та інші застосунки на основі LLM. Flowise використовує принцип “no-code”, що робить процес створення чат-ботів доступним навіть для тих, хто не володіє навичками програмування.
Крок 1: Встановлення Olama
Перший крок – це встановити Olama на вашому комп’ютері. Процес дуже простий:
- Перейдіть на сайт Olama: Відкрийте браузер і перейдіть на веб-сайт olama.com.
- Завантажте та встановіть: Натисніть на кнопку “Download” та завантажте файл встановлення для вашої операційної системи (Windows, macOS або Linux). Запустіть файл та дотримуйтесь інструкцій на екрані.
- Запуск через термінал: Після встановлення Olama автоматично не запускається. Вам потрібно буде запустити його через термінал (командний рядок, PowerShell або термінал Linux).
- Завантаження моделі: Вибір моделі є критичним. Деякі моделі вимагають багато ресурсів комп’ютера. У цьому відео я буду використовувати модель Llama 2 (LLM2). Щоб завантажити її, відкрийте термінал та введіть команду
olama run llama2
. - Тестування моделі: Після завантаження моделі, Olama запропонує вам відправити повідомлення. Введіть “Hello” (привіт) або будь-яке інше повідомлення, щоб переконатися, що модель працює. Ви отримаєте відповідь від Llama 2.
- Відміна роботи: Щоб зупинити роботу Olama, натисніть
Ctrl + D
. - Запуск сервера: Щоб інтегрувати Olama з Flowise, вам потрібно запустити Olama як локальний сервер. Введіть в терміналі
olama serve
. Якщо ви отримаєте помилку про вже запущений сервер, перевірте URL, який покаже Olama, в браузері. Ви маєте побачити повідомлення “olama is running”. Якщо все добре, сервер готовий.
Крок 2: Створення Чат-бота у Flowise
Тепер, коли Olama встановлено та працює, перейдемо до створення чат-бота у Flowise.
- Відкрийте свій локальний екземпляр Flowise. Важливо, щоб ви використовували саме локальний екземпляр, оскільки інтеграція з Olama працює тільки з локальними серверами.
- Створіть новий потік чату: Натисніть кнопку “Create new chat flow” та введіть ім’я, наприклад, “Local Chatbot”. Збережіть потік.
- Додайте Conversation Chain: На панелі “Add nodes” оберіть “Chains” та додайте “Conversation Chain”.
- Додайте модель чату (Chat Model): У розділі “Chat Models” додайте “Chat Olama”.
- Налаштуйте вузол Chat Olama:
- URL: Переконайтеся, що URL вказує на ваш локальний сервер Olama (зазвичай
http://localhost:11434
). Перевірте, чи працює він, відкривши URL у браузері. Ви маєте побачити повідомлення “olama is running”. - Model Name: Вкажіть ім’я моделі, яку ви завантажили в Olama (у нашому випадку, “llama2”).
- Temperature: Встановіть значення temperature, наприклад, 0.7. Це впливає на випадковість відповідей.
- URL: Переконайтеся, що URL вказує на ваш локальний сервер Olama (зазвичай
- Додайте Memory Node: У розділі “Add nodes” оберіть “Memory” та додайте “Buffer Memory”. З’єднайте пам’ять з chain.
- Збережіть потік: Натисніть кнопку “Save”.
- Протестуйте бота: Введіть у чат “hello” (привіт) або будь-яке інше повідомлення. Бот має відповісти вам відповіддю, отриманою від моделі Llama 2.
Крок 3: Створення RAG-бота
Тепер давайте створимо RAG-бота, який дозволить нам ставити запитання щодо конкретних даних, наприклад, з веб-сайту.
- Створіть новий потік чату: Клацніть “Add” і назвіть його, наприклад, “Local RAG Chatbot”. Збережіть його.
- Додайте Chains: Додайте “Conversational Retrieval QA Chain”.
- Додайте Chat Model: Додайте “Chat Olama” та з’єднайте його з chain.
- Model Name: Встановіть “llama2”.
- Temperature: Встановіть менше значення, наприклад, 0.4, для точніших відповідей.
- Додайте Vector Store Retriever: У розділі “Add nodes” оберіть “Vector stores” та додайте “In-memory vector store”. Підключіть його до chain.
- Додайте Embedding node: У розділі “Add nodes” оберіть “Embeddings” та додайте “Olama Embedding”. Підключіть його до Vector Store.
- Base URL: Залиште значення за замовчуванням (зазвичай
http://localhost:11434
). - Model Name: Встановіть “llama2”.
- Use MMAP: Активуйте “Use MMAP”. Це може покращити стабільність роботи.
- Base URL: Залиште значення за замовчуванням (зазвичай
- Додайте Document Loader: У розділі “Add nodes” оберіть “Document loaders”. Ви можете вибрати різні джерела даних, але в цьому прикладі ми будемо використовувати “Cheerio web scraper” for scraping information from a website. Підключіть loader до Vector Store.
- URL: Вставте URL веб-сторінки, з якої ви хочете отримати інформацію, наприклад, головну сторінку LangChain.
- Збережіть потік чату: Натисніть кнопку “Save”.
- Завантажте інформацію в Vector Store: Клацніть на кнопку “Run” у верхньому правому куті екрана. Це завантажить інформацію з веб-сторінки в векторне сховище.
- Почніть ставити запитання: Переконайтеся, що все завантажено, та спробуйте поставити чат-боту запитання про інформацію з веб-сторінки. Наприклад, “What is LangSmith?” (Що таке LangSmith?). Бот має надати вам інформацію з веб-сторінки.
Поради та обмеження
- Вибір моделі: Експериментуйте з різними моделями, щоб знайти найкращу для ваших потреб. Враховуйте ресурси вашого комп’ютера.
- Налаштування temperature: Змінюйте значення temperature для контролю випадковості відповідей.
- Джерела даних: Flowise підтримує багато джерел даних, зокрема PDF-файли, текстові документи, CSV та бази даних.
- Обмеження: Відкриті моделі мають свої обмеження, зокрема в підтримці функціональних викликів (function calling). Але вони постійно вдосконалюються.
Висновок
Як бачите, створення потужного чат-бота не повинно бути дорогим. З Olama та Flowise ви можете створити власний RAG-бот, який працює локально, використовуючи відкриті великі мовні моделі. Експериментуйте, дізнавайтеся нове, та насолоджуйтесь дивовижним світом штучного інтелекту, який став ще більш доступним для всіх нас!
Не забувайте, що навчання – це безперервний процес. Спробуйте різні моделі, інтегруйте інші джерела даних та досліджуйте можливості, які відкриває перед вами ця технологія. Світ відкритих LLM чекає на вас!
Якщо вам сподобався цей контент, ставте лайки, підписуйтесь на мій канал та діліться своїми думками в коментарях. Я також буду рада почути, які відкриті моделі ви використовуєте та які у вас є питання. До нових зустрічей!