快速回答
如何从 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 日的文档。
你需要准备什么
| Python | 3.9 或更新版本 |
|---|---|
| 包 | openai(官方);credits 调用使用 requests |
| Base URL | https://llmwithcrypto.com/api/v1 |
| 密钥 | 在环境变量 LLMWITHCRYPTO_API_KEY 中,绝不要写在代码里 |
| Model id | 在 models 页面 上,或从 client.models.list() 中获取 |
如何发送一个请求?
创建一次客户端并复用:它会在调用之间保持连接。在这里,SDK 不会自行读取任何环境变量来获取 base URL,所以要显式传入。
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 可以调高。
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 计数。流式页面 说明了格式。
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;示例中硬编码了这两个数字,因此价格变动时请从定价页面 更新。仪表板会显示每次调用的确切费用。
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 应用?
通常只需在一个文件中做三处更改:
- 客户端。 添加
base_url,并在创建OpenAI()或AsyncOpenAI()的位置从LLMWITHCRYPTO_API_KEY读取密钥。 - 模型名称。 将每个
gpt-…名称替换为模型页面 中的 id。搜索整个项目:模型名称会藏在配置文件、prompt 和测试中。 - 你依赖的功能。 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。