Sin KYC — sin ID, sin selfie, sin documentos. Paga con criptomonedas: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Español
Consigue una clave API

Docs · frameworks

LangChain y LlamaIndex con modelos open-weight

LangChain y LlamaIndex incluyen un modelo de chat de OpenAI que acepta una base URL personalizada. Apúntalo a nuestra API y cada cadena, agente y retriever que hayas construido sigue funcionando, ahora sobre DeepSeek, Qwen, gpt-oss y los demás modelos open-weight.

Última actualización: · 3 min de lectura

Respuesta rápida

¿Cómo uso LLMwithCrypto en LangChain?

Instala langchain-openai y crea ChatOpenAI(model="deepseek-v4-pro", base_url="https://llmwithcrypto.com/api/v1", api_key=…). LLMwithCrypto habla el formato de chat de OpenAI, así que invoke, el streaming y bind_tools funcionan como con OpenAI, en los modelos que soportan herramientas. LlamaIndex usa OpenAILike con la misma base URL. Documentado el 23 de octubre de 2026.

Qué clase usar

LangChain (Python)ChatOpenAI desde langchain-openai, con base_url
LangChain.jsChatOpenAI desde @langchain/openai, con configuration.baseURL
LlamaIndexOpenAILike desde llama-index-llms-openai-like, con api_base y is_chat_model=True
Ids de modelosEn la página de modelos

¿Cómo configuro ChatOpenAI?

Pasa la base URL y la clave al crear el modelo. Configurar max_tokens evita que cada paso de una cadena o de un agente escriba más de lo que quieres pagar; el usage_metadata de la respuesta muestra los tokens de cada llamada.

LangChain: ChatOpenAI en DeepSeek V4 Pro
import os

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="deepseek-v4-pro",
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
    max_tokens=300,
    temperature=0.3,
)
reply = llm.invoke("Explain what a vector database is in two sentences.")
print(reply.content)
print(reply.usage_metadata)

¿Funcionan las tools y los agentes?

Sí, en los modelos que admiten tool calling. El streaming funciona en todos los modelos; el tool calling y la salida JSON dependen de lo que admita cada modelo. bind_tools envía tus tools en el formato de OpenAI; prueba tu schema en el modelo que elijas antes de depender de él. Los agentes de LangGraph construidos sobre ChatOpenAI funcionan igual.

LangChain: una tool vinculada a gpt-oss-120b
import os

from langchain_core.tools import tool
from langchain_openai import ChatOpenAI


@tool
def convert_currency(amount: float, rate: float) -> float:
    """Convert an amount with an exchange rate."""
    return round(amount * rate, 2)


llm = ChatOpenAI(
    model="gpt-oss-120b",
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)
llm_with_tools = llm.bind_tools([convert_currency])
msg = llm_with_tools.invoke("How much is 250 at a rate of 0.92?")
for call in msg.tool_calls:
    print(call["name"], call["args"], "->", convert_currency.invoke(call["args"]))

¿Y desde JavaScript?

LangChain.js recibe la base URL dentro de configuration, que pasa al cliente de OpenAI subyacente.

LangChain.js: ChatOpenAI con una baseURL
import { ChatOpenAI } from '@langchain/openai';

const llm = new ChatOpenAI({
  model: 'qwen3-235b-a22b-instruct-2507',
  apiKey: process.env.LLMWITHCRYPTO_API_KEY,
  configuration: { baseURL: 'https://llmwithcrypto.com/api/v1' },
  maxTokens: 300,
});
const reply = await llm.invoke('Give me a three-step plan to learn SQL.');
console.log(reply.content);

¿Cómo lo uso en LlamaIndex?

Usa OpenAILike, que no comprueba los nombres de los modelos contra la lista de OpenAI. Configura is_chat_model=True para que envíe mensajes de chat y dale la ventana de contexto del modelo para que LlamaIndex pueda dimensionar sus prompts: DeepSeek V4.1 Flash lee hasta 1M tokens a fecha de 23 de octubre de 2026; el ejemplo configura una ventana más pequeña a propósito para mantener los prompts cortos.

LlamaIndex: OpenAILike en DeepSeek V4.1 Flash
import os

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    model="deepseek-v4.1-flash",
    api_base="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
    is_chat_model=True,
    context_window=131072,
    max_tokens=300,
)
print(llm.complete("Name three uses of a knowledge graph."))

¿Cómo mantengo bajo control los costes de los agentes?

Un agente llama al modelo muchas veces por tarea: una para planificar, una por cada resultado de tool y una para responder. Cada llamada reenvía toda la conversación, así que la entrada crece en cada paso.

  • Limita cada llamada con max_tokens, y toda la ejecución con un número máximo de pasos.
  • Usa un modelo pequeño donde sea suficiente. A fecha de 23 de octubre de 2026, gpt-oss-20b cuesta $0.033 por millón de tokens de entrada frente a $1.254 de DeepSeek V4 Pro: dirige los pasos simples al pequeño y reserva el grande para la respuesta final.
  • Recorta el historial en conversaciones largas, o resume los turnos antiguos.
  • Vigila el saldo con GET https://llmwithcrypto.com/api/v1/credits antes de ejecuciones grandes.

El panel lista cada llamada con sus tokens y su coste, lo que muestra rápido qué paso de una cadena es el caro.

Frameworks: preguntas frecuentes

¿Puedo mezclar modelos en una misma cadena?

Sí: crea un ChatOpenAI por modelo, por ejemplo uno barato para el enrutamiento y uno grande para la respuesta final. Todos gastan el mismo saldo.

¿Funcionan los embeddings?

No. La API solo sirve chat completions; usa tu modelo de embeddings actual junto a ella.

¿Qué pago por una ejecución de un agente?

Cada llamada al modelo de la ejecución, por token. Pagas por token desde tu saldo: los tokens de entrada y de salida se cuentan con el tokenizador propio del modelo y se cobran al precio de ese modelo por 1M de tokens. Una llamada que termina en error no cuesta nada. Los precios por modelo están en la página de precios.

DeepSeek V4 Pro desde $1.254 por 1M de tokens de entrada · sin KYC

Consigue una clave API