Integraciones
LangChain
Corre cadenas y agentes de LangChain en tu stack con el modelo de chat ChatOpenAI, en Python o JavaScript.
LangChain es un framework para construir cadenas
y agentes sobre modelos de lenguaje. Su modelo de chat ChatOpenAI acepta una
base URL personalizada, así que corre en tu stack sin ningún paquete
específico de Stac.
Requisitos previos
- Una clave de la página Claves de API de tu stack, exportada como
STAC_API_KEY. Consulta Autenticación. - El id del modelo que quieres llamar — consulta Modelos.
Los ejemplos de abajo usan
qwen/qwen3.5-9b.
export STAC_API_KEY="your-stac-api-key"Configura el modelo de chat
Instala la integración de OpenAI
langchain-openaipara Python,@langchain/openaipara JavaScript.Pythonbashpip install langchain-openaiJavaScriptbashnpm install @langchain/openai @langchain/coreApunta ChatOpenAI a Stac
Pasa la clave y la base URL de forma explícita. En Python son
api_keyybase_url; en JavaScript la base URL va dentro deconfiguration.Úsalo como cualquier otro modelo de chat
Las cadenas, los agentes y los grafos de LangGraph reciben el objeto
llmigual que recibirían uno de OpenAI.
Ejemplo
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="qwen/qwen3.5-9b",
api_key=os.environ["STAC_API_KEY"],
base_url="https://api.trystac.com/v1",
)
print(llm.invoke("Name three primary colors.").content)import { ChatOpenAI } from "@langchain/openai";
const llm = new ChatOpenAI({
model: "qwen/qwen3.5-9b",
apiKey: process.env.STAC_API_KEY,
configuration: { baseURL: "https://api.trystac.com/v1" },
});
const response = await llm.invoke("Name three primary colors.");
console.log(response.content);Salida esperada (la redacción cambia de una ejecución a otra):
Red, blue, and yellow.Para respuestas largas, usa streaming en lugar de esperar el mensaje completo:
for chunk in llm.stream("Write a short paragraph about primary colors."):
print(chunk.content, end="", flush=True)Limitaciones
- El id del modelo debe estar en tu plan. Pasa como
modelel valor exacto de Modelos; un modelo que el plan de tu clave no incluye devuelve403. - Las tools dependen del modelo.
bind_toolsy los agentes con tool calling solo funcionan con un modelo que admite tool calling. - Las llamadas sin streaming tienen una ventana de tiempo.
invokeespera la respuesta completa en una sola respuesta; una generación que pasa de unos 90 segundos falla con503. Usastreampara salidas largas. - Una completación por solicitud,
logit_biasse descarta y el límite de tasa es por clave — dale a cada servicio su propia clave. Consulta Diferencias importantes.
Próximos pasos
- Compatibilidad OpenAI — con qué habla
ChatOpenAIy qué cambia respecto a OpenAI. - Respuestas en streaming — el formato SSE detrás
de
stream. - Base de conocimientos — fundamenta las respuestas en tus propios documentos sin un retriever en la cadena.