Перейти к основному содержанию

Documentation Index

Fetch the complete documentation index at: https://speshu.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

LangChain — open-source фреймворк для приложений на базе LLM. Его используют, когда простой вызов модели уже не решает задачу: нужно подключить документы, сделать поиск по базе знаний, добавить инструменты, память или управляемый агентный сценарий. О нём говорят потому, что LangChain стал одним из стандартных способов быстро собрать RAG-прототип. Вы можете взять PDF, страницу документации, выгрузку из CRM или набор Markdown-файлов и превратить их в чат, который отвечает с опорой на ваши данные. В этой статье разберём, где LangChain полезен, как устроен типовой RAG-пайплайн и как заменить прямой OpenAI endpoint на SpeShu.AI.

Что такое langchain

LangChain — это набор компонентов для работы с языковыми моделями, embeddings, retrievers, vector stores, prompts и tool calling. Он не является отдельной моделью. Это слой, который связывает модель, данные и бизнес-логику. Фреймворк нужен разработчикам, которые хотят собрать не просто чат, а приложение: поиск по документам, ассистента поддержки, агента для анализа репозитория, внутренний помощник по регламентам или генератор отчётов. Главная идея простая: вы описываете цепочку шагов, а LangChain помогает привести данные к нужному формату, вызвать модель и вернуть ответ.

Как работает langchain

В RAG-сценарии архитектура обычно состоит из пяти частей:
  • загрузчик документов получает файлы или страницы;
  • splitter делит текст на чанки;
  • embeddings превращают чанки в векторы;
  • vector store ищет релевантные фрагменты;
  • LLM отвечает на вопрос с найденным контекстом.
Для короткого прототипа достаточно in-memory хранилища. Для продакшена чаще выбирают Qdrant, Weaviate, Chroma, Postgres/pgvector или другую базу с нормальным индексом и фильтрами. Технически LangChain хорош тем, что не заставляет вас жить внутри одного провайдера. Можно использовать OpenAI-compatible API, локальные модели, внешние vector DB и свои функции.

Что умеет langchain

  • подключать chat-модели через ChatOpenAI;
  • создавать embeddings через OpenAIEmbeddings;
  • строить RAG по PDF, HTML, Markdown и базам данных;
  • работать с vector stores;
  • вызывать инструменты и функции;
  • собирать агентов и workflow;
  • интегрироваться с LangGraph для stateful-логики.
Мини-кейсы: чат по базе знаний, ассистент службы поддержки, поиск по юридическим документам, генерация ответов на RFP, анализ внутренней документации.

langchain на практике

Ниже минимальный RAG-пайплайн. Он использует OpenAI-compatible endpoint SpeShu.AI: чат-модель идёт через /chat/completions, embeddings — через /embeddings.
import os
from langchain_core.documents import Document
from langchain_core.vectorstores import InMemoryVectorStore
from langchain_openai import ChatOpenAI, OpenAIEmbeddings

api_key = os.environ["SPESHU_AI_API_KEY"]
base_url = "https://speshu.ai/api/v1"

docs = [
    Document(page_content="SpeShu.AI даёт доступ к разным LLM и оплату в рублях."),
    Document(page_content="Для RAG нужны embeddings, vector store и chat-модель."),
]

embeddings = OpenAIEmbeddings(
    model="text-embedding-3-large",
    api_key=api_key,
    base_url=base_url,
)

vector_store = InMemoryVectorStore(embeddings)
vector_store.add_documents(docs)

question = "Что нужно для RAG-бота?"
context = "\n\n".join(
    doc.page_content for doc in vector_store.similarity_search(question, k=2)
)

llm = ChatOpenAI(
    model="openai/gpt-5.5",
    api_key=api_key,
    base_url=base_url,
)

answer = llm.invoke(
    [
        ("system", "Отвечай только по контексту."),
        ("user", f"Контекст:\n{context}\n\nВопрос: {question}"),
    ]
)

print(answer.content)
На выходе получится простой бот, который ищет релевантные документы и отвечает по найденному контексту. Дальше можно заменить InMemoryVectorStore на Qdrant или Weaviate, добавить загрузку PDF и сохранять историю диалога.

Преимущества и недостатки langchain

Плюсы:
  • огромная экосистема интеграций;
  • быстрый старт для RAG;
  • поддержка OpenAI-compatible API;
  • много готовых примеров и компонентов.
Минусы:
  • много абстракций, в которых легко запутаться;
  • API менялся несколько раз, поэтому старые статьи быстро устаревают;
  • для сложных stateful-агентов лучше сразу смотреть в сторону LangGraph.

langchain vs альтернативы

LangChain vs LlamaIndex: LangChain шире и удобен для цепочек, инструментов и агентов. LlamaIndex часто проще, когда главная задача — подключить данные и сделать поиск. LangChain vs Haystack: Haystack более явно строит pipeline из компонентов и хорошо подходит для production RAG. LangChain быстрее для прототипов и гибких LLM-приложений. LangChain vs Flowise: Flowise даёт визуальный интерфейс поверх LangChain-подобных блоков. LangChain лучше, если вы хотите писать код и контролировать архитектуру.

Кому подойдёт langchain

LangChain подойдёт backend-разработчикам, AI-стартапам, командам поддержки, аналитикам с Python-навыками и продуктовым командам, которым нужен быстрый RAG-прототип. Если вы хотите сделать production-сервис, заранее продумайте хранение документов, обновление индекса, лимиты токенов, права доступа и observability.

Как попробовать langchain через SpeShu.AI

SpeShu.AI удобно использовать как OpenAI-compatible endpoint для такого LangChain-пайплайна:
  • не нужен VPN;
  • не нужна зарубежная карта;
  • доступно несколько моделей через один ключ;
  • один интерфейс для чата и embeddings;
  • быстрый старт через личный кабинет.
Получите ключ, укажите base_url="https://speshu.ai/api/v1" и выберите модель из каталога.

Заключение

LangChain стоит попробовать, если вы хотите быстро собрать RAG-бота, агента или LLM-приложение с собственными данными. Главный инсайт: фреймворк не заменяет архитектуру, но сильно ускоряет первый рабочий прототип. Для серьёзного проекта начинайте с малого: один источник данных, один vector store, один понятный prompt и проверяемые ответы.

Подключить API

Запустите интеграцию через SpeShu.AI: единый доступ к AI-моделям, без VPN и зарубежной карты