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
| Критерий | LangChain | LlamaIndex |
|---|---|---|
| Специализация | Агенты, цепочки | RAG, документы |
| Когда выбирать | Агент с инструментами | Чистый RAG |
FAQ
Работает ли LangChain с Ollama?
Да: pip install langchain-community и from langchain_community.llms import Ollama.
Подробнее — в статье Ollama: все модели.