LangChain
Подключение ChatOpenAI к GetAPI
Установка
pip install langchain-openai
Задайте GETAPI_API_KEY и GETAPI_MODEL в окружении. ID модели берётся из каталога
Текстовый запрос
import os
from langchain_openai import ChatOpenAI
model = ChatOpenAI(
base_url="https://api.getapi.ru/v1",
api_key=os.environ["GETAPI_API_KEY"],
model=os.environ["GETAPI_MODEL"],
use_responses_api=False,
timeout=120,
max_retries=0,
)
answer = model.invoke([
("system", "Отвечай кратко на русском языке"),
("human", "Что такое индекс базы данных?"),
])
print(answer.content)Здесь явно выбран Chat Completions. Значение timeout задаёт клиентское ожидание, а не лимит сервиса. Автоматические повторы отключены в примере, их можно добавить с учётом правил повторных запросов
Потоковый ответ
Используйте тот же объект model
for chunk in model.stream("Объясни разницу между TCP и UDP"):
if chunk.content:
print(chunk.content, end="", flush=True)
print()Ошибку потока обрабатывайте отдельно от успешно завершённого ответа. Полученный фрагмент текста не доказывает завершения генерации
Инструменты и JSON
bind_tools описывает доступные функции, но не выполняет их само по себе. Приложение или агентный цикл должны выполнить вызов и вернуть результат с соответствующим ID
Для структурированного вывода выберите режим, который поддерживает модель. Не считайте результат валидным только потому, что клиент принял параметр response_format
Подробнее: вызов инструментов, структурированный вывод
Совместимость
ChatOpenAI ориентирован на стандартные поля API OpenAI. Дополнительные поля ответа, например отдельное поле рассуждений, могут не сохраниться в объекте LangChain. Если они нужны приложению, проверьте исходный HTTP-ответ
Встроенные серверные инструменты и хранение состояния Responses не включаются автоматически при смене base_url
Параметры интеграции описаны в документации LangChain