LangChain AI агенты (Agents): разработка интеллектуальных AI-систем на Python

LangChain AI агенты

Langchain — это инструмент, который помогает «встроить» эту модель в реальный мир, научить её полезным штукам и заставить делать что-то сложнее, чем просто отвечать на один вопрос.

Больше инструкций, реальных кейсов и примеров из практики по AI для бизнеса, работы и жизни в Telegram-канале, подпишитесь!

Langchain

Ссылка: Langchain 

Как именно он это делает?

Он даёт вам готовые блоки, которые легко соединять между собой. Например:

  • Цепочки (Chains): Это его главная фишка. Можно выстроить последовательность действий. Скажем, не просто «спросил-получил ответ», а: 1) принял вопрос от пользователя, 2) сходил с этим вопросом в интернет, 3) нашёл самые свежие статьи, 4) на их основе сформулировал развёрнутый и актуальный ответ. Всё это — одна цепочка.
  • Инструменты (Tools): Это как дать ИИ руки и уши. Через Langchain модель может сама пользоваться разными сервисами: искать в Google, делать вычисления на калькуляторе, брать данные из вашей базы или отправлять запросы к другим программам.
  • Память (Memory): Чтобы ИИ мог поддерживать беседу и помнил, что вы обсуждали пять минут назад. Без этого каждый ваш вопрос для него — первый и единственный.

В чём, собственно, выгода? Почему его все используют?

  1. Быстрота и простота. Вместо того чтобы писать тонны кода с нуля, чтобы подключиться к нейросети и заставить её что-то делать, вы берёте готовые блоки от Langchain и просто скрепляете их. Прототип работающего помощника можно собрать буквально за день.
  2. Гибкость. Это не жёсткая программа, а именно набор инструментов. Вы можете комбинировать эти «кирпичики» как угодно, создавая именно то, что нужно под вашу задачу — будь то аналитик для ваших данных, умный чат-бот с базой знаний или автоматический писатель отчётов.
  3. Он дружит со всеми. Неважно, какая у вас модель — OpenAI (GPT), Google PaLM или какая-то другая. Langchain работает со многими из них, как универсальный пульт управления. Это избавляет от headache, когда при смене модели придётся переписывать половину проекта.
  4. Подключение к внешнему миру. Это, пожалуй, самое главное. Langchain отлично помогает «скормить» агенту ваши файлы, данные из интернета или внутренней системы компании. То есть он делает ИИ по-настоящему полезным в бизнесе, а не просто игрушкой для генерации текстов.

Если резюмировать: Langchain — это не волшебная таблетка, а очень удобный рабочий инструмент. Он не думает за вас, но он drastically упрощает и ускоряет процесс создания сложных и умных приложений на основе больших языковых моделей.

Как сделать своего агента в langchain agents?

Давай разберем, с чего вообще начинается работа над таким AI-агентом. Первые шаги — самые важные, но в них нет ничего сложного.

Ставим Python и нужные библиотеки

Всё это крутится на Python, так что если он у тебя ещё не стоит — самое время его установить. Лучше всего скачать с официального сайта: python.org.

Чтобы не устраивать в системе хаос и не конфликтовать с другими проектами, мы будем работать в изолированном пространстве — это называется «виртуальное окружение». Создать его очень просто.

Открываешь терминал (командную строку) и пишешь:

bash

# Создаем новое виртуальное окружение с именем «venv»

python -m venv venv

Теперь его нужно «активировать», чтобы все дальнейшие установки шли именно в него. Команда выглядит по-разному для разных операционных систем:

На Windows:

  • cmd
  • venv\Scripts\activate
    После этого в начале строки командной строки должно появиться (venv) — значит, всё получилось.

На macOS или Linux:

  • bash
  • source venv/bin/activate
    Тоже ищи (venv) в начале строки.

Теперь, в этом активированном окружении, ставим всё необходимое одной командой:

bash

pip install langchain openai beautifulsoup4 requests

Здесь:

  • langchain — это наш главный инструмент, каркас для сборки агента.
  • openai — библиотека для работы с нейросетями OpenAI (например, GPT).
  • beautifulsoup4 и requests — полезные утилиты, если твоему агенту потом нужно будет лазать в интернет и читать сайты.

Ключи доступа: даём агенту пропуск в нейросеть

Сам по себе Langchain — это как бы мозг без знаний. Чтобы он мог думать, ему нужно подключиться к большой языковой модели (вроде ChatGPT от OpenAI). Для этого нужен API-ключ — своего рода пропуск и платёжный идентификатор.

Как это сделать:

  1. Идешь на сайт OpenAI (или другой сервис, который выберешь), регистрируешься и находишь в настройках раздел с API-ключами.
  2. Создаешь новый ключ и обязательно копируешь его. 

