Инструменты ИИ 18.06.2026 10 просмотров

LangChain + Python: создаём первого ИИ-агента за вечер

#langchain #python #ии агенты #openai #rag
LangChain + Python: создаём первого ИИ-агента за вечер
Пошаговый гайд по LangChain на Python: установка, первый агент с GPT-4o, RAG, LangChain Agents.

LangChain — самый популярный Python-фреймворк для создания ИИ-агентов. Python LangChain позволяет за несколько строк кода создать чат-бота, агента с инструментами или систему поиска по документам. В этом гайде — с нуля до рабочего агента.

Установка: pip install langchain

Создайте виртуальное окружение и установите Python библиотеки LangChain актуальные версии:

python3 -m venv venv
source venv/bin/activate
pip install langchain langchain-openai python-dotenv
python -c "import langchain; print(langchain.__version__)"

Создайте .env: OPENAI_API_KEY=sk-xxx

Первый агент: LangChain OpenAI Python

Пример LangChain OpenAI Python:

from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate

load_dotenv()
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
prompt = ChatPromptTemplate.from_messages([
    ("system", "Ты помощник по автоматизации. Отвечай кратко."),
    ("user", "{question}")
])
chain = prompt | llm
result = chain.invoke({"question": "Как запустить n8n через Docker?"})
print(result.content)

LangChain Python RAG: база знаний

LangChain Python RAG (Retrieval-Augmented Generation) — модель отвечает на основе ваших документов:

pip install langchain-community chromadb sentence-transformers
from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import HuggingFaceEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.document_loaders import TextLoader

loader = TextLoader("knowledge_base.txt")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)
chunks = splitter.split_documents(docs)
embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/paraphrase-multilingual-mpnet-base-v2")
vectorstore = Chroma.from_documents(chunks, embeddings)
retriever = vectorstore.as_retriever(search_kwargs={"k": 3})
docs = retriever.invoke("Как настроить вебхук в n8n?")
for doc in docs:
    print(doc.page_content[:200])

LangChain Agents Python: агенты с инструментами

LangChain Agents Python — агенты, самостоятельно решающие, какой инструмент использовать:

from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_core.prompts import ChatPromptTemplate

llm = ChatOpenAI(model="gpt-4o-mini")
tools = [TavilySearchResults(max_results=3)]
prompt = ChatPromptTemplate.from_messages([
    ("system", "Ты помощник. Используй инструменты."),
    ("user", "{input}"),
    ("placeholder", "{agent_scratchpad}"),
])
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
result = executor.invoke({"input": "Какая последняя версия n8n?"})
print(result["output"])

LangChain vs LlamaIndex

КритерийLangChainLlamaIndex
СпециализацияАгенты, цепочкиRAG, документы
Когда выбиратьАгент с инструментамиЧистый RAG

FAQ

Работает ли LangChain с Ollama?

Да: pip install langchain-community и from langchain_community.llms import Ollama.

Подробнее — в статье Ollama: все модели.

Полезные материалы по теме