Зображення редактора
Великі мовні моделі (LLM), як-от GPT-3 від OpenAI, BERT від Google і LlaMA від Meta, революціонізують різні сектори завдяки своїй здатності генерувати широкий спектр тексту – від маркетингової копії та сценаріїв науки про дані до поезії.
Навіть незважаючи на те, що інтуїтивно зрозумілий інтерфейс ChatGPT зміг бути присутнім на пристроях більшості людей сьогодні, існує величезний ландшафт невикористаного потенціалу для використання LLM у різноманітних інтеграціях програмного забезпечення.
Головна проблема?
Більшість додатків вимагають більш плавного та рідного спілкування з магістрами права.
І саме тут починає працювати LangChain!
Якщо ви зацікавлені в генеративному штучному інтелекті та магістерських програмах, цей підручник створений спеціально для вас.
Отже… почнемо!
На випадок, якщо ви жили в печері й останнім часом не отримували жодних новин, я коротко поясню великі мовні моделі або LLM.
LLM — це складна система штучного інтелекту, створена для імітації людського розуміння та генерування тексту. Навчаючись на величезних наборах даних, ці моделі розрізняють складні закономірності, вловлюють лінгвістичні тонкощі та створюють узгоджені результати.
Якщо вам цікаво, як взаємодіяти з цими моделями на основі штучного інтелекту, є два основні способи зробити це:
- Найпоширеніший і прямий спосіб - це розмова або чат з моделлю. Він передбачає створення підказки, надсилання її до моделі на основі штучного інтелекту та отримання текстового виводу як відповіді.
- Інший метод - це перетворення тексту в числові масиви. Цей процес передбачає створення підказки для ШІ та отримання числового масиву у відповідь. Те, що зазвичай називають «вбудовуванням». Нещодавно він пережив сплеск векторних баз даних і семантичного пошуку.
І саме ці дві основні проблеми LangChain намагається вирішити. Якщо вас цікавлять основні проблеми взаємодії з LLM, ви можете переглянути цю статтю тут.
LangChain — це фреймворк з відкритим вихідним кодом, створений на базі LLM. Він пропонує арсенал інструментів, компонентів та інтерфейсів, які оптимізують архітектуру додатків, керованих LLM.
З LangChain взаємодія з мовними моделями, взаємозв’язок різноманітних компонентів і включення ресурсів, таких як API та бази даних, стає легким. Ця інтуїтивно зрозуміла структура суттєво спрощує процес розробки програми LLM.
Основна ідея Long Chain полягає в тому, що ми можемо з’єднувати разом різні компоненти або модулі, також відомі як ланцюги, щоб створювати більш складні рішення на базі LLM.
Ось деякі відмінні функції LangChain:
- Настроювані шаблони підказок для стандартизації нашої взаємодії.
- Компоненти ланцюга, розроблені для складних випадків використання.
- Повна інтеграція з провідними мовними моделями, включаючи GPT OpenAI і HuggingFace Hub.
- Модульні компоненти для комбінованого підходу для оцінки будь-якої конкретної проблеми чи завдання.
Зображення автора
LangChain відрізняється своєю орієнтацією на адаптивність і модульний дизайн.
Основна ідея LangChain полягає в розбитті послідовності обробки природної мови на окремі частини, що дозволяє розробникам налаштовувати робочі процеси відповідно до своїх вимог.
Така універсальність позиціонує LangChain як найкращий вибір для створення рішень ШІ в різних ситуаціях і галузях.
Деякі з його найважливіших компонентів...
Зображення автора
1. LLMs
LLMs є основними компонентами, які використовують величезні обсяги навчальних даних для розуміння та створення тексту, схожого на людину. Вони є основою багатьох операцій у LangChain, надаючи необхідні можливості обробки мови для аналізу, інтерпретації та відповіді на введений текст.
Використання: Підтримка чат-ботів, створення тексту, схожого на людину, для різних програм, допомога в пошуку інформації та виконання інших мовних процесів
2. Шаблони підказок
Підказки є основоположними для взаємодії з LLM, і під час роботи над конкретними завданнями їх структура, як правило, схожа. Шаблони підказок, які є попередньо встановленими підказками, які можна використовувати в різних мережах, дозволяють стандартизувати «підказки» шляхом додавання певних значень. Це підвищує адаптивність і налаштування будь-якого LLM.
Використання: Стандартизація процесу взаємодії з LLM.
3. Парсери виводу
Синтаксичні аналізатори виводу — це компоненти, які отримують вихідні дані з попереднього етапу в ланцюжку та перетворюють їх у структурований формат. Потім ці структуровані дані можна більш ефективно використовувати на наступних етапах або надати як відповідь кінцевому користувачеві.
Використання: Наприклад, у чат-боті синтаксичний аналізатор виводу може взяти необроблений текстовий відповідь із мовної моделі, витягти ключові частини інформації та відформатувати їх у структуровану відповідь.
4. Компоненти та ланцюги
У LangChain кожен компонент діє як модуль, відповідальний за певне завдання в послідовності обробки мови. Ці компоненти можна з’єднати у форму ланцюга для індивідуальних робочих процесів.
Використання: Створення ланцюжків виявлення настроїв і генераторів відповідей у конкретному чат-боті.
5 Пам'ять
Пам’ять у LangChain відноситься до компонента, який забезпечує механізм зберігання та пошуку інформації в робочому процесі. Цей компонент дозволяє тимчасово або постійно зберігати дані, які можуть бути доступні та маніпулювати іншими компонентами під час взаємодії з LLM.
Використання: Це корисно в сценаріях, коли дані потрібно зберігати на різних етапах обробки, наприклад, зберігати історію розмов у чат-боті для надання контекстно-залежних відповідей.
6. Агенти
Агенти — це автономні компоненти, здатні виконувати дії на основі даних, які вони обробляють. Вони можуть взаємодіяти з іншими компонентами, зовнішніми системами або користувачами для виконання певних завдань у робочому процесі LangChain.
Використання: Наприклад, агент може керувати взаємодією користувачів, обробляти вхідні запити та координувати потік даних через ланцюжок для створення відповідних відповідей.
7. Індекси та ретривери
Індекси та ретрівери відіграють вирішальну роль у ефективному управлінні даними та доступі до них. Індекси — це структури даних, що містять інформацію та метадані з навчальних даних моделі. З іншого боку, ретривери — це механізми, які взаємодіють із цими індексами, щоб отримати відповідні дані на основі визначених критеріїв і дозволити моделі краще відповідати, надаючи відповідний контекст.
Використання: Вони допомагають швидко отримувати відповідні дані або документи з великого набору даних, що важливо для таких завдань, як пошук інформації або відповіді на запитання.
8. Трансформери документів
У LangChain Document Transformers — це спеціалізовані компоненти, призначені для обробки та трансформації документів у спосіб, який робить їх придатними для подальшого аналізу чи обробки. Ці перетворення можуть включати такі завдання, як нормалізація тексту, вилучення функцій або перетворення тексту в інший формат.
Використання: Підготовка текстових даних для наступних етапів обробки, таких як аналіз за допомогою моделей машинного навчання або індексування для ефективного пошуку.
9. Вбудовування моделей
Вони використовуються для перетворення текстових даних у числові вектори у просторі великої розмірності. Ці моделі фіксують семантичні зв’язки між словами та фразами, забезпечуючи машиночитане представлення. Вони формують основу для різноманітних завдань обробки природної мови (NLP) в екосистемі LangChain.
Використання: Полегшення семантичного пошуку, порівняння подібності та виконання інших завдань машинного навчання за допомогою числового представлення тексту.
10. Векторні магазини
Тип системи бази даних, яка спеціалізується на зберіганні та пошуку інформації через вбудовування, по суті, аналізуючи числове представлення текстових даних. VectorStore служить сховищем для цих вбудовувань.
Використання: Дозволяє ефективний пошук на основі семантичної подібності.
Встановлення за допомогою PIP
Перше, що нам потрібно зробити, це переконатися, що в нашому середовищі встановлено LangChain.
pip install langchain
Налаштування оточення
Використання LangChain зазвичай означає інтеграцію з різними постачальниками моделей, сховищами даних, API та іншими компонентами. І як ви вже знаєте, як і будь-яка інтеграція, надання відповідних і правильних ключів API має вирішальне значення для роботи LangChain.
Уявіть, що ми хочемо використовувати наш OpenAI API. Ми можемо легко зробити це двома способами:
- Налаштування ключа як змінної середовища
OPENAI_API_KEY="..."
or
import os
os.environ['OPENAI_API_KEY'] = “...”
Якщо ви вирішите не встановлювати змінну середовища, у вас є можливість надати ключ безпосередньо через іменований параметр openai_api_key під час ініціювання класу OpenAI LLM:
- Безпосередньо налаштуйте ключ у відповідному класі.
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="...")
Перемикання між LLM стає простим
LangChain надає клас LLM, який дозволяє нам взаємодіяти з різними постачальниками мовних моделей, такими як OpenAI і Hugging Face.
Розпочати роботу з будь-яким LLM досить легко, оскільки найосновнішою та найпростішою для реалізації функціональністю будь-якого LLM є просто генерування тексту.
Однак запитати ту саму підказку в різних LLM одночасно не так просто.
Тут починає працювати LangChain...
Повертаючись до найпростіших функціональних можливостей будь-якого LLM, ми можемо легко створити програму за допомогою LangChain, яка отримує рядковий запит і повертає вихідні дані нашого призначеного LLM.
Код за автором
Ми можемо просто використати той самий запит і отримати відповідь двох різних моделей за кілька рядків коду!
Код за автором
Вражаюче… правда?
Надання структури нашим підказкам за допомогою шаблонів підказок
Загальною проблемою мовних моделей (LLM) є їхня нездатність розширювати складні програми. LangChain вирішує це, пропонуючи рішення для оптимізації процесу створення підказок, який часто складніший, ніж просто визначення завдання, оскільки вимагає окреслення особистості ШІ та забезпечення фактичної точності. Значна частина цього включає повторюваний шаблонний текст. LangChain полегшує це, пропонуючи шаблони підказок, які автоматично включають шаблонний текст у нові підказки, таким чином спрощуючи створення підказок і забезпечуючи узгодженість між різними завданнями.
Код за автором
Отримання структурованих відповідей за допомогою аналізаторів виводу
Під час взаємодії в чаті результатом моделі є лише текст. Однак у програмних додатках структурований вихід є кращим, оскільки він дозволяє виконувати подальші дії з програмування. Наприклад, під час створення набору даних бажано отримати відповідь у певному форматі, наприклад CSV або JSON. Якщо припустити, що підказку можна сформувати так, щоб викликати узгоджену та відповідним чином відформатовану відповідь від штучного інтелекту, потрібні інструменти для керування цими результатами. LangChain задовольняє цю вимогу, пропонуючи інструменти синтаксичного аналізу виводу для обробки та ефективного використання структурованого виводу.
Код за автором
Ви можете перевірити весь код на моєму сайті GitHub.
Нещодавно розширені можливості ChatGPT викликали у нас захват. Тим не менш, технологічне середовище постійно змінюється, і тепер такі інструменти, як LangChain, у нас під рукою, що дозволяє нам створювати видатні прототипи з наших персональних комп’ютерів лише за кілька годин.
LangChain, безкоштовна платформа Python, надає користувачам засоби для розробки додатків на базі LLM (моделі мовної моделі). Ця платформа надає гнучкий інтерфейс для різноманітних базових моделей, оптимізуючи швидку обробку та діючи як сполучна ланка для таких елементів, як шаблони підказок, більше LLM, зовнішня інформація та інші ресурси через агентів, згідно з поточною документацією.
Уявіть собі чат-ботів, цифрових помічників, інструменти мовного перекладу та утиліти аналізу настроїв; усі ці програми з підтримкою LLM оживають із LangChain. Розробники використовують цю платформу для створення індивідуальних рішень мовної моделі, які задовольняють окремі вимоги.
У міру того, як розширюється горизонт обробки природної мови та поглиблюється її прийняття, сфера її застосування здається безмежною.
Хосеп Феррер – інженер-аналітик із Барселони. Він закінчив інженер-фізику та зараз працює в галузі Data Science, що стосується людської мобільності. Він неповний робочий день створює контент, який зосереджується на науці даних і технологіях. Ви можете зв'язатися з ним на LinkedIn, Twitter or Medium.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://www.kdnuggets.com/how-to-make-large-language-models-play-nice-with-your-software-using-langchain?utm_source=rss&utm_medium=rss&utm_campaign=how-to-make-large-language-models-play-nice-with-your-software-using-langchain
- : має
- :є
- : ні
- :де
- $UP
- 7
- a
- здатність
- доступний
- доступ до
- виконувати
- точність
- через
- діючий
- дії
- акти
- додати
- адреса
- адреси
- адресація
- Прийняття
- просунутий
- Агент
- агенти
- назад
- AI
- Можливість
- ВСІ
- дозволяти
- Дозволити
- дозволяє
- вже
- Також
- серед
- суми
- an
- аналіз
- аналітика
- аналізувати
- Аналізуючи
- на якорі
- та
- будь-який
- API
- Інтерфейси
- додаток
- Розробка додатка
- застосування
- прикладної
- підхід
- відповідний
- архітектура
- ЕСТЬ
- навколо
- масив
- арсенал
- стаття
- штучний
- штучний інтелект
- AS
- запитувач
- оцінити
- Активи
- помічники
- At
- автономний
- доступний
- СТРАГАННЯ
- назад
- Барселона
- заснований
- основний
- BE
- ставати
- стає
- було
- за
- Краще
- між
- Boundless
- Розрив
- коротко
- Приносить
- будувати
- Створюємо
- побудований
- by
- CAN
- можливості
- здатний
- захоплення
- випадок
- випадків
- обслуговує
- печера
- ланцюг
- ланцюга
- Chatbot
- chatbots
- ChatGPT
- в чаті
- перевірка
- вибір
- Вибирати
- клас
- код
- КОГЕРЕНТНИЙ
- Приходити
- загальний
- зазвичай
- Комунікація
- порівняння
- комплекс
- компонент
- Компоненти
- комп'ютери
- З'єднуватися
- підключений
- послідовний
- контакт
- зміст
- контекст
- Розмова
- Перетворення
- конвертувати
- перетворення
- координувати
- Core
- виправити
- виробити
- створений
- створювати
- створення
- створення
- творець
- Критерії
- вирішальне значення
- Поточний
- В даний час
- настройка
- налаштувати
- налаштувати
- дані
- наука про дані
- набори даних
- Database
- базами даних
- поглиблюється
- визначаючи
- поставляється
- постачає
- дизайн
- призначені
- призначений
- бажаний
- Виявлення
- розвивати
- розробників
- розробка
- прилади
- різний
- цифровий
- прямий
- безпосередньо
- розрізнення
- чіткий
- Видатний
- Різне
- do
- документ
- документація
- документація
- вниз
- під час
- кожен
- Найпростіший
- легко
- легко
- екосистема
- фактично
- ефективний
- продуктивно
- елементи
- вбудовування
- дозволяє
- кінець
- залучення
- інженер
- Машинобудування
- Підсилює
- величезний
- забезпечення
- Навколишнє середовище
- ескалація
- істотний
- по суті
- встановити
- Ефір (ETH)
- постійно змінюється
- приклад
- розширюється
- досвідчений
- Пояснювати
- зовнішній
- витяг
- видобуток
- Face
- Об'єкт
- Фактичні
- особливість
- риси
- кілька
- поле
- кінчики пальців
- Перший
- гнучкий
- потік
- рідина
- Сфокусувати
- увагу
- для
- форма
- формат
- фонд
- Основоположний
- Рамки
- вільно
- від
- функціональність
- фундаментальний
- далі
- породжувати
- породжує
- покоління
- генеративний
- Генеративний ШІ
- generator
- отримати
- отримання
- Go
- Google,
- схопити
- рука
- обробляти
- Обробка
- Мати
- має
- he
- його
- історія
- проведення
- горизонт
- ГОДИННИК
- Як
- How To
- HTTPS
- Концентратор
- HuggingFace
- людина
- Я БУДУ
- ідея
- if
- імпорт
- важливо
- in
- нездатність
- включати
- У тому числі
- Вхідний
- включення
- покажчики
- індивідуальний
- промисловості
- інформація
- ініціювання
- вхід
- встановлювати
- екземпляр
- інструментальний
- Інтеграція
- інтеграція
- інтеграцій
- Інтелект
- взаємодіяти
- взаємодіючих
- взаємодія
- Взаємодії
- зацікавлений
- інтерфейс
- Інтерфейси
- взаємозв'язок
- в
- складний
- інтуїтивний
- включає в себе
- питання
- IT
- ЙОГО
- подорож
- json
- просто
- KDnuggets
- ключ
- ключі
- Kicks
- Знати
- відомий
- ландшафт
- мова
- великий
- провідний
- вивчення
- залишити
- Важіль
- життя
- як
- ліній
- LINK
- життя
- Лама
- Довго
- машина
- навчання за допомогою машини
- головний
- зробити
- РОБОТИ
- управляти
- вдалося
- управління
- маніпулювати
- багато
- Маркетинг
- Може..
- засоби
- механізм
- механізми
- просто
- метадані
- метод
- може бути
- мобільність
- модель
- Моделі
- модульний
- Модулі
- Модулі
- більше
- найбільш
- my
- Названий
- рідний
- Природний
- Природна мова
- Обробка природних мов
- необхідно
- Необхідність
- потреби
- Нові
- новини
- зв'язок
- приємно
- nlp
- зараз
- of
- пропонує
- часто
- on
- один раз
- з відкритим вихідним кодом
- OpenAI
- операція
- операції
- варіант
- or
- OS
- Інше
- наші
- окреслення
- вихід
- виходи
- видатний
- параметр
- частина
- приватність
- частини
- моделі
- Люди
- виконувати
- виконанні
- персонал
- Персональні комп'ютери
- фрази
- Фізика
- частин
- платформа
- plato
- Інформація про дані Платона
- PlatoData
- Play
- Поезія
- позиції
- потенціал
- точно
- кращий
- Prime
- Проблема
- проблеми
- процес
- обробка
- виробляти
- Програмування
- підказок
- Прототипи
- забезпечувати
- провайдери
- забезпечує
- забезпечення
- Python
- питання
- швидко
- досить
- Сировина
- царство
- отримання
- останній
- відноситься
- Відносини
- доречний
- повторювані
- відповісти
- подання
- запитів
- вимагати
- вимога
- Вимога
- Вимагається
- ресурси
- Реагувати
- відповідь
- відповіді
- відповідальний
- зберігся
- повертати
- Умови повернення
- революційні
- право
- Роль
- s
- то ж
- сценарії
- наука
- Наука і технології
- scripts
- Пошук
- пошук
- Сектори
- Здається,
- відправка
- настрій
- Послідовність
- служить
- комплект
- набори
- установка
- значний
- аналогічний
- спрощує
- спрощення
- просто
- ситуацій
- So
- Софтвер
- рішення
- Рішення
- деякі
- складний
- Простір
- спеціалізований
- спеціалізується
- конкретний
- зазначений
- Стажування
- етапи
- стандартизація
- почалася
- Як і раніше
- зберігання
- зберігати
- магазинів
- раціоналізувати
- упорядкування
- рядок
- структура
- структурований
- структур
- наступні
- по суті
- такі
- підходящий
- поставки
- Переконайтеся
- сплеск
- система
- Systems
- таблиця
- з урахуванням
- Приймати
- взяття
- говорити
- Завдання
- завдання
- технологічний
- Технологія
- Шаблони
- тимчасовий
- має тенденцію
- текст
- текстуальний
- ніж
- Що
- Команда
- їх
- Їх
- потім
- Там.
- Ці
- вони
- річ
- це
- ті
- хоча?
- через
- Таким чином
- до
- сьогодні
- разом
- інструменти
- Навчання
- Перетворення
- перетворень
- Трансформатори
- Переклад
- підручник
- два
- типово
- розуміти
- розуміння
- невикористані
- us
- корисний
- використання
- використовуваний
- користувач
- користувачі
- використання
- комунальні послуги
- використовувати
- Цінності
- змінна
- різноманітність
- різний
- величезний
- Універсальність
- дуже
- через
- хотіти
- шлях..
- способи
- we
- Що
- Що таке
- коли
- який
- всі
- широкий
- з
- в
- дивуватися
- слова
- робочий
- Робочі процеси
- робочий
- ще
- ви
- вашу
- зефірнет