Sem KYC — sem documento de identidade, sem selfie, sem documentos. Pague com cripto: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Português
Obter uma chave de API

Docs · Python

Python: o SDK da OpenAI apontado para modelos open-weight

O pacote oficial openai funciona como está: passe nossa base URL e sua chave ao criar o client. Todo o resto do seu código continua igual, exceto pelo nome do modelo.

Última atualização: · 4 min de leitura

Resposta rápida

Como chamo LLMwithCrypto a partir do Python?

Instale o pacote oficial com pip install openai, depois crie o client com base_url="https://llmwithcrypto.com/api/v1" e sua chave de LLMWITHCRYPTO_API_KEY. LLMwithCrypto responde a client.chat.completions.create() como a API da OpenAI, para 12 modelos open-weight como deepseek-v4-pro ou gpt-oss-120b. Streaming, async e tool calls funcionam como de costume, conforme documentado em 23 de outubro de 2026.

O que você precisa

Python3.9 ou mais recente
Pacoteopenai (oficial); requests para a chamada de créditos
URL basehttps://llmwithcrypto.com/api/v1
ChaveNa variável de ambiente LLMWITHCRYPTO_API_KEY, nunca no código
Ids de modeloNa página de modelos ou a partir de client.models.list()

Como envio uma requisição?

Crie o client uma vez e reutilize-o: ele mantém a conexão aberta entre as chamadas. O SDK não lê sozinho nenhuma variável de ambiente para a base URL aqui, então passe-a explicitamente.

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

Como executo muitas requisições ao mesmo tempo?

Use AsyncOpenAI com asyncio.gather, e um semáforo para limitar quantas requisições rodam em paralelo. Quatro é um começo seguro; aumente enquanto você ficar abaixo do seu rate limit. Toda conta tem um limite de requisições e de tokens por minuto, mostrado no dashboard; peça ao suporte e ele pode ser aumentado.

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

Como faço streaming da resposta?

Passe stream=True e itere sobre os chunks; cada um carrega um trecho de texto em delta.content. Com stream_options={"include_usage": True}, o último chunk carrega as contagens de tokens. A página de streaming explica o formato.

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

Como sei quanto custou uma requisição?

Multiplique as contagens de usage pelos preços do modelo por milhão de tokens. Em 23 de outubro de 2026, o DeepSeek V4 Pro custa $1.254 por milhão de tokens de entrada e $3.762 por milhão de tokens de saída; o exemplo fixa esses dois números no código, então atualize-os a partir da página de preços quando os preços mudarem. O dashboard mostra o custo exato de cada chamada.

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}")

Como migro um app OpenAI existente?

Três mudanças, geralmente em um único arquivo:

  1. O cliente. Adicione base_url e leia a chave de LLMWITHCRYPTO_API_KEY onde você cria OpenAI() ou AsyncOpenAI().
  2. Os nomes dos modelos. Substitua cada nome gpt-… por um id da página de modelos. Pesquise no projeto inteiro: nomes de modelos se escondem em arquivos de config, prompts e testes.
  3. Os recursos dos quais você depende. Chat, streaming e system prompts funcionam em todo lugar. Tool calling e saída JSON dependem do modelo, então rode seus testes existentes contra o modelo que escolher.

Todo o resto continua: seus prompts, sua lógica de retry, seu parsing de choices e usage. O guia de migração percorre os detalhes.

Onde a chave deve ficar?

No ambiente, nunca no código. Localmente, um arquivo .env carregado pela sua aplicação e listado no .gitignore basta; em produção, use o secret store do seu host ou da sua CI. Dê a cada aplicação ou serviço a sua própria chave, para que você possa revogar uma sem parar as outras. Crie uma chave de API por app, agente ou colega de equipe e revogue qualquer uma delas pelo dashboard sem mexer nas outras.

Python: perguntas frequentes

O SDK tenta novamente sozinho?

Sim, o pacote openai tenta novamente alguns erros duas vezes por padrão (max_retries). A página de erros lista quais erros valem uma nova tentativa.

Posso continuar usando meu código OpenAI?

Sim. A API fala o formato de chat completions da OpenAI: aponte o SDK da OpenAI, o LangChain ou qualquer ferramenta compatível com OpenAI para a nossa base URL com a sua chave e troque o nome do modelo. O guia de migração lista o que verificar.

Quais frameworks Python funcionam?

Qualquer um que aceite uma base URL compatível com OpenAI. A página do LangChain mostra LangChain e LlamaIndex.

DeepSeek V4 Pro a partir de $1.254 por 1M de tokens de entrada · sem KYC

Obter uma chave de API