LangChain
Узнайте, как LangChain упрощает разработку приложений LLM. Узнайте, как соединить модели искусственного интеллекта с данными в реальном времени и интегрировать Ultralytics для задач машинного зрения.
LangChain — это фреймворк с открытым исходным кодом, разработанный для упрощения разработки приложений на основе
больших языковых моделей (LLM). Хотя LLM
, такие как GPT-4, сами по себе являются мощными инструментами, они часто работают в
изоляции, не учитывая данные в реальном времени или конкретный бизнес-контекст. LangChain действует как мост, позволяя
разработчикам объединять различные компоненты, такие как подсказки, модели и внешние источники данных, для создания
сложных приложений, учитывающих контекст. Управляя сложностью этих взаимодействий, LangChain позволяет
системам искусственного интеллекта (ИИ)
анализировать проблемы и принимать решения на основе динамических входных данных.
Основные компоненты LangChain
Фреймворк построен на основе нескольких модульных концепций, которые совместно работают над улучшением
рабочих процессов обработки естественного языка (NLP)
.
-
Цепочки: Цепочка — это фундаментальный строительный блок, представляющий собой последовательность вызовов LLM или других
утилит. Например, простая цепочка может принимать ввод пользователя, форматировать его с помощью
шаблона инженерного запроса и передавать его в
модель для генерации ответа. Более сложные цепочки могут последовательно выполнять несколько вызовов, причем выходные данные одного шага становятся
входными данными для следующего.
-
Агенты: в отличие от цепочек, которые следуют жестко заданной последовательности,
ИИ-агент использует LLM в качестве механизма рассуждений, чтобы определить,
какие действия следует предпринять и в каком порядке. Агенты могут запрашивать API, искать в Интернете или получать доступ к базам данных, чтобы отвечать на
вопросы, требующие актуальных знаний.
-
Поиск: чтобы основать ответы модели на фактических данных, LangChain облегчает
генерацию с расширенным поиском (RAG). Это включает в себя извлечение соответствующих документов из
векторной базы данных на основе запросов пользователя и подачу
их в контекстное окно модели.
-
Память: стандартные LLM являются безсостоятельными, то есть они забывают предыдущие взаимодействия. LangChain предоставляет
компоненты памяти, которые позволяют чат-ботам сохранять контекст в течение разговора, имитируя непрерывность человеческого
диалога.
Применение в реальном мире
LangChain играет важную роль в переносе генеративного ИИ из экспериментальных ноутбуков в производственные среды в различных
отразях промышленности.
-
Общение с вашими данными (RAG): Одно из наиболее распространенных применений — поиск по корпоративным данным. Компании используют
LangChain для ввода внутренней документации, PDF-файлов или технических руководств в индекс, доступный для поиска. Когда сотрудник
задает вопрос, система извлекает соответствующий абзац и передает его в LLM, гарантируя, что ответ будет
точным и основанным на данных компании, а не выдуманным. Это значительно улучшает
передачу знаний внутри
организаций.
-
Мультимодальный анализ: LangChain может координировать рабочие процессы, которые объединяют текст с другими модальностями,
такими как компьютерное зрение (CV). Например,
система безопасности может использовать обнаружение объектов для
идентификации посторонних лиц, а затем запускать агент LangChain для составления отчета об инциденте и отправки его по электронной почте
руководителю.
Интеграция с компьютерным зрением
Синергия между структурированными визуальными данными и лингвистическим мышлением является мощной областью развития. Разработчики могут
использовать высокопроизводительные модели, такие как Ultralytics , для
извлечения подробной информации из изображений, такой как количество объектов, классы или местоположения, и передавать эти структурированные данные
в рабочий процесс LangChain для дальнейшего анализа или описания на естественном языке.
Следующее Python демонстрирует, как извлечь обнаруженные названия классов
с помощью Ultralytics , создавая текстовый контекст, который можно передать в последующую языковую цепочку.
from ultralytics import YOLO
# Load the YOLO26 model to generate structured data for a chain
model = YOLO("yolo26n.pt")
# Run inference on an image URL
results = model("https://ultralytics.com/images/bus.jpg")
# Extract detection class names to feed into a LangChain prompt
detections = [model.names[int(c)] for c in results[0].boxes.cls]
# Format the output as a context string for an LLM
chain_input = f"The image contains the following objects: {', '.join(detections)}."
print(chain_input)
Различие ключевых терминов
Важно отличать LangChain от технологий, которые он координирует:
-
LangChain против LLM:
LLM (например, GPT-4 от OpenAI или Claude Anthropic) — это «мозг», который обрабатывает и генерирует текст.
LangChain — это «каркас» или инфраструктура, которая соединяет этот мозг с
конвейерами предварительной обработки данных, API и пользовательскими
интерфейсами.
-
LangChain против Prompt Engineering:
Prompt engineering фокусируется на создании оптимального текстового ввода для получения наилучшего результата от модели. LangChain
автоматизирует управление этими подсказками, позволяя использовать динамические
шаблоны подсказок, которые
заполняются данными программно перед отправкой в модель.
Разработчикам, желающим создать надежные системы искусственного интеллекта, рекомендуется ознакомиться с
официальной документацией LangChain, содержащей подробные
технические сведения, а также с Ultralytics , предлагающей необходимые
инструменты для интеграции современных возможностей машинного зрения в эти интеллектуальные рабочие процессы. Кроме того, пользователи могут
использовать Ultralytics для управления наборами данных и конвейерами обучения,
которые питают эти передовые мультимодальные системы.