← Все интеграции
🦜

LangChain

Фреймворк для AI-приложений

LangChain работает с любым OpenAI-совместимым сервером. EasyLLM подключается как стандартный провайдер через openai_api_base. Один импорт — доступ ко всем моделям.

🐍 Python

Установка

bash
pip install langchain langchain-openai

Базовый чат

chat.py
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="openai/gpt-4o-mini",
    openai_api_key="eak_YOUR_KEY",
    openai_api_base="https://api.easyllm.kz/v1",
    temperature=0.7,
)

response = llm.invoke("Напиши двустишие про осень")
print(response.content)

Claude через тот же клиент

EasyLLM транслирует OpenAI-формат в Anthropic. Меняется только имя модели:

claude.py
llm = ChatOpenAI(
    model="anthropic/claude-sonnet-4-20250514",  # Claude через OpenAI-формат
    openai_api_key="eak_YOUR_KEY",
    openai_api_base="https://api.easyllm.kz/v1",
)

Chain с промптом

chain.py
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

prompt = ChatPromptTemplate.from_messages([
    ("system", "Ты опытный переводчик."),
    ("user", "Переведи на английский: {text}"),
])

chain = prompt | llm | StrOutputParser()
result = chain.invoke({"text": "Привет, мир"})

Эмбеддинги для RAG

embed.py
from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings(
    model="openai/text-embedding-3-small",
    openai_api_key="eak_YOUR_KEY",
    openai_api_base="https://api.easyllm.kz/v1",
)

vector = embeddings.embed_query("Что такое RAG?")

🟨 JavaScript / TypeScript

Установка

bash
npm install @langchain/openai @langchain/core

Базовый чат

chat.ts
import { ChatOpenAI } from "@langchain/openai";

const llm = new ChatOpenAI({
  model: "openai/gpt-4o-mini",
  apiKey: "eak_YOUR_KEY",
  configuration: {
    baseURL: "https://api.easyllm.kz/v1",
  },
});

const response = await llm.invoke("Напиши двустишие про осень");
console.log(response.content);

Best practice: переменные окружения

Не хардкодьте ключ. Добавьте в .env:

.env
OPENAI_API_KEY=eak_YOUR_KEY
OPENAI_API_BASE=https://api.easyllm.kz/v1

LangChain подхватит их автоматически — параметры в коде можно не указывать.

Частые проблемы

Модель возвращает ошибку 404

Используйте формат provider/model: openai/gpt-4o-mini, anthropic/claude-sonnet-4-20250514, не просто gpt-4o-mini.

Streaming не работает

EasyLLM поддерживает streaming для всех chat-моделей. Проверьте stream=True в ChatOpenAI и что вы обрабатываете чанки через .stream() или .astream().

Ошибка Connection timeout

Увеличьте request_timeout=60. Claude Sonnet на длинных промптах может отвечать 30+ секунд.

Function calling работает?

Да — через bind_tools() или with_structured_output(). Используйте модели gpt-4o, claude-sonnet-4.

Попробовать в коде

Получите ключ и пробный баланс 100 ₽ — хватит на несколько сотен запросов к GPT-4o Mini

Получить ключ