LangChain в России

LangChain фреймворк с AI моделями через AITUNNEL

LangChain — мощный open-source фреймворк для создания AI-приложений. Это самый популярный инструмент для разработки приложений на базе больших языковых моделей (LLM). С AITUNNEL вы можете использовать LangChain в России без VPN.

Что такое LangChain?

LangChain — это фреймворк, который упрощает создание сложных AI-приложений:

  • Agents — автономные AI-системы, принимающие решения
  • RAG — поиск и использование релевантной информации
  • Chains — последовательности операций с LLM
  • Memory — сохранение контекста между запросами
  • Tools — интеграция с внешними сервисами

Установка

bash
# Базовый пакет
pip install langchain

# Интеграция с OpenAI-совместимыми API
pip install langchain-openai

# Для работы с документами
pip install langchain-community

# Для векторных хранилищ
pip install faiss-cpu  # или faiss-gpu для GPU

Базовая настройка с AITUNNEL

python
from langchain_openai import ChatOpenAI

# Настройка LLM через AITUNNEL
llm = ChatOpenAI(
    model="gpt-5.2",
    api_key="sk-aitunnel-xxx",
    base_url="https://api.aitunnel.ru/v1/",
    temperature=0.7,
    max_tokens=4096
)

# Простой запрос
response = llm.invoke("Привет! Что такое LangChain?")
print(response.content)

# Streaming
for chunk in llm.stream("Расскажи длинную историю"):
    print(chunk.content, end="", flush=True)

Настройка Embeddings

python
from langchain_openai import OpenAIEmbeddings

# Embeddings для векторного поиска
embeddings = OpenAIEmbeddings(
    model="text-embedding-3-small",
    api_key="sk-aitunnel-xxx",
    base_url="https://api.aitunnel.ru/v1/"
)

# Получение вектора для текста
vector = embeddings.embed_query("Пример текста")
print(f"Размерность вектора: {len(vector)}")

# Batch embeddings
vectors = embeddings.embed_documents([
    "Документ 1",
    "Документ 2",
    "Документ 3"
])

RAG (Retrieval Augmented Generation)

RAG позволяет AI отвечать на вопросы, используя ваши документы.

Базовый RAG

python
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_community.vectorstores import FAISS
from langchain.chains import RetrievalQA
from langchain_community.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter

# 1. Загрузка документов
loader = TextLoader("./data/document.txt")
documents = loader.load()

# 2. Разбиение на чанки
text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000,
    chunk_overlap=200
)
splits = text_splitter.split_documents(documents)

# 3. Создание векторного хранилища
embeddings = OpenAIEmbeddings(
    model="text-embedding-3-small",
    api_key="sk-aitunnel-xxx",
    base_url="https://api.aitunnel.ru/v1/"
)
vectorstore = FAISS.from_documents(splits, embeddings)

# 4. Настройка LLM
llm = ChatOpenAI(
    model="gpt-5.2",
    api_key="sk-aitunnel-xxx",
    base_url="https://api.aitunnel.ru/v1/"
)

# 5. Создание RAG chain
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=vectorstore.as_retriever(search_kwargs={"k": 5})
)

# 6. Запрос
answer = qa_chain.invoke({"query": "Какие основные темы в документе?"})
print(answer["result"])

Продвинутый RAG с историей

python
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory

# Память для хранения истории
memory = ConversationBufferMemory(
    memory_key="chat_history",
    return_messages=True
)

# Conversational RAG
qa_chain = ConversationalRetrievalChain.from_llm(
    llm=llm,
    retriever=vectorstore.as_retriever(),
    memory=memory
)

# Диалог с памятью
response1 = qa_chain.invoke({"question": "Что такое RAG?"})
response2 = qa_chain.invoke({"question": "А какие есть альтернативы?"})

Типы RAG архитектур

LangChain поддерживает различные RAG архитектуры:

ТипОписаниеКогда использовать
2-step RAGБыстрый поиск + генерацияПростые вопросы
Agentic RAGАгент решает как искатьСложные запросы
Adaptive RAGАнализ запроса + самокоррекцияРазнородные данные
Corrective RAGОценка качества + повторный поискКритичные приложения
Self-RAGСаморефлексия и оценкаМаксимальная точность

AI Agents

Агенты — это AI-системы, которые сами решают какие действия выполнять.

Базовый агент с инструментами

python
from langchain.agents import create_openai_tools_agent, AgentExecutor
from langchain_core.tools import tool
from langchain_core.prompts import ChatPromptTemplate

