KYC不要 — 身分証、自撮り、書類は不要です。暗号資産で支払い:BTC, USDT, USDC, ETH, SOL, LTC
言語: 日本語
APIキーを取得

ドキュメント · Python

Python:オープンウェイトモデルを向いた OpenAI SDK

公式の openai パッケージはそのまま動作します。クライアントを作成する際に、ベース URL とキーを渡してください。モデル名を除き、コードの他の部分は変わりません。

最終更新:

クイック回答

Python から LLMwithCrypto を呼び出すにはどうすればよいですか?

pip install openai で公式パッケージをインストールし、base_url="https://llmwithcrypto.com/api/v1" と LLMWITHCRYPTO_API_KEY のキーでクライアントを作成します。LLMwithCrypto は deepseek-v4-pro や gpt-oss-120b など12個のオープンウェイトモデルに対して、OpenAI API と同様に client.chat.completions.create() に応答します。ストリーミング、async、tool calls は 2026年10月23日 にドキュメント化されているとおり通常どおり動作します。

必要なもの

Python3.9 以降
パッケージopenai(公式)、credits 呼び出しには requests
Base URLhttps://llmwithcrypto.com/api/v1
キー環境変数 LLMWITHCRYPTO_API_KEY に設定し、コードには決して置かないでください
モデルIDmodels ページ または client.models.list() から

1回のリクエストはどのように送信しますか?

クライアントは1度作成して再利用してください。呼び出し間で接続が維持されます。ここでは SDK がベース URL を環境変数から自動で読み取らないため、明示的に渡してください。

one_call.py
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)

resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "Answer in two sentences."},
        {"role": "user", "content": "What is a context window?"},
    ],
    max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, "in,", resp.usage.completion_tokens, "out")

多数のリクエストを一度に実行するにはどうすればよいですか?

asyncio.gatherでAsyncOpenAIを使い、セマフォで並列に実行するリクエスト数を制限します。まずは4が安全な開始値です。rate limitを超えない範囲で増やしてください。すべてのアカウントには1分あたりのリクエスト数とトークン数の上限があり、ダッシュボードに表示されます。サポートに依頼すれば引き上げられます。

many_calls.py
import asyncio
import os

from openai import AsyncOpenAI

client = AsyncOpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)
LIMIT = asyncio.Semaphore(4)


async def summarize(text):
    async with LIMIT:
        resp = await client.chat.completions.create(
            model="deepseek-v4.1-flash",
            messages=[
                {"role": "system", "content": "Summarize in one sentence."},
                {"role": "user", "content": text},
            ],
            max_tokens=80,
        )
        return resp.choices[0].message.content


async def main():
    docs = ["First report text...", "Second report text...", "Third report text..."]
    for summary in await asyncio.gather(*(summarize(d) for d in docs)):
        print("-", summary)


asyncio.run(main())

回答をストリーミングするにはどうすればよいですか?

stream=Trueを渡してチャンクを反復処理します。各チャンクはdelta.content内のテキストの一部を持ちます。stream_options={"include_usage": True}を使うと、最後のチャンクにトークン数が入ります。ストリーミングのページでフォーマットを説明しています。

stream.py
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)

stream = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Write a haiku about latency."}],
    stream=True,
    stream_options={"include_usage": True},
    max_tokens=120,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
    if chunk.usage:
        print("\n", chunk.usage.prompt_tokens, "in,", chunk.usage.completion_tokens, "out")

リクエストのコストはどうすれば分かりますか?

usageのカウントにモデルの100万トークンあたりの価格を掛けます。2026年10月23日時点で、DeepSeek V4 Proは入力100万トークンあたり$1.254、出力100万トークンあたり$3.762です。この例ではこの2つの数値をハードコードしているので、価格が変わったら料金ページから更新してください。ダッシュボードには各呼び出しの正確なコストが表示されます。

cost.py
import os

from openai import OpenAI

# prices per 1M tokens of the models you use, copied from the pricing page
PRICES = {"deepseek-v4-pro": (1.254, 3.762)}

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)
resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": "Give me three names for a coffee shop."}],
    max_tokens=100,
)
price_in, price_out = PRICES[resp.model]
cost = (resp.usage.prompt_tokens * price_in + resp.usage.completion_tokens * price_out) / 1_000_000
print(resp.choices[0].message.content)
print(f"cost: ${cost:.6f}")

既存の OpenAI アプリを移行するにはどうすればよいですか?

変更は3点で、通常は1つのファイルで済みます。

  1. クライアント。 base_urlを追加し、OpenAI()またはAsyncOpenAI()を作成する箇所でLLMWITHCRYPTO_API_KEYからAPIキーを読み込みます。
  2. モデル名。 すべてのgpt-…の名前をモデルページのidに置き換えます。プロジェクト全体を検索してください。モデル名は設定ファイル、プロンプト、テストの中に隠れています。
  3. 依存している機能。 チャット、ストリーミング、システムプロンプトはどこでも動作します。ツール呼び出しとJSON出力はモデルによって異なるため、選んだモデルに対して既存のテストを実行してください。

それ以外はそのままです。プロンプト、リトライ処理、choicesとusageのパースは変わりません。切り替えガイドで詳細を説明しています。

APIキーはどこに置くべきですか?

環境変数に置き、コードには決して書かないでください。ローカルでは、アプリが読み込み、.gitignoreに記載した.envファイルで十分です。本番環境では、ホストやCIのシークレットストアを使ってください。アプリやサービスごとに個別のAPIキーを発行すれば、他を止めずに1つだけを失効できます。アプリ、エージェント、チームメンバーごとにAPIキーを1つ作成し、他のキーに影響を与えずにダッシュボードからいつでも取り消せます。

Python: よくある質問

SDKは自動でリトライしますか?

はい、openaiパッケージは一部のエラーをデフォルトで2回リトライします(max_retries)。エラーページに、リトライする価値のあるエラーが記載されています。

OpenAI用のコードをそのまま使えますか?

はい。APIはOpenAI chat completions形式に対応しています。OpenAI SDK、LangChain、その他OpenAI互換のツールのベースURLを当社のベースURLに設定し、APIキーを指定して、モデル名を変更してください。切り替えガイドに確認すべき項目が記載されています。

どのPythonフレームワークが使えますか?

OpenAI互換のbase URLを受け付けるものであれば何でも使えます。LangChainのページでLangChainとLlamaIndexを紹介しています。

DeepSeek V4 Pro は100万入力トークンあたり$1.254から · KYC不要

APIキーを取得