Изображение от редактора
Модели больших языков (LLM), такие как GPT-3 от OpenAI, BERT от Google и LLaMA от Meta, производят революцию в различных секторах благодаря своей способности генерировать широкий спектр текста — от маркетинговых текстов и сценариев обработки данных до поэзии.
Несмотря на то, что интуитивно понятный интерфейс ChatGPT сегодня присутствует на устройствах большинства людей, все еще существует огромный неиспользованный потенциал для использования LLM в различных интеграциях программного обеспечения.
Главная проблема?
Большинство приложений требуют более гибкого и естественного взаимодействия с LLM.
И именно здесь в дело вступает LangChain!
Если вы интересуетесь генеративным искусственным интеллектом и LLM, это руководство создано специально для вас.
Итак, начнем!
На тот случай, если вы жили в пещере и в последнее время не получали никаких новостей, я кратко объясню модели большого языка или LLM.
LLM — это сложная система искусственного интеллекта, созданная для имитации человеческого понимания и генерации текста. Обучаясь на огромных наборах данных, эти модели различают сложные закономерности, улавливают лингвистические тонкости и выдают последовательные результаты.
Если вам интересно, как взаимодействовать с этими моделями на базе искусственного интеллекта, есть два основных способа сделать это:
- Самый распространенный и прямой способ — поговорить или пообщаться с моделью. Он включает в себя создание запроса, отправку его в модель на базе искусственного интеллекта и получение текстового вывода в качестве ответа.
- Другой метод — преобразование текста в числовые массивы. Этот процесс включает в себя составление запроса для ИИ и получение взамен числового массива. То, что обычно называют «встраиванием». В последнее время наблюдается всплеск векторных баз данных и семантического поиска.
И именно эти две основные проблемы пытается решить LangChain. Если вас интересуют основные проблемы взаимодействия с LLM, вы можете ознакомиться с этой статьей. здесь.
LangChain — это платформа с открытым исходным кодом, построенная на основе LLM. Он предоставляет арсенал инструментов, компонентов и интерфейсов, которые оптимизируют архитектуру приложений на основе LLM.
Благодаря LangChain взаимодействие с языковыми моделями, связывание различных компонентов и включение таких ресурсов, как API и базы данных, становится проще простого. Эта интуитивно понятная структура существенно упрощает процесс разработки приложений LLM.
Основная идея Long Chain заключается в том, что мы можем соединять вместе различные компоненты или модули, также известные как цепочки, для создания более сложных решений на базе LLM.
Вот некоторые выдающиеся особенности LangChain:
- Настраиваемые шаблоны подсказок для стандартизации нашего взаимодействия.
- Компоненты звеньев цепи, специально разработанные для сложных случаев использования.
- Бесшовная интеграция с ведущими языковыми моделями, включая GPT OpenAI и модели HuggingFace Hub.
- Модульные компоненты для комплексного подхода для оценки любой конкретной проблемы или задачи.
Изображение по автору
LangChain отличается акцентом на адаптируемость и модульный дизайн.
Основная идея LangChain — разбить последовательность обработки естественного языка на отдельные части, что позволяет разработчикам настраивать рабочие процессы в соответствии со своими требованиями.
Такая универсальность делает LangChain лучшим выбором для создания решений искусственного интеллекта в различных ситуациях и отраслях.
Некоторые из его наиболее важных компонентов…
Изображение по автору
1. Магистр права
LLM — это фундаментальные компоненты, которые используют огромные объемы обучающих данных для понимания и создания текста, похожего на человеческий. Они лежат в основе многих операций в LangChain, обеспечивая необходимые возможности языковой обработки для анализа, интерпретации и реагирования на ввод текста.
Применение: Поддержка чат-ботов, генерация текста, похожего на человеческий, для различных приложений, помощь в поиске информации и выполнение другой языковой обработки.
2. Шаблоны подсказок
Подсказки имеют основополагающее значение для взаимодействия с LLM, и при работе над конкретными задачами их структура обычно аналогична. Шаблоны подсказок, представляющие собой предустановленные подсказки, которые можно использовать в цепочках, позволяют стандартизировать «подсказки» путем добавления определенных значений. Это повышает адаптируемость и настройку любого LLM.
Применение: Стандартизация процесса взаимодействия с LLM.
3. Парсеры вывода
Синтаксические анализаторы вывода — это компоненты, которые принимают необработанные выходные данные предыдущего этапа цепочки и преобразуют их в структурированный формат. Эти структурированные данные затем можно более эффективно использовать на последующих этапах или доставлять в качестве ответа конечному пользователю.
Применение: Например, в чат-боте синтаксический анализатор вывода может брать необработанный текстовый ответ из языковой модели, извлекать ключевые фрагменты информации и форматировать их в структурированный ответ.
4. Компоненты и цепи
В LangChain каждый компонент действует как модуль, отвечающий за определенную задачу в последовательности обработки языка. Эти компоненты можно соединить в форму цепи для индивидуальных рабочих процессов.
Применение: Создание цепочек генераторов настроений и ответов в конкретном чат-боте.
5. Память
Память в LangChain — это компонент, который обеспечивает механизм хранения и извлечения информации в рамках рабочего процесса. Этот компонент позволяет временно или постоянно хранить данные, к которым другие компоненты могут получать доступ и управлять ими во время взаимодействия с LLM.
Применение: Это полезно в сценариях, где данные необходимо сохранять на разных этапах обработки, например, при хранении истории разговоров в чат-боте для предоставления контекстно-зависимых ответов.
6. Агенты
Агенты — это автономные компоненты, способные выполнять действия на основе обрабатываемых ими данных. Они могут взаимодействовать с другими компонентами, внешними системами или пользователями для выполнения конкретных задач в рамках рабочего процесса LangChain.
Применение: Например, агент может обрабатывать взаимодействия с пользователем, обрабатывать входящие запросы и координировать поток данных по цепочке для генерации соответствующих ответов.
7. Индексы и ретриверы
Индексы и ретриверы играют решающую роль в эффективном управлении данными и доступе к ним. Индексы — это структуры данных, содержащие информацию и метаданные из данных обучения модели. С другой стороны, ретриверы — это механизмы, которые взаимодействуют с этими индексами для извлечения соответствующих данных на основе заданных критериев и позволяют модели лучше реагировать, предоставляя соответствующий контекст.
Применение: Они способствуют быстрому извлечению соответствующих данных или документов из большого набора данных, что важно для таких задач, как поиск информации или ответы на вопросы.
8. Преобразователи документов
В LangChain преобразователи документов — это специализированные компоненты, предназначенные для обработки и преобразования документов таким образом, чтобы они были пригодны для дальнейшего анализа или обработки. Эти преобразования могут включать в себя такие задачи, как нормализация текста, извлечение признаков или преобразование текста в другой формат.
Применение: Подготовка текстовых данных для последующих этапов обработки, таких как анализ с помощью моделей машинного обучения или индексирование для эффективного поиска.
9. Встраивание моделей
Они используются для преобразования текстовых данных в числовые векторы в многомерном пространстве. Эти модели фиксируют семантические отношения между словами и фразами, обеспечивая машиночитаемое представление. Они формируют основу для различных последующих задач обработки естественного языка (NLP) в экосистеме LangChain.
Применение: Облегчение семантического поиска, сравнения сходства и других задач машинного обучения за счет предоставления числового представления текста.
10. Векторные магазины
Тип системы баз данных, которая специализируется на хранении и поиске информации посредством вложений, по существу анализируя числовые представления текстовых данных. VectorStore служит хранилищем для этих вложений.
Применение: Обеспечение эффективного поиска на основе семантического сходства.
Установка с помощью PIP
Первое, что нам нужно сделать, это убедиться, что в нашей среде установлен LangChain.
pip install langchain
Настройка среды
Использование LangChain обычно означает интеграцию с различными поставщиками моделей, хранилищами данных, API и другими компонентами. И, как вы уже знаете, как и любая интеграция, предоставление соответствующих и правильных ключей API имеет решающее значение для работы LangChain.
Представьте, что мы хотим использовать наш API OpenAI. Мы можем легко сделать это двумя способами:
- Настройка ключа как переменной среды
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. Разработчики используют эту платформу для создания индивидуальных решений языковой модели, отвечающих конкретным требованиям.
По мере расширения горизонтов обработки естественного языка и углубления его применения сфера его применения кажется безграничной.
Хосеп Феррер инженер-аналитик из Барселоны. Он получил диплом инженера-физика и в настоящее время работает в области науки о данных, применяемой к человеческой мобильности. Он по совместительству создает контент, специализирующийся на науке о данных и технологиях. Вы можете связаться с ним по LinkedIn, Twitter or Medium.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: 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
- API
- Применение
- Разработка приложения
- Приложения
- прикладной
- подхода
- соответствующий
- архитектура
- МЫ
- около
- массив
- Арсенал
- гайд
- искусственный
- искусственный интеллект
- AS
- спрашивающий
- оценить
- Активы
- помощники
- At
- автономный
- доступен
- ТРЕПЕТ
- назад
- Барселона
- основанный
- основной
- BE
- становиться
- становится
- было
- за
- Лучшая
- между
- Безграничный
- Разрыв
- кратко
- Приносит
- строить
- Строительство
- построенный
- by
- CAN
- возможности
- способный
- захватить
- случаев
- случаев
- обслуживает
- пещера
- цепь
- цепи
- Chatbot
- chatbots
- ChatGPT
- в чате
- проверка
- выбор
- Выберите
- класс
- код
- ПОСЛЕДОВАТЕЛЬНЫЙ
- как
- Общий
- обычно
- Связь
- сравнения
- комплекс
- компонент
- компоненты
- компьютеры
- Свяжитесь
- подключенный
- последовательный
- обращайтесь
- содержание
- контекст
- Разговор
- Конверсия
- конвертировать
- преобразование
- координировать
- Основные
- исправить
- выработать
- проработаны
- Создайте
- Создающий
- создание
- создатель
- Критерии
- решающее значение
- Текущий
- В настоящее время
- настройка
- настроить
- подгонянный
- данным
- наука о данных
- наборы данных
- База данных
- базы данных
- углубляется
- определяющий
- поставляется
- обеспечивает
- Проект
- назначенный
- предназначенный
- желанный
- обнаружение
- развивать
- застройщиков
- Развитие
- Устройства
- различный
- Интернет
- направлять
- непосредственно
- усмотреть
- отчетливый
- Выдающийся
- Разное
- do
- документ
- документации
- Документация
- вниз
- в течение
- каждый
- Простейший
- легко
- легко
- экосистема
- фактически
- эффективный
- эффективно
- элементы
- вложения
- позволяет
- конец
- привлечение
- инженер
- Проект и
- Усиливает
- огромный
- обеспечение
- Окружающая среда
- обострять
- существенный
- по существу
- установить
- Эфир (ETH)
- постоянно меняющихся
- пример
- раскрываться
- опытные
- Объяснять
- и, что лучший способ
- извлечение
- добыча
- Face
- Объект
- Фактический
- Особенность
- Особенности
- несколько
- поле
- Кончики пальцев
- Во-первых,
- гибкого
- поток
- жидкость
- Фокус
- внимание
- Что касается
- форма
- формат
- Год основания
- основополагающие
- Рамки
- свободно
- от
- функциональность
- фундаментальный
- далее
- порождать
- порождающий
- поколение
- генеративный
- Генеративный ИИ
- генератор
- получить
- получающий
- Go
- схватывание
- рука
- обрабатывать
- Управляемость
- Есть
- имеющий
- he
- его
- история
- проведение
- горизонт
- ЧАСЫ
- Как
- How To
- HTTPS
- хаб
- ОбниматьЛицо
- человек
- БОЛЬНОЙ
- идея
- if
- Импортировать
- важную
- in
- неспособность
- включают
- В том числе
- Входящий
- включения
- Индексы
- individual
- промышленности
- информация
- инициирование
- вход
- устанавливать
- пример
- инструментальный
- Интегрируя
- интеграции.
- интеграций
- Интеллекта
- взаимодействовать
- взаимодействующий
- взаимодействие
- взаимодействие
- заинтересованный
- Интерфейс
- интерфейсы
- взаимосвязанный
- в
- запутанный
- интуитивный
- включает в себя
- вопрос
- IT
- ЕГО
- путешествие
- JSON
- всего
- КДнаггетс
- Основные
- ключи
- Kicks
- Знать
- известный
- пейзаж
- язык
- большой
- ведущий
- изучение
- оставил
- Кредитное плечо
- ЖИЗНЬЮ
- такое как
- линий
- LINK
- жизнью
- Лама
- Длинное
- машина
- обучение с помощью машины
- Главная
- сделать
- ДЕЛАЕТ
- управлять
- управляемого
- управления
- манипулировать
- многих
- Маркетинг
- Май..
- означает
- механизм
- механизмы
- просто
- Метаданные
- метод
- может быть
- мобильность
- модель
- Модели
- модульный
- модуль
- Модули
- БОЛЕЕ
- самых
- my
- Названный
- родной
- натуральный
- Естественный язык
- Обработка естественного языка
- необходимо
- Необходимость
- потребности
- Новые
- Новости
- нексус
- хороший
- НЛП
- сейчас
- of
- предлагающий
- .
- on
- консолидировать
- с открытым исходным кодом
- OpenAI
- операция
- Операционный отдел
- Опция
- or
- OS
- Другое
- наши
- с изложением
- выходной
- выходы
- выдающийся
- параметр
- часть
- особый
- части
- паттеранами
- Люди
- выполнять
- выполнения
- личного
- Персональные компьютеры
- фразы
- Физика
- штук
- Платформа
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- Играть
- Поэзия
- позиции
- потенциал
- Точно
- предпочтительный
- Простое число
- Проблема
- проблемам
- процесс
- обработка
- производит
- Программирование
- наводящие
- Прототипы
- обеспечивать
- поставщики
- приводит
- обеспечение
- Питон
- вопрос
- быстро
- вполне
- Сырье
- область
- получение
- последний
- понимается
- Отношения
- соответствующие
- повторяющийся
- Ответить
- представление
- Запросы
- требовать
- требование
- Требования
- требуется
- Полезные ресурсы
- Реагируйте
- ответ
- ответы
- ответственный
- сохраняется
- возвращают
- Возвращает
- Революционные
- правую
- Роли
- s
- то же
- Сценарии
- Наука
- Наука и технологии
- скрипты
- Поиск
- поиск
- Сектора юридического права
- кажется
- отправка
- настроение
- Последовательность
- служит
- набор
- Наборы
- установка
- значительный
- аналогичный
- упрощает
- упрощение
- просто
- обстоятельства
- So
- Software
- Решение
- Решения
- некоторые
- сложный
- Space
- специализированный
- специализируется
- конкретный
- указанный
- Этап
- этапы
- стандартизация
- и политические лидеры
- По-прежнему
- диск
- магазин
- магазины
- упорядочить
- упорядочение
- строка
- Структура
- структурированный
- структур
- последующее
- по существу
- такие
- подходящее
- поставки
- Убедитесь
- возникает
- система
- системы
- ТАБЛИЦЫ
- с учетом
- взять
- с
- говорить
- Сложность задачи
- задачи
- технологический
- Технологии
- шаблоны
- временный
- как правило,
- текст
- текстовый
- чем
- который
- Ассоциация
- их
- Их
- тогда
- Там.
- Эти
- они
- задача
- этой
- те
- хоть?
- Через
- Таким образом
- в
- сегодня
- вместе
- инструменты
- Обучение
- Transform
- преобразований
- трансформеры
- Переводы
- учебник
- два
- типично
- понимать
- понимание
- неиспользованный
- us
- годный к употреблению
- использование
- используемый
- Информация о пользователе
- пользователей
- через
- коммунальные услуги
- использовать
- Наши ценности
- переменная
- разнообразие
- различный
- Огромная
- многосторонность
- очень
- с помощью
- хотеть
- Путь..
- способы
- we
- Что
- Что такое
- когда
- который
- все
- широкий
- в
- удивляться
- слова
- рабочий
- Рабочие процессы
- работает
- еще
- являетесь
- ВАШЕ
- зефирнет