无需 KYC — 不用身份证、不用自拍、不用证件。用加密货币支付:BTC, USDT, USDC, ETH, SOL, LTC
语言: 简体中文
获取 API 密钥

文档 · Python

Python:把 OpenAI SDK 指向开放权重模型

官方 openai 包可以直接使用:创建客户端时传入我们的 base URL 和你的密钥。除了模型名,代码里的其他部分都保持不变。

最后更新:

快速回答

如何从 Python 调用 LLMwithCrypto?

用 pip install openai 安装官方包,然后用 base_url="https://llmwithcrypto.com/api/v1" 和你在 LLMWITHCRYPTO_API_KEY 中的密钥创建客户端。LLMwithCrypto 像 OpenAI API 一样响应 client.chat.completions.create(),支持 12 个开放权重模型,例如 deepseek-v4-pro 或 gpt-oss-120b。流式、异步和 tool call 都照常可用,依据 2026 年 10 月 23 日的文档。

你需要准备什么

Python3.9 或更新版本
包openai(官方);credits 调用使用 requests
Base URLhttps://llmwithcrypto.com/api/v1
密钥在环境变量 LLMWITHCRYPTO_API_KEY 中,绝不要写在代码里
Model id在 models 页面 上,或从 client.models.list() 中获取

如何发送一个请求?

创建一次客户端并复用:它会在调用之间保持连接。在这里,SDK 不会自行读取任何环境变量来获取 base 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")

如何一次跑很多请求?

将 AsyncOpenAI 与 asyncio.gather 配合使用,并用信号量限制同时运行的请求数。4 是一个稳妥的起点;在不超出 rate limit 的前提下再往上调。每个账户都有每分钟请求数和 token 上限,显示在 dashboard 中;联系 support 可以调高。

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} 时,最后一个分块带有 token 计数。流式页面 说明了格式。

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 计数乘以模型每百万 token 的价格。截至 2026 年 10 月 23 日,DeepSeek V4 Pro 每百万输入 token 收费 $1.254,每百万输出 token 收费 $3.762;示例中硬编码了这两个数字,因此价格变动时请从定价页面 更新。仪表板会显示每次调用的确切费用。

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 应用?

通常只需在一个文件中做三处更改:

  1. 客户端。 添加 base_url,并在创建 OpenAI() 或 AsyncOpenAI() 的位置从 LLMWITHCRYPTO_API_KEY 读取密钥。
  2. 模型名称。 将每个 gpt-… 名称替换为模型页面 中的 id。搜索整个项目:模型名称会藏在配置文件、prompt 和测试中。
  3. 你依赖的功能。 Chat、流式传输和系统 prompt 在所有模型上都能用。工具调用和 JSON 输出取决于模型,因此请用你选定的模型运行现有测试。

其余一切照旧:你的 prompt、重试逻辑、对 choices 和 usage 的解析。切换指南 详细说明了这些内容。

密钥应该放在哪里?

放在环境变量中,绝不要放在代码里。本地用应用加载并在 .gitignore 中列出的 .env 文件就够了;生产环境中,使用主机或 CI 的密钥存储。为每个应用或服务分配各自的密钥,这样就能撤销其中一个而不影响其他。为每个应用、agent 或队友各建一个 API 密钥,并可在 dashboard 中单独吊销任意一个,不影响其他密钥。

Python:常见问题

SDK 会自动重试吗?

会,openai 包默认会对部分错误重试两次(max_retries)。错误页面 列出了哪些错误值得重试。

我可以继续使用我的 OpenAI 代码吗?

可以。API 使用 OpenAI chat completions 格式:把 OpenAI SDK、LangChain 或任何 OpenAI 兼容工具指向我们的 base URL 并带上你的密钥,再改一下模型名即可。切换指南 列出了需要检查的内容。

哪些 Python 框架可用?

任何接受 OpenAI 兼容 base URL 的框架。LangChain 页面 展示了 LangChain 和 LlamaIndex。

DeepSeek V4 Pro 低至 $1.254 每 1M 输入 token · 无需 KYC

获取 API 密钥