# Определение инструментов
@tool
def search_web(query: str) -> str:
    """Поиск информации в интернете"""
    # Здесь была бы реальная реализация
    return f"Результаты поиска для: {query}"

@tool
def calculate(expression: str) -> str:
    """Вычисление математических выражений"""
    try:
        result = eval(expression)
        return f"Результат: {result}"
    except:
        return "Ошибка вычисления"

@tool
def get_weather(city: str) -> str:
    """Получение погоды в городе"""
    return f"Погода в {city}: +20°C, солнечно"

# Промпт для агента
prompt = ChatPromptTemplate.from_messages([
    ("system", "Ты полезный ассистент. Используй инструменты для ответа на вопросы."),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}")
])

# Создание агента
tools = [search_web, calculate, get_weather]
agent = create_openai_tools_agent(llm, tools, prompt)

# Executor для запуска
executor = AgentExecutor(
    agent=agent,
    tools=tools,
    verbose=True,  # Показывать ход мыслей
    max_iterations=5
)

# Запуск
result = executor.invoke({
    "input": "Какая погода в Москве и сколько будет 25 * 4?"
})
print(result["output"])

Мульти-агентные системы

python
from langchain.agents import AgentExecutor
from langgraph.prebuilt import create_react_agent

# Агент-исследователь
researcher = create_react_agent(
    llm, 
    [search_web],
    state_modifier="Ты исследователь. Находи информацию."
)

# Агент-писатель
writer = create_react_agent(
    llm,
    [],
    state_modifier="Ты писатель. Создавай контент на основе данных."
)

# Orchestration через LangGraph
# (требует pip install langgraph)

Chains (Цепочки)

Chains позволяют комбинировать несколько операций:

python
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

# Цепочка: промпт -> LLM -> парсер
chain = (
    ChatPromptTemplate.from_template("Переведи на английский: {text}")
    | llm
    | StrOutputParser()
)

result = chain.invoke({"text": "Привет, мир!"})
print(result)  # "Hello, world!"

# Параллельные цепочки
from langchain_core.runnables import RunnableParallel

parallel_chain = RunnableParallel(
    translation=ChatPromptTemplate.from_template("Переведи: {text}") | llm,
    summary=ChatPromptTemplate.from_template("Резюмируй: {text}") | llm
)

results = parallel_chain.invoke({"text": "Длинный текст..."})

Document Loaders

LangChain поддерживает загрузку из множества источников:

python
from langchain_community.document_loaders import (
    TextLoader,
    PDFLoader,
    CSVLoader,
    JSONLoader,
    WebBaseLoader,
    GitLoader
)

# Текстовые файлы
docs = TextLoader("file.txt").load()

# PDF
docs = PDFLoader("document.pdf").load()

# CSV
docs = CSVLoader("data.csv").load()

# Веб-страницы
docs = WebBaseLoader("https://example.com").load()

# Git репозиторий
docs = GitLoader(
    clone_url="https://github.com/user/repo",
    branch="main"
).load()

Память (Memory)

python
from langchain.memory import (
    ConversationBufferMemory,
    ConversationSummaryMemory,
    ConversationBufferWindowMemory
)

# Полная история
memory = ConversationBufferMemory()

# Только последние N сообщений
memory = ConversationBufferWindowMemory(k=10)

# Суммаризация истории
memory = ConversationSummaryMemory(llm=llm)

Рекомендуемые модели для LangChain

ЗадачаРекомендуемая модель
RAGgpt-5.2, claude-sonnet-4.5
Agentsgpt-5.2-pro, claude-opus-4.5
Embeddingstext-embedding-3-small
Быстрые задачиgpt-5-mini, gemini-2.5-flash
Экономияdeepseek-v3.2

Преимущества AITUNNEL для LangChain

  • Все модели — GPT, Claude, Gemini через один API
  • Работает в России — без VPN
  • Embeddings — text-embedding-3-small/large
  • Streaming — потоковые ответы
  • Оплата в рублях — от 299₽

Ключевые возможности

  • RAG (Retrieval Augmented Generation)
  • AI Agents
  • Chains и Pipelines
  • Vector stores
  • Document loaders
  • Memory системы
  • Мульти-агенты
  • Streaming

Подключите этот инструмент через AITUNNEL

Все инструменты и модели доступны через единый API. Работает из России, оплата в рублях.

Единый API50+ моделейОплата в рублях
Начать работуРегистрация за 1 минуту

Рекомендуемые модели