DeepSeek OCR API 接口、模型参数 & 代码示例

deepseek/deepseek-ocr

DeepSeek-OCR 是 DeepSeek 发布的开源 OCR / 视觉语言模型,其核心思想是上下文光学压缩(Contexts Optical Compression)。该模型并非传统 OCR,而是将长文本或整页文档先转为图像,再通过视觉编码器压缩为少量 vision tokens,最后由 MoE 解码器还原文本与结构,从而大幅降低 token 消耗。DeepSeek-OCR 的意义不仅在 OCR,而在于为 LLM 长上下文处理提供了一种新的“视觉压缩”路径。

模型 ID
deepseek/deepseek-ocr
模型系列
DeepSeek
更新日期
模型能力
图片识别、OCR
上下文长度
8 K
模型价格(每 1000 tokens 输入)
¥ 0.0005
模型价格(每 1000 tokens 输出)
¥ 0.001

DeepSeek OCR 模型介绍:

DeepSeek-OCR 是 DeepSeek 发布的开源模型。DeepSeek-OCR 不是把 OCR 只当作“图片转文字”,而是从 LLM-centric viewpoint(以大模型为中心的视角) 去研究视觉编码器的作用,并以 Contexts Optical Compression(上下文光学压缩) 作为核心主题。

DeepSeek-OCR 的核心结构由两部分组成:DeepEncoderDeepSeek3B-MoE-A570M decoder。其中 DeepEncoder 负责在高分辨率输入下保持较低激活、同时实现高压缩率,从而把文档图像压成“可管理数量”的 vision tokens;后面的 MoE 解码器则负责把这些视觉 token 还原为文本。这个设计的关键,不只是“识别文字”,而是把视觉编码当作一种信息压缩和上下文承载机制来使用。

DeepSeek-OCR 的工作方式可以理解为“两段式”。第一段是把页面、图片或长文档转换成视觉表示,并尽量用更少的视觉 token 保留更多信息;第二段再通过解码器把这些 token 还原成可读文本、Markdown,甚至结构化内容。对于文档可以用“Convert the document to markdown.”,对于普通图片可以用“OCR this image.”,对于不强调版面的场景可以用“Free OCR.”,对于图表和图中区域也有对应提示词。也就是说,它已经不只是“识字”,而是兼顾版面、图表、定位和通用图像理解。

在能力表现上,当文本 token 与视觉 token 的压缩比 小于 10 倍时,模型的 OCR 还原精度可以达到 97%;即使压缩比达到 20 倍,准确率仍大约有 60%。在 OmniDocBench 上,它用 100 个 vision tokens 就能超过 GOT-OCR2.0(256 tokens/page),并且在使用 少于 800 个 vision tokens 的情况下仍能优于 MinerU2.0。在生产场景下,单张 A100 40GB 可以支持每天生成 20 万页以上的训练数据。

在实际工程中,DeepSeek-OCR 的优势在于:第一,它适合处理 长文档、扫描件、论文、带版面的页面;第二,它对“页面级理解”比较友好,能输出更接近 Markdown 的结果,便于后续入库、检索和知识抽取;第三,它支持不同分辨率模式,方便在精度和成本之间做权衡。官方仓库列出的原生分辨率模式包括 Tiny 512×512(64 vision tokens)Small 640×640(100 vision tokens)Base 1024×1024(256 vision tokens)Large 1280×1280(400 vision tokens),另外还有动态分辨率 Gundam 模式,支持 “n×640×640 + 1×1024×1024”。这意味着它既可以做轻量级识别,也可以针对复杂页面做更高分辨率的处理。

从部署角度看,两条主线为:vLLM 推理Transformers 推理

DeepSeek-OCR 虽然很强,但它的论文主线并不是证明“视觉压缩一定比纯文本更适合所有语言模型任务”,而是先证明:把文本光学化并压缩成视觉 token,至少在重建和 OCR 这类任务上是可行且高效的。它更像是一条面向长上下文压缩、文档理解和数据生成的新路线,而不是传统 OCR 的简单替代品。后续如果你用它做企业文档处理,比较适合把它放在“文档解析、版面还原、知识抽取、批量数据生成”的环节;如果你的目标只是打印级别的纯文字识别,也要结合业务场景评估成本与收益。这个判断是基于论文的定位和官方示例做出的工程化推断。

