# LangChain e LlamaIndex com modelos open-weight

> Use LLMs open-weight no LangChain e no LlamaIndex: ChatOpenAI com um base_url, vinculação de ferramentas, LangChain.js e OpenAILike. Pague por token em cripto.

- URL: https://llmwithcrypto.com/pt/docs/langchain/
- Última atualização: 2026-10-23
- Editor: LLMwithCrypto (https://llmwithcrypto.com)

LangChain e LlamaIndex trazem um chat model da OpenAI que aceita um base URL personalizado. Aponte-o para a nossa API e toda chain, agente e retriever que você criou continua funcionando, agora rodando em DeepSeek, Qwen, gpt-oss e os outros modelos open-weight.

**Resposta rápida — Como usar LLMwithCrypto no LangChain?**

Instale `langchain-openai` e crie `ChatOpenAI(model="deepseek-v4-pro", base_url="https://llmwithcrypto.com/api/v1", api_key=…)`. **LLMwithCrypto** fala o formato de chat da OpenAI, então `invoke`, streaming e `bind_tools` funcionam como com a OpenAI, nos modelos que suportam ferramentas. O LlamaIndex usa `OpenAILike` com o mesmo base URL. Documentado em 23 de outubro de 2026.

## Qual classe usar

| Atributo | Valor |
| --- | --- |
| LangChain (Python) | `ChatOpenAI` a partir de `langchain-openai`, com `base_url` |
| LangChain.js | `ChatOpenAI` a partir de `@langchain/openai`, com `configuration.baseURL` |
| LlamaIndex | `OpenAILike` a partir de `llama-index-llms-openai-like`, com `api_base` e `is_chat_model=True` |
| Ids de modelo | Na [página de modelos](https://llmwithcrypto.com/pt/models/) |

## Como configuro o ChatOpenAI?

Passe a base URL e a chave ao criar o modelo. Definir `max_tokens` impede que cada etapa de uma chain ou de um agente escreva mais do que você quer pagar; o `usage_metadata` da resposta mostra os tokens de cada chamada.

*LangChain: ChatOpenAI no DeepSeek V4 Pro*

```python
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)

```

## Ferramentas e agentes funcionam?

Sim, nos modelos que suportam tool calling. O streaming funciona em todos os modelos; tool calling e saída em JSON seguem o que cada modelo suporta por si. `bind_tools` envia suas ferramentas no formato OpenAI; teste seu schema no modelo escolhido antes de depender dele. Agentes LangGraph construídos sobre `ChatOpenAI` funcionam do mesmo jeito.

*LangChain: uma ferramenta vinculada ao gpt-oss-120b*

```python
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"]))

```

## E a partir do JavaScript?

O LangChain.js recebe a base URL dentro de `configuration`, que ele repassa ao cliente OpenAI por baixo.

*LangChain.js: ChatOpenAI com uma baseURL*

```javascript
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);

```

## Como uso no LlamaIndex?

Use `OpenAILike`, que não confere nomes de modelos com a lista da OpenAI. Defina `is_chat_model=True` para que ele envie mensagens de chat e informe a janela de contexto do modelo para o LlamaIndex dimensionar os prompts: o DeepSeek V4.1 Flash lê até 1M tokens em 23 de outubro de 2026, e o exemplo define uma janela menor de propósito para manter os prompts curtos.

*LlamaIndex: OpenAILike no DeepSeek V4.1 Flash*

```python
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."))

```

## Como mantenho os custos de agentes sob controle?

Um agente chama o modelo várias vezes por tarefa: uma para planejar, uma por resultado de ferramenta, uma para responder. Cada chamada reenvia a conversa inteira, então a entrada cresce a cada etapa.

- **Limite cada chamada** com `max_tokens` e a execução inteira com um número máximo de etapas.
- **Use um modelo pequeno onde ele basta.** Em 23 de outubro de 2026, o gpt-oss-20b custa $0.033 por milhão de tokens de entrada contra $1.254 do DeepSeek V4 Pro: encaminhe etapas simples para o pequeno e deixe o grande para a resposta final.
- **Enxugue o histórico** em conversas longas, ou resuma turnos antigos.
- **Acompanhe o saldo de créditos** com `GET https://llmwithcrypto.com/api/v1/credits` antes de execuções grandes.

O dashboard lista cada chamada com seus tokens e seu custo, o que mostra rapidamente qual etapa de uma chain é a cara.

## Frameworks: perguntas comuns

### Posso misturar modelos em uma chain?

Sim: crie um `ChatOpenAI` por modelo, por exemplo um barato para roteamento e um grande para a resposta final. Todos gastam os mesmos créditos.

### Embeddings funcionam?

Não. A API serve apenas chat completions; use seu modelo de embeddings atual junto com ela.

### Quanto pago por uma execução de agente?

Por cada chamada de modelo da execução, por token. Você paga por token a partir do seu saldo: tokens de entrada e de saída são contados pelo tokenizer do próprio modelo e cobrados ao preço daquele modelo por 1M de tokens. Uma chamada que termina em erro não custa nada. Os preços por modelo estão na [página de preços](https://llmwithcrypto.com/pt/pricing/).

---

LLMwithCrypto: O LLMwithCrypto é uma API de LLM compatível com OpenAI para modelos open-weight — DeepSeek V4 Pro, DeepSeek V4.1 Flash, DeepSeek R1, Qwen3.5 397B A17B, Qwen3 235B A22B Instruct, gpt-oss-120b, gpt-oss-20b, GLM-4.7, Llama 3.3 70B Instruct, Gemma 4 31B, Mistral Large 3, Mistral Small 4 — paga por token a partir de um saldo cripto pré-pago, a 5% abaixo do preço mediano dos hosts públicos. Sem KYC: sem documento de identidade, sem selfie, sem documentos. Prompts e respostas não são armazenados.
