Home/Blog/LangChain for Beginners: Build Your Firs...
Development

LangChain for Beginners: Build Your First AI Agent

LangChain is the framework that powers most production AI applications. This step-by-step guide shows you how to build a real AI agent using LangChain.

2026-06-2518 min readLearnGeni AI Academy

LangChain для начинающих: создайте своего первого ИИ-агента

LangChain — самый популярный фреймворк для создания ИИ-приложений в производственной среде. Если вы уже работаете напрямую с OpenAI API, LangChain выведет вас на следующий уровень.

Что такое LangChain?

LangChain — это open-source фреймворк на Python (и JavaScript), упрощающий создание приложений с LLM. Он абстрагирует промпты, память и инструменты с помощью переиспользуемых компонентов.

Решаемые проблемы:

  • Давать ИИ память между разговорами
  • Подключать ИИ к вашим документам и базам данных
  • Создавать агентов с инструментами (веб-поиск, калькулятор, API)
  • Объединять несколько вызовов ИИ в пайплайны

Установка

pip install langchain langchain-openai langchain-community chromadb python-dotenv

Файл .env:

OPENAI_API_KEY=ваш-ключ-здесь

Первая цепочка

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

модель = ChatOpenAI(model="gpt-4o-mini", temperature=0)

промпт = ChatPromptTemplate.from_messages([
    ("system", "Ты полезный ИИ-ассистент. Давай точные и краткие ответы."),
    ("user", "{вопрос}")
])

цепочка = промпт | модель | StrOutputParser()
результат = цепочка.invoke({"вопрос": "Что такое LangChain?"})
print(результат)

Добавление памяти

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.messages import HumanMessage, AIMessage

модель = ChatOpenAI(model="gpt-4o-mini")
промпт = ChatPromptTemplate.from_messages([
    ("system", "Ты полезный ассистент."),
    MessagesPlaceholder(variable_name="история"),
    ("user", "{ввод}")
])

цепочка = промпт | модель
история = []

def чат(сообщение: str) -> str:
    ответ = цепочка.invoke({"история": история, "ввод": сообщение})
    история.append(HumanMessage(content=сообщение))
    история.append(AIMessage(content=ответ.content))
    return ответ.content

print(чат("Привет, меня зовут Иван"))
print(чат("Как меня зовут?"))  # Помнит!

RAG-система: ИИ отвечает из ваших документов

from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
from langchain_core.documents import Document
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough

документы = [
    Document(page_content="LearnGeni предлагает 30 руководств по ИИ по $5 каждое."),
    Document(page_content="После покупки пользователи получают пожизненный доступ."),
]

embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(документы, embeddings)
retriever = vectorstore.as_retriever()

промпт = ChatPromptTemplate.from_template("""
Ответьте на основе контекста:

Контекст: {контекст}
Вопрос: {вопрос}
""")

модель = ChatOpenAI(model="gpt-4o-mini")
цепочка = (
    {"контекст": retriever, "вопрос": RunnablePassthrough()}
    | промпт | модель
)

результат = цепочка.invoke("Сколько стоят руководства LearnGeni?")
print(результат.content)

Первый агент с инструментами

from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.tools import tool

@tool
def получить_погоду(город: str) -> str:
    """Получает погоду в городе."""
    return f"Погода в {город}: 15°C, солнечно"

@tool
def вычислить(выражение: str) -> str:
    """Вычисляет математическое выражение."""
    try:
        return str(eval(выражение))
    except:
        return "Ошибка вычисления"

инструменты = [получить_погоду, вычислить]
модель = ChatOpenAI(model="gpt-4o", temperature=0)

промпт = ChatPromptTemplate.from_messages([
    ("system", "Ты полезный ассистент с инструментами."),
    ("user", "{input}"),
    MessagesPlaceholder(variable_name="agent_scratchpad"),
])

агент = create_tool_calling_agent(модель, инструменты, промпт)
executor = AgentExecutor(agent=агент, tools=инструменты, verbose=True)

результат = executor.invoke({"input": "Какая погода в Москве? И сколько будет 15 × 23?"})
print(результат["output"])

Хотите освоить LangChain с нуля до продвинутого уровня? Полное руководство LearnGeni включает реальные проекты и лучшие паттерны 2026 года. Посмотреть все руководства.

G

Earn Your International AI Certificate

This article is part of the LearnGeni AI Mastery Program — 30 comprehensive guides in 50+ languages. Complete all 30 and earn a certificate backed by WhatsGeni (Official Meta AI Partner), recognized in 50+ countries.

🌍
50+ Languages
Learn in your native language
🏆
Official Certificate
Backed by Meta AI Partner
💡
30 Guides
$5 each or $50 for the full bundle