API 接口地址:

https://wcode.net/api/gpt/v1/chat/completions

此 API 接口兼容 OpenAI 的 API 接口规范,也就是可以直接使用 OpenAI 的 SDK 来调用各个模型。仅需替换以下两项配置即可:

  1. base_url 替换为 https://wcode.net/api/gpt/v1
  2. api_key 替换为从 https://platform.wcode.net 获取到的 API Key

具体可参考下方的各编程语言代码示例中的 OpenAI SDK 调用示例。

请求方法:

POST

各编程语言代码示例:

# TODO: 以下代码中的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
    "model": "deepseek/deepseek-ocr",
    "messages": [
        {
            "role": "user",
            "content": "你好"
        }
    ]
}'
import Foundation

let headers = [
  "Authorization": "Bearer API_KEY",     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  "content-type": "application/json"
]
let parameters = [
  "model": "deepseek/deepseek-ocr",
  "messages": [
    [
      "role": "user",
      "content": "你好"
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://wcode.net/api/gpt/v1/chat/completions")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 60.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
var headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer API_KEY'     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
};
var request = http.Request('POST', Uri.parse('https://wcode.net/api/gpt/v1/chat/completions'));
request.body = json.encode({
  "model": "deepseek/deepseek-ocr",
  "messages": [
    {
      "role": "user",
      "content": "你好"
    }
  ]
});
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}
require 'uri'
require 'net/http'

url = URI("https://wcode.net/api/gpt/v1/chat/completions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer API_KEY'     # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
request["content-type"] = 'application/json'
request.body = "{\"model\":\"deepseek/deepseek-ocr\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}"

response = http.request(request)
puts response.read_body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
  let url = "https://wcode.net/api/gpt/v1/chat/completions";

  let payload = json!({
    "model": "deepseek/deepseek-ocr",
    "messages": (
      json!({
        "role": "user",
        "content": "你好"
      })
    )
  });

  let mut headers = reqwest::header::HeaderMap::new();
  headers.insert("Authorization", "Bearer API_KEY".parse().unwrap());     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  headers.insert("content-type", "application/json".parse().unwrap());

  let client = reqwest::Client::new();
  let response = client.post(url)
    .headers(headers)
    .json(&payload)
    .send()
    .await;

  let results = response.unwrap()
    .json::<serde_json::Value>()
    .await
    .unwrap();

  dbg!(results);
}
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "https://wcode.net/api/gpt/v1/chat/completions");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer API_KEY");    // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"model\":\"deepseek/deepseek-ocr\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}");

