Saltar al contenido

AI Gateway

LangChain

Conecte Clipia AI Gateway a LangChain mediante ChatOpenAI con el base_url de Clipia — chat, llamadas a herramientas, agentes y salida estructurada sobre Claude, GPT y Gemini.

Clipia AI Gateway es compatible con el contrato de OpenAI, por lo que se integra en LangChain mediante la clase estándar ChatOpenAI: basta con apuntarla a nuestro base_url con una clave de Clipia. A partir de ahí, funcionan todas las funciones habituales de LangChain: chat, herramientas, agentes y salida estructurada.

Inicialización

pip install langchain-openai
import os
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="claude-opus-5-5",
    base_url="https://api.clipia.ai/v1",
    api_key=os.environ["CLIPIA_KEY"],
)

print(llm.invoke("Tell me three facts about Mars.").content)
npm install @langchain/openai @langchain/core
import { ChatOpenAI } from "@langchain/openai";

const llm = new ChatOpenAI({
  model: "claude-opus-5-5",
  apiKey: process.env.CLIPIA_KEY,
  configuration: { baseURL: "https://api.clipia.ai/v1" },
});

const res = await llm.invoke("Tell me three facts about Mars.");
console.log(res.content);

Si su código ya usa ChatOpenAI

Si ya tiene código con ChatOpenAI, para cambiar basta con establecer base_url (configuration.baseURL en Node.js) y una clave de Clipia. El campo model es una cadena del catálogo.

Agente con herramientas

Vincule herramientas con bind_tools o monte un agente ReAct listo para usar con langgraph. Ejemplo con una sola herramienta de función:

import os
from langchain_openai import ChatOpenAI
from langchain_core.tools import tool
from langgraph.prebuilt import create_react_agent

@tool
def get_weather(city: str) -> str:
    """Return the current weather in a city."""
    return f"In {city}: 14°C, cloudy"

llm = ChatOpenAI(
    model="claude-opus-5-5",
    base_url="https://api.clipia.ai/v1",
    api_key=os.environ["CLIPIA_KEY"],
)

agent = create_react_agent(llm, tools=[get_weather])

result = agent.invoke(
    {"messages": [{"role": "user", "content": "What's the weather in Moscow?"}]}
)
print(result["messages"][-1].content)

El agente ejecuta el ciclo completo por sí solo: solicita una llamada a la herramienta, obtiene el resultado y genera la respuesta final.

Salida estructurada

Para obtener una salida que cumpla estrictamente un esquema, elija un modelo que admita response_format, como GPT-6.1 Sol, y llame a with_structured_output con method="json_schema". Valide el resultado antes de usarlo:

from pydantic import BaseModel

class Person(BaseModel):
    name: str
    age: int

structured_llm = ChatOpenAI(
    model="gpt-6.1-sol",
    base_url="https://api.clipia.ai/v1",
    api_key=os.environ["CLIPIA_KEY"],
)
structured = structured_llm.with_structured_output(Person, method="json_schema", strict=True)
person = structured.invoke("Extract name and age: Anna is 30.")
print(person.name, person.age)  # Anna 30

Streaming

El streaming está disponible mediante llm.stream(...) (Python) y await llm.stream(...) (Node.js): el gateway emite fragmentos SSE en formato OpenAI. Encontrará más información sobre streaming y herramientas en la página Chat Completions.