クイック回答
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 | モデルページで |
ChatOpenAI はどう設定しますか?
モデルを作成するときにベースURLとキーを渡します。max_tokens を設定すると、チェーンやエージェントの各ステップが支払いたい以上のトークンを書き込むのを防げます。応答の usage_metadata で各呼び出しのトークンを確認できます。
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 エージェントも同様に動作します。
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 クライアントに渡します。
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 トークンを読み取りますが、例ではプロンプトを短く保つためにあえて小さなウィンドウを設定しています。
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万トークンあたりの価格で請求されます。エラーで終わった呼び出しは無料です。モデルごとの価格は料金ページに記載されています。