CURLcode ret = curl_easy_perform(hnd);
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {
  url := "https://wcode.net/api/gpt/v1/chat/completions"

  payload := strings.NewReader("{\"model\":\"deepseek/deepseek-ocr\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}")

  req, _ := http.NewRequest("POST", url, payload)

  req.Header.Add("Authorization", "Bearer API_KEY")     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  req.Header.Add("content-type", "application/json")

  res, _ := http.DefaultClient.Do(req)

  defer res.Body.Close()
  body, _ := io.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
using System.Net.Http.Headers;


var client = new HttpClient();

var request = new HttpRequestMessage(HttpMethod.Post, "https://wcode.net/api/gpt/v1/chat/completions");

request.Headers.Add("Authorization", "Bearer API_KEY");     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net

request.Content = new StringContent("{\"model\":\"deepseek/deepseek-ocr\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}", null, "application/json");

var response = await client.SendAsync(request);

response.EnsureSuccessStatusCode();

Console.WriteLine(await response.Content.ReadAsStringAsync());
var client = new RestClient("https://wcode.net/api/gpt/v1/chat/completions");

var request = new RestRequest("", Method.Post);

request.AddHeader("Authorization", "Bearer API_KEY");     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net

request.AddHeader("content-type", "application/json");

request.AddParameter("application/json", "{\"model\":\"deepseek/deepseek-ocr\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}", ParameterType.RequestBody);

var response = client.Execute(request);
const axios = require('axios');

let data = JSON.stringify({
  "model": "deepseek/deepseek-ocr",
  "messages": [
    {
      "role": "user",
      "content": "你好"
    }
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://wcode.net/api/gpt/v1/chat/completions',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer API_KEY'     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");

RequestBody body = RequestBody.create(mediaType, "{\"model\":\"deepseek/deepseek-ocr\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}");

Request request = new Request.Builder()
  .url("https://wcode.net/api/gpt/v1/chat/completions")
  .post(body)
  .addHeader("Authorization", "Bearer API_KEY")             // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
$client = new \GuzzleHttp\Client();

$headers = [
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer API_KEY',     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
];

$body = '{
  "model": "deepseek/deepseek-ocr",
  "messages": [
    {
      "role": "user",
      "content": "你好"
    }
  ]
}';

$request = new \GuzzleHttp\Psr7\Request('POST', 'https://wcode.net/api/gpt/v1/chat/completions', $headers, $body);

$response = $client->sendAsync($request)->wait();

echo $response->getBody();
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://wcode.net/api/gpt/v1/chat/completions",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 5,
  CURLOPT_TIMEOUT => 300,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'model' => 'deepseek/deepseek-ocr',
    'messages' => [
      [
        'role' => 'user',
        'content' => '你好'
      ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer API_KEY",     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
    "content-type: application/json",
  ],
]);

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
  echo "cURL Error #:" . $error;
} else {
  echo $response;
}
import requests
import json

url = "https://wcode.net/api/gpt/v1/chat/completions"

payload = {
  "model": "deepseek/deepseek-ocr",
  "messages": [
    {
      "role": "user",
      "content": "你好"
    }
  ]
}

headers = {
  "Authorization": "Bearer API_KEY",     # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(json.dumps(response.json(), indent=4, ensure_ascii=False))
from openai import OpenAI

client = OpenAI(
  base_url="https://wcode.net/api/gpt/v1",
  api_key="API_KEY"                             # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
)

completion = client.chat.completions.create(
  model="deepseek/deepseek-ocr",
  messages=[
    {
      "role": "user",
      "content": "你好"
    }
  ]
)

print(completion.choices[0].message.content)

各 AI 产品/工具/第三方应用接入示例:

配置 Roo Code

注意事项:以下配置中的 <API_KEY> 需要替换为从 https://platform.wcode.net 获取(创建)的 API Key

  • API Provider:OpenAI Compatible
  • Base URL:https://wcode.net/api/gpt/v1
  • API Key:<API_KEY>
  • Model:deepseek/deepseek-ocr

配置完成后,就可以开始使用 Roo Code ~

配置 Kilo Code

注意事项:以下配置中的 <API_KEY> 需要替换为从 https://platform.wcode.net 获取(创建)的 API Key

选择 Use your own API key,然后配置以下信息:

  • API Provider:OpenAI Compatible
  • Base URL:https://wcode.net/api/gpt/v1
  • API Key:<API_KEY>
  • Model:deepseek/deepseek-ocr

配置完成后,就可以开始使用 Kilo Code ~

配置 Cline

注意事项:以下配置中的 <API_KEY> 需要替换为从 https://platform.wcode.net 获取(创建)的 API Key

  • API Provider:OpenAI Compatible
  • Base URL:https://wcode.net/api/gpt/v1
  • API Key:<API_KEY>
  • Model ID:deepseek/deepseek-ocr

配置完成后,就可以开始使用 Cline ~

注:以下安装和配置过程以 Ubuntu Server 24.04 (root 用户) + Node 22 安装 OpenClaw 🦞 2026.3.8 为例

安装 🦞 OpenClaw(龙虾),步骤如下:

  1. 命令行执行 npm install -g openclaw@latest
  2. 命令行执行 openclaw onboard --install-daemon
  3. I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue? 选择 yes
  4. Onboarding mode 选择 QuickStart
  5. Model/auth provider 选择 Skip for now
  6. Default model 选择 Keep current (default: ...)
  7. Select channel (QuickStart) 选择 Skip for now
  8. Web search 选择 Skip for now
  9. Configure skills now? (recommended) 选择 No
  10. Enable hooks? (这是一个多选,按空格键可选中选项)按空格键选中 📝 command-logger💾 session-memory 这两个选项,然后按回车键进入下一步
  11. (如有) How do you want to hatch your bot? 选择 Hatch in TUI (recommended)

配置 🦞 OpenClaw(龙虾):

注意事项:以下配置中的 <API_KEY> 需要替换为从 https://platform.wcode.net 获取(创建)的 API Key

推荐方式:修改 openclaw.json(通常位于~/.openclaw/openclaw.json

找到openclaw.json的第一层级的modelsagents属性(如果没有则在第一层级添加modelsagents属性),改为如下配置:

{
  ...其他配置,

  "models": {
      "mode": "merge",
      "providers": {
          "wcode": {
              "baseUrl": "https://wcode.net/api/gpt/v1",
              "apiKey": "<API_KEY>",
              "api": "openai-completions",
              "models": [
                  {
                      "id": "deepseek/deepseek-ocr",
                      "name": "DeepSeek OCR",
                      "reasoning": false,
                      "input": ["text"],
                      "contextWindow": 8000,
                      "maxTokens": 8000
                  }
              ]
          }
      }
  },
  "agents": {
      "defaults": {
         "model": {
             "primary": "wcode/deepseek/deepseek-ocr"
         }
      }
  },

  ...其他配置
}

完成以上配置后,

  1. 执行以下命令,即可通过命令行的方式开始对话:
openclaw tui
  1. 执行以下命令,即可通过 Web 界面的方式开始对话:
openclaw dashboard

配置 OpenCode

推荐方式:修改 opencode.json(通常位于~/.config/opencode/opencode.json

注意事项:以下配置中的 <API_KEY> 需要替换为从 https://platform.wcode.net 获取的 API Key

配置如下:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "myprovider": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "wcode",
      "options": {
        "baseURL": "https://wcode.net/api/gpt/v1",
        "apiKey": "<API_KEY>"
      },
      "models": {
        "deepseek/deepseek-ocr": {
          "name": "DeepSeek OCR"
        }
      }
    }
  }
}

完成以上配置后,执行以下命令,即可启动 OpenCode:

opencode

输入 /models,选择配置的 deepseek/deepseek-ocr 模型并在 OpenCode 中使用。

API 响应示例(curl):

{
    "id": "chatcmpl-t1773932074s421rc143f10510ff6e4494b96342",
    "object": "chat.completion",
    "created": 1773932359,
    "model": "deepseek-ai/deepseek-ocr",
    "usage": {
        "prompt_tokens": 11,
        "completion_tokens": 261,
        "total_tokens": 272,
        "prompt_tokens_details": {
            "cached_tokens": 0
        },
        "input_tokens_details": {
            "cached_tokens": 0
        },
        "output_tokens": 261,
        "input_tokens": 11
    },
    "choices": [
        {
            "index": 0,
            "message": {
                "content": "DeepSeek OCR是一款基于人工智能的OCR工具,可以对手写和打印的文字进行翻译和识别。通过使用这项技术,用户可以快速将手写的文字转换为可编辑的文本,或将印刷的文字转换为可编辑的字体。DeepSeek OCR在金融、法律、医学、社交媒体等领域有广泛的应用。相比传统的手写识别技术,DeepSeek OCR更具准确性和效率,可以大大减少人工操作的错误率。&DeepSeek OCR定位在哪里DeepSeek OCR是一款基于人工智能的OCR工具,它可以在手写和打印的文字中进行实时翻译和识别。DeepSeek OCR的原理是通过人工智能技术对文字进行识别和识别,定位 DeepSeek OCR的准确定位是在用户需要进行操作的地方。一般来说,DeepSeek OCR的定位是在用户想要使用的应用中进行操作的位置。例如,如果您想在电子邮件中插入一段文字,DeepSeek OCR可以自动检测文字并插入到电子邮件中。如果您想在文本中插入图片,DeepSeek OCR可以自动检测图片并插入到文本中。如果您想在电子表格中输入文字,DeepSeek OCR可以自动检测文本并将其插入到电子表格中。总之,DeepSeek OCR可以在用户使用的任何地方进行识别和翻译,因此它通常是在用户需要的地方进行定位。",
                "role": "assistant"
            },
            "refs": null,
            "logprobs": null,
            "finish_reason": "stop",
            "service_tier": null
        }
    ]
}

可选参数:

重要提示:由于模型架构不同,部分参数可能仅适用于特定的模型。

温度(Temperature)

  • 参数:temperature

  • 可选,浮点数,0.0 到 2.0

  • 默认:1.0

此设置影响模型回复的多样性。较低的值会使回复更可预测、更常见;较高的值会鼓励更具多样性且较不常见的回复。当设置为 0 时,模型对相同输入将尽可能的给出相同的回复。

Top-P

  • 参数:top_p

  • 可选,float,0.0 至 1.0

  • 默认值:1.0

top_p 参数控制模型在生成文本时的候选词选择范围。具体来说,模型会生成一组候选 token,然后从累积概率达到或超过 p 的 token 中随机选择一个作为输出。通过这种方式,top_p 能够在保证生成内容的多样性的同时,考虑到概率分布的合理性。

由于 temperature 与 top_p 均可以控制生成文本的多样性,因此建议您只设置其中一个值。

Top-K

  • 参数:top_k

  • 可选,int,>= 0

  • 默认值:0

top_k 会限制模型在每一步对 token 的选择,使其从较小的集合中进行选择。值为 1 表示模型将始终选择最有可能的下一个 token,从而得到可预测的结果。

频率惩罚

  • 参数:frequency_penalty

  • 可选,float,-2.0 至 2.0

  • 默认值:0.0

frequency_penalty 可根据词条在输入中出现的频率来控制其重复使用。它会尝试减少那些在输入中出现频率较高的词条的使用频率,这与它们出现的频率成正比。词条惩罚会随着出现次数的增加而增加。负值将鼓励词条重复使用。

存在惩罚

  • 参数:presence_penalty

  • 可选,float,-2.0 至 2.0

  • 默认值:0.0

presence_penalty 调整模型重复输入中已使用的特定标记的频率。值越高,重复的可能性就越小,负值则相反。标记惩罚不会随着出现次数而变化。负值会鼓励标记重用。

重复惩罚

  • 参数:repetition_penalty

  • 可选,float,0.0 至 2.0

  • 默认值:1.0

repetition_penalty 有助于减少输入中标记的重复。较高的值会降低模型重复标记的可能性,但过高的值会使输出不够连贯(通常会出现缺少小词的连续句子)。标记惩罚会根据原始标记的概率进行调整。

Min-P

  • 参数:min_p

  • 可选,float,0.0 至 1.0

  • 默认值:0.0

min_p 表示某个 token 被考虑的最小概率,该概率是相对于最可能的 token 的概率而言的。如果 min_p 设置为 0.1,则意味着它只允许概率至少为最佳选项十分之一的 token 被考虑。

Top-A

  • 参数:top_a

  • 可选,float,0.0 到 1.0

  • 默认值:0.0

top_a 仅考虑概率“足够高”的 top tokens,该概率基于最可能的 token 概率。可以将其视为一个动态的 Top-P。较低的 Top-A 值会根据概率最高的 token 集中选择,但范围会更窄。较高的 Top-A 值不一定会影响输出的创造性,但会根据最大概率优化过滤过程。

种子

  • 参数:seed

  • 可选,int

如果指定了 seed 参数,推理将确定性地进行采样,即使用相同种子和参数的重复请求应该返回相同的结果。某些模型无法保证确定性。

最大 tokens 数

  • 参数:max_tokens

  • 可选,int,>= 1

max_tokens 可设定模型在响应中可以生成的 token 数量的上限。模型不会生成超过此限制的 token。其最大值等于上下文长度减去 prompt 长度。

Logit Bias

  • 参数:logit_bias

  • 可选,object

logit_bias 是一个可选参数,用于修改指定 token 在模型生成输出中出现的可能性。

对数概率

  • 参数:logprobs

  • 可选,boolean

logprobs 设置是否返回输出 token 的对数概率。如果为 true,则返回每个输出 token 的对数概率。

最高对数概率

  • 参数:top_logprobs

  • 可选,int

top_logprobs 是一个介于 0 和 20 之间的整数,指定在每个 token 位置要返回的最可能 token 的数量,每个 token 都会带有相应的对数概率。如果使用此参数,则必须将 logprobs 设置为 true

响应格式

  • 参数:response_format

  • 可选,object

response_format 强制模型产出特定的输出格式。将其设置为 { "type": "json_object" } 可启用 JSON 模式,保证模型生成的消息为有效的 JSON。

注意:使用 JSON 模式时,应同时通过 system 或 user 提示词指示模型生成 JSON。

结构化输出

  • 参数:structured_outputs

  • 可选,boolean

指示模型是否能够使用 response_format 中的 json_schema 返回结构化输出。

停止

  • 参数:stop

  • 可选,array

如果模型遇到 stop 数组中指定的任意 token,则立即停止生成。

工具

  • 参数:tools

  • 可选,array

工具调用参数,遵循 OpenAI 的工具调用请求格式。对于非 OpenAI 提供者,会相应地进行转换。

工具选择

  • 参数:tool_choice

  • 可选,array

控制模型调用哪个工具。'none' 表示模型不会调用任何工具,而是生成一条消息。'auto' 表示模型可以在生成消息或调用一个或多个工具之间进行选择。'required' 表示模型必须调用一个或多个工具。通过 {"type": "function", "function": {"name": "my_function"}} 指定特定工具会强制模型调用该工具。

并行工具调用

  • 参数:parallel_tool_calls

  • 可选,boolean

  • 默认:true

是否在使用工具时启用并行函数调用。如果为 true,模型可以同时调用多个函数。如果为 false,函数将按顺序依次调用。

冗长程度

  • 参数:verbosity

  • 可选,enumlow medium high

  • 默认:medium

控制模型响应的冗长程度和长度。较低的值会生成更简洁的回答,而较高的值会生成更详细、更全面的回答。


以上文档为标准版 API 接口文档,可直接用于项目开发和系统调用。如果标准版 API 接口无法满足您的需求,需要定制开发 API 接口,请联系我们的 IT 技术支持工程师:

(沟通需求✅ → 确认技术方案✅ → 沟通费用与工期✅ → 开发&测试✅ → 验收交付✅ → 维护升级✅)

最受关注模型

GLM 4.7

文本生成、深度思考

MiniMax M2.1

文本生成、深度思考

Doubao Seed 2.0 Code

代码补全、深度思考

GLM 5

文本生成、深度思考、代码补全

Step 3.5 Flash

文本生成、代码补全、深度思考

Qwen3 Coder Next

文本生成、深度思考、代码补全

Qwen3.5 27B

深度思考、视觉理解、文本生成

Qwen3.5 35B A3B

深度思考、视觉理解、文本生成

Doubao Seed 1.8

多模态、深度思考

Qwen 3.5 Plus

文本生成、深度思考、多模态

最新发布模型

MiMo V2 Omni

文本生成、深度思考、多模态

MiniMax M2.7

文本生成、深度思考、专业能力

GLM 5 Turbo

文本生成、深度思考、OpenClaw优化

Qwen3.5 9B

文本生成、多模态

Qwen3.5 35B A3B

深度思考、视觉理解、文本生成

Qwen3.5 122B A10B

深度思考、视觉理解、文本生成

Qwen3.5 Flash

深度思考

Qwen3.5 27B

深度思考、视觉理解、文本生成

Qwen3.5 397B A17B

文本生成、深度思考、多模态

Doubao Seed 2.0 Code

代码补全、深度思考

Embedding Models

Qwen3 Embedding 8B

文本嵌入、文本向量化

Doubao Embedding Large Text 250515

文本向量化

Qwen Text Embedding V4

文本向量化

Qwen Text Embedding V1

文本向量化

Qwen Text Embedding V2

文本向量化

Doubao Embedding Large

文本向量化

Doubao Embedding

文本向量化

Qwen Text Embedding V3

文本向量化

Hunyuan Embedding

文本向量化