# open-weightモデルでのLangChainとLlamaIndex

> LangChainとLlamaIndexでopen-weight LLMを使用する：base_urlを指定したChatOpenAI、ツールバインディング、LangChain.js、OpenAILike。トークンごとに暗号資産で支払い。

- URL: https://llmwithcrypto.com/ja/docs/langchain/
- 最終更新: 2026-10-23
- 発行者: LLMwithCrypto (https://llmwithcrypto.com)

LangChainとLlamaIndexはどちらも、カスタムbase URLを受け入れるOpenAIチャットモデルを提供しています。これを当社のAPIに向ければ、構築したすべてのチェーン、エージェント、リトリーバーがそのまま動作し、DeepSeek、Qwen、gpt-ossなどのopen-weightモデル上で実行されます。

**クイック回答 — LangChainでLLMwithCryptoを使用するにはどうすればよいですか？**

`langchain-openai`をインストールし、`ChatOpenAI(model="deepseek-v4-pro", base_url="https://llmwithcrypto.com/api/v1", api_key=…)`を作成してください。**LLMwithCrypto**はOpenAIチャット形式に対応しているため、`invoke`、ストリーミング、`bind_tools`はOpenAIと同様に、ツールをサポートするモデルで動作します。LlamaIndexは同じbase URLで`OpenAILike`を使用します。2026年10月23日に文書化。

## 使用するクラス

| 属性 | 値 |
| --- | --- |
| LangChain (Python) | `langchain-openai` の `ChatOpenAI`、`base_url` を使用 |
| LangChain.js | `@langchain/openai` の `ChatOpenAI`、`configuration.baseURL` を使用 |
| LlamaIndex | `llama-index-llms-openai-like` の `OpenAILike`、`api_base` と `is_chat_model=True` を使用 |
| モデルID | [モデルページ](https://llmwithcrypto.com/ja/models/)で |

## ChatOpenAI はどう設定しますか？

モデルを作成するときにベースURLとキーを渡します。`max_tokens` を設定すると、チェーンやエージェントの各ステップが支払いたい以上のトークンを書き込むのを防げます。応答の `usage_metadata` で各呼び出しのトークンを確認できます。

*LangChain: DeepSeek V4 Pro で ChatOpenAI を使用*

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

```

## ツールとエージェントは動作しますか？

はい、tool calling に対応したモデルで動作します。ストリーミングはすべてのモデルで利用できます。tool callingとJSON出力は、各モデル自体が対応している範囲に従います。`bind_tools` は OpenAI 形式でツールを送信します。依存する前に、選択したモデルでスキーマをテストしてください。`ChatOpenAI` 上に構築された LangGraph エージェントも同様に動作します。

*LangChain: 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"]))

```

## JavaScript ではどうですか？

LangChain.js は `configuration` 内でベースURLを受け取り、その下の OpenAI クライアントに渡します。

*LangChain.js: baseURL を指定した ChatOpenAI*

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

```

## LlamaIndex ではどう使いますか？

`OpenAILike` を使用します。これはモデル名を OpenAI のリストと照合しません。チャットメッセージを送信するよう `is_chat_model=True` を設定し、モデルのコンテキストウィンドウを指定して LlamaIndex がプロンプトのサイズを決められるようにします。DeepSeek V4.1 Flash は 2026年10月23日時点で最大 1M トークンを読み取りますが、例ではプロンプトを短く保つためにあえて小さなウィンドウを設定しています。

*LlamaIndex: DeepSeek V4.1 Flash で OpenAILike を使用*

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

```

## エージェントのコストを抑えるには？

エージェントはタスクごとに何度もモデルを呼び出します。計画に1回、ツールの結果ごとに1回、回答に1回です。各呼び出しは会話全体を再送するため、ステップごとに入力が増えます。

- **各呼び出しを制限**するには `max_tokens` を、実行全体は最大ステップ数で制限します。
- **十分な場面では小さなモデルを使います。** 2026年10月23日時点で、gpt-oss-20b は100万入力トークンあたり $0.033、DeepSeek V4 Pro は $1.254 です。単純なステップは小さなモデルにルーティングし、最終回答には大きなモデルを使ってください。
- **履歴を削減**するか、古いターンを要約してください。
- **クレジットを確認**するには、大きな実行の前に `GET https://llmwithcrypto.com/api/v1/credits` を使います。

ダッシュボードには各呼び出しがトークンとコストとともに表示されるため、チェーンのどのステップが高コストかすぐにわかります。

## フレームワーク: よくある質問

### 1つのチェーンで複数のモデルを混在できますか？

はい。モデルごとに `ChatOpenAI` を1つ作成します。たとえば、ルーティング用に安価なもの、最終回答用に大きなものを用意します。いずれも同じクレジットを消費します。

### Embedding は使えますか？

いいえ。API はチャット補完のみを提供します。既存の embedding モデルを併用してください。

### エージェントの実行料金はいくらですか？

実行中のすべてのモデル呼び出しに対して、トークン単位で課金されます。残高からトークン単位で支払います。入力トークンと出力トークンはモデル自身のトークナイザーでカウントされ、そのモデルの100万トークンあたりの価格で請求されます。エラーで終わった呼び出しは無料です。モデルごとの価格は[料金ページ](https://llmwithcrypto.com/ja/pricing/)に記載されています。

---

LLMwithCrypto: LLMwithCryptoは、オープンウェイトモデル向けのOpenAI互換LLM APIです — 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 — 前払いの暗号資産残高からトークン単位で支払い、公開ホストの中央値価格より5%安くご利用いただけます。KYC不要:本人確認書類、自撮り写真、証明書類は一切不要です。プロンプトと出力は保存されません。