Теперь самый важный момент: никогда не вставляй этот ключ прямо в код программы. Это небезопасно. Вместо этого нужно поместить его в переменные окружения твоего компьютера.

Проще всего это сделать прямо в терминале. Снова активируешь своё виртуальное окружение (команда activate из предыдущего шага) и пишешь:

  • На macOS/Linux:
  • bash
  • export OPENAI_API_KEY=»вставь_свой_ключ_сюда»
  • На Windows (Command Prompt):
  • cmd
  • set OPENAI_API_KEY=»вставь_свой_ключ_сюда»
  • На Windows (PowerShell):
  • powershell
  • $env:OPENAI_API_KEY=»вставь_свой_ключ_сюда»

После этого твой код, запущенный из этого же окна терминала, сможет прочитать этот ключ и использовать его, сам оставаясь «чистым». Это базовая и правильная практика безопасности.

Вот, собственно, и всё для старта. Дальше уже можно начинать собирать из этих кирпичиков что-то осмысленное.

langchain tools

1. LLM (Большая языковая модель)
Это, если грубо, «мозг» всего проекта. Та самая штука, которая умеет генерировать текст, что-то соображать и отвечать. Например, ChatGPT от OpenAI — это и есть такая модель. В Langchain ты не работаешь с ней напрямую, а просто говоришь: «Эй, я буду использовать вот этот “мозг” для своих целей». Это основа, к которой всё подключается.

2. Prompts (Подсказки или инструкции)
А это — твой способ управления этим «мозгом». Если просто задать ему вопрос, он может ответить не так, как нужно. Поэтому ты создаешь подробную инструкцию (промпт).

Например, не просто «Напиши текст», а «Ты — опытный копирайтер. Напиши короткий, дружелюбный пост для соцсетей о запуске нового кофейного приложения. Используй эмодзи и задай вопрос аудитории в конце».

3. Chains (Цепочки)
Это уже следую level. Часто одна задача — это не один запрос, а целая последовательность. Chain — это как скрипт или алгоритм, который ты пишешь для автоматизации процесса.

Например:

Шаг 1: Попроси LLM придумать идею для блога.

Шаг 2: Возьми результат и попроси на основе идеи написать план.

Шаг 3: По этому плану напиши полный текст.

Вместо того чтобы делать три запроса вручную, ты создаешь Chain, который делает это сам. 

4. Tools (Инструменты)
У самого «мозга» (LLM) есть ограничения. Он не умеет искать в интернете, не знает погоду и не может посчитать сложные уравнения. Для этого ему нужны инструменты — как руки и ноги.

Tool — это любая функция, которая дает агенту доступ к чему-то внешнему: поиск в Google, калькулятор, база данных, твой собственный код. Ты как бы даешь нейросети набор утилит, которыми она может пользоваться.

5. Agents (Агенты)
А вот это — самая интересная и сложная часть. Если Chain — это жёсткий алгоритм (сделай раз, потом два, потом три), то Agent — это уже зачаток искусственного интеллекта, который сам думает, что делать дальше.

Ты даешь агенту:

  • Цель (например, «Узнай, какая сейчас самая популярная книга по программированию, и найди на нее рецензии»).
  • Набор инструментов (Tool’ов) — доступ к поиску, доступ к базам данных и т.д.
  • Доступ к «мозгу» (LLM).

И дальше агент самостоятельно рассуждает: «Так, сначала мне нужно погуглить запрос “самые популярные книги по программированию 2024”. Потом, получив название, я поищу его в API того-то…». Он сам выбирает, какой Tool использовать и в каком порядке, чтобы выполнить задачу.

Если подвести итог:
Ты берешь «мозг» (LLM), учишься давать ему четкие инструкции (Prompts), автоматизируешь сложные сценарии цепочками (Chains), даешь ему доступ к внешнему миру через инструменты (Tools), и в конце концов создаешь самостоятельного помощника (Agent), который может решать задачи почти как человек.

Как создать агента в langchain ai ?

Представь, что мы хотим создать умного помощника, который мог бы ответить на конкретный вопрос из мира рекламы, например, «Какая сейчас средняя цена клика в Google Ads за слово “купить квартиру в Москве”?». Сам по себе ИИ не знает свежих цифр, ему нужно подсказать, где эту информацию взять.

Шаг 1: Готовим «мозг» и даем ему инструкцию

Сначала мы выбираем, какой именно «движок» (языковую модель) будем использовать. Допустим, это GPT от OpenAI. Мы его настраиваем: temperature=0 означает, что мы хотим максимально точные и предсказуемые ответы, без фантазий.

python

from langchain.llms import OpenAI

import os

