polygate logopolygate

Provider

DeepSeek

DeepSeek chat and reasoning models.

Quick start

import polygate
 
response = polygate.chat(
provider="deepseek",
model="deepseek-chat",
messages=[{"role": "user", "content": "Say hi in one word."}],
)
 
print(response.content) # "Hi!"
print(response.usage) # Usage(prompt_tokens=..., completion_tokens=...)

Names

Any of these work as provider. They all reach the same adapter, so pick whichever reads best in your code.

deepseek

Configuration

VariableHolds
DEEPSEEK_API_KEYyour API key

Any of these may hold a comma-separated list. polygate rotates across them, parks a rate-limited one for its Retry-After, and drops one the provider rejects — so a key pool is configuration, not code.

Endpoint

https://api.deepseek.com

Pass base_url to point the same wire format somewhere else — a proxy, a regional endpoint, or a gateway in front of it.

Models

Examples that work today. Model names change; the provider's own list is the authority.

deepseek-chatdeepseek-reasoner

Things worth knowing

  • Reasoning models return the answer in reasoning_content when content is empty. polygate falls back to it, so response.content is populated either way.

Batch

DeepSeek has no offline batch API. To run many requests at once, use map_chat — full price, but it works everywhere and returns in seconds. See Batching & concurrency.

Something wrong or missing here? Open an issue.