Models 模型

大语言模型是目前人类最强大的AI工具,它是智能体(Agent)运行的引擎。

模型是智能体的推理引擎。它们驱动智能体的决策过程,决定调用哪些工具、如何解释结果以及何时提供最终答案。Deepseek 以其开放性、创新性以及优秀的成本控制能力,成为智能体开发中的优选大语言模型之一。

创建模型

一切从 createModel() 开始。你只需要指定模型名称即可创建一个模型实例,API 密钥会自动从 DEEPSEEK_API_KEY 环境变量中读取:

import { createModel } from 'deepseek-kit'

const model = createModel({
  model: 'deepseek-v4-flash',
})

如果你需要显式传入 API 密钥或使用自定义端点,可以通过 apiKeybaseURL 配置:

const model = createModel({
  model: 'deepseek-v4-flash',
  apiKey: 'your-api-key',
  baseURL: 'https://api.deepseek.com',
})

发送请求

创建模型后,你可以使用 invoke() 发送一次完整的聊天补全请求,获取模型的完整回复:

const completion = await model.invoke({
  messages: [
    { role: 'user', content: '你好!' },
  ],
})

console.log(completion.choices[0].message.content)

如果你希望实时获取模型的输出,可以使用 invokeStream() 进行流式请求:

for await (const chunk of model.invokeStream({
  messages: [{ role: 'user', content: '你好!' }],
})) {
  if (chunk.choices[0]?.delta?.content) {
    process.stdout.write(chunk.choices[0].delta.content)
  }
}

启用思考模式

DeepSeek 模型默认开启思考模式,模型会在回答前进行深度推理,适合处理复杂问题。默认推理力度为 'high',你可以根据需要关闭思考模式或调整推理力度:

// 默认配置(思考模式已启用)
const model = createModel({
  model: 'deepseek-v4-flash',
})

// 关闭思考模式
const model = createModel({
  model: 'deepseek-v4-flash',
  thinking: { type: 'disabled' },
})

// 调整推理力度
const model = createModel({
  model: 'deepseek-v4-flash',
  reasoningEffort: 'max',
})

克隆模型配置

当你需要基于同一个模型创建不同配置的实例时,可以使用 withConfig() 避免重复初始化:

const flashModel = createModel({ model: 'deepseek-v4-flash' })
const proModel = flashModel.withConfig({ model: 'deepseek-v4-pro' })

withConfig() 会合并新配置到当前实例,返回一个新的模型实例,原始实例不受影响。

API 参考

参数

modelrequiredModel
模型标识符,支持 deepseek-v4-flashdeepseek-v4-pro 或自定义字符串。
apiKeystring
DEEPSEEK_API_KEY 环境变量
DeepSeek API 密钥。
baseURLstring
https://api.deepseek.com
API 基础 URL。
userIdstring
可选的用户标识符。
thinking{ type: 'enabled' | 'disabled' }
启用/禁用思考模式。
reasoningEffort'high' | 'max'
推理力度级别。
maxTokensnumber
最大生成 Token 数。
temperaturenumber
采样温度(0-2)。
topPnumber
核采样参数。
streamOptions{ include_usage: boolean }
流式选项。
timeoutnumber
60000
请求超时时间(毫秒)。
maxRetriesnumber
3
429/500/503 错误最大重试次数。
strictboolean
false
全局启用严格模式。启用后,SDK 会自动使用 Beta 端点并为请求中的所有工具传递 strict: true。详见严格模式

方法

invoke(params: InvokeParams)Promise<ChatCompletion>
发送聊天补全请求并返回完整响应。
invokeStream(params: InvokeParams)AsyncGenerator<ChatCompletionChunk>
流式聊天补全,返回块的异步生成器。
fim(params: FIMParams)Promise<FIMResponse>
Fill-in-the-Middle 代码补全。
list()Promise<ListModelsResponse>
获取可用模型列表。
balance()Promise<UserBalanceResponse>
查询账户余额。
withConfig(options: Partial<ModelOptions>)DeepSeekModel
创建合并了新配置的模型实例。