# Говорим: «Используй вот этот мозг (OpenAI), вот ключ доступа к нему»

llm = OpenAI(temperature=0, openai_api_key=os.environ[«OPENAI_API_KEY»])

Теперь нужно объяснить «мозгу», какую роль он играет. Мы не просто задаем ему вопрос, а даем четкий контекст.

python

from langchain.prompts import PromptTemplate

# Создаем шаблон инструкции. По-русски: 

# «Ты — эксперт по контекстной рекламе. Твоя задача — четко ответить на вопрос пользователя. 

# Вот сам вопрос: {вопрос}»

template = «»»Ты — эксперт по контекстной рекламе. Ответь на вопрос максимально точно.

Вопрос: {вопрос}»»»

prompt = PromptTemplate(template=template, input_variables=[«вопрос»])

Шаг 2: Даем ассистенту «инструменты»

Поскольку наш «мозг» не выходит в интернет, мы даем ему в руки инструмент, который умеет это делать. Например, доступ к поиску Google.

python

from langchain.agents import Tool

from langchain.utilities import GoogleSearchAPIWrapper

# Создаем инструмент. Важно его правильно описать, чтобы «мозг» понял, когда им пользоваться.

# Мы как бы говорим: «Вот тебе инструмент ‘Поиск в Google’. Используй его, 

# когда тебе понадобится найти свежую информацию в сети.»

search = GoogleSearchAPIWrapper()

tools = [

    Tool(

        name=»Поиск в Google»,

        func=search.run,

        description=»полезен для поиска актуальной информации в интернете»

    )

]

Шаг 3: Собираем всё вместе в «агента»

Агент — это и есть наш готовый помощник. Мы соединяем «мозг» (LLM) с «инструментами» (Tools) и выбираем стратегию его мышления. zero-shot-react-description — это common sense стратегия, где агент сам будет решать, как и когда использовать инструмент.

python

from langchain.agents import initialize_agent

# Собираем конструктор: 

# «Вот твои инструменты, вот твой мозг, вот стратегия принятия решений. 

# И пожалуйста, проговаривай вслух свои размышления (verbose=True), чтобы я понимал, что ты делаешь.»

agent = initialize_agent(

    tools,

    llm,

    agent=»zero-shot-react-description»,

    verbose=True  # Очень полезно для отладки!

)

Шаг 4: Запускаем и смотрим

Теперь мы можем задать вопрос и посмотреть, как агент будет его решать.

python

question = «Какая сейчас средняя цена клика по запросу ‘купить квартиру в Москве’?»

# Формируем полную инструкцию с вопросом и запускаем агента

response = agent.run(prompt.format(вопрос=question))

print(response)

Если мы установили verbose=True, мы увидим в консоли ход его мыслей:

  1. «Так, мне нужно найти конкретные цифры по ценам на клик. Сам я этого не знаю.»
  2. «У меня есть инструмент для поиска в Google. Наверное, стоит им воспользоваться.»
  3. «Выполняю поиск по запросу «средняя цена клика купить квартиру Москва 2024″»
  4. «Анализирую результаты выдачи, нашел несколько цифр…»
  5. «Формулирую четкий ответ на основе найденного.»

И в итоге мы получим осмысленный ответ, основанный на реальных данных из интернета.

Что еще можно сделать с langchain agents? 

Память (Memory)
Базовый агент, которого мы создали, забывает разговор сразу после ответа. Чтобы сделать его способным вести диалог (помнить, что вы обсуждали минуту назад), ему нужна «память». Это можно реализовать, добавив специальный модуль, который будет сохранять историю вашего чата и подавать ее обратно в следующий запрос.

Несколько инструментов
Помощнику можно дать не только поиск, но и другие «инструменты»:

  • Калькулятор — чтобы он мог считать числа, а не просто говорить о них.
  • Доступ к вашей базе данных — чтобы он мог отвечать на вопросы о ваших клиентах или товарах.
  • Возможность выполнять код — для сложных вычислений.
    Главное — четко описать каждый инструмент, чтобы агент понимал, в какой ситуации какой из них использовать.

Где это можно применять?

  • Поддержка клиентов: Автоматический помощник, который ищет ответы в базе знаний компании и сразу дает точные ответы, а не просто пересказывает общую информацию.
  • Контент: Не просто генерация текста из головы, а, например, создание дайджеста новостей за неделю. Агент сам может найти свежие статьи по теме, проанализировать их и составить краткий обзор.
  • Аналитика: Автоматизация рутины. Попросите агента найти данные в интернете, посчитать их и оформить в небольшой отчет.

Больше инструкций, реальных кейсов и примеров из практики по AI для бизнеса, работы и жизни в Telegram-канале, подпишитесь!

guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии