Liking cljdoc? Tell your friends :D

im.ttalk.agent.provider.deepseek

DeepSeek Provider —— OpenAI 兼容实现(统一由 base/defprovider 生成)。

需要 DEEPSEEK_API_KEY 或显式 :api-key。 模型:deepseek-chat、deepseek-reasoner。

DeepSeek 专属差异(均已支持):

  • reasoning_content:deepseek-reasoner 的思维链(同步 message.reasoning_content / 流式 delta.reasoning_content),统一归一化到 :reasoning 字段,:text 为干净答案; 流式推理 token 经回调 :reasoning-token 单独下发
  • 前缀续写(beta):call-prefix-completion / call-prefix-completion-stream, 最后一条 assistant 消息标记 prefix:true,模型从该前缀继续生成 (自动走 https://api.deepseek.com/beta 路径),常与 :stop 搭配
  • SSE 末块 usage:流式最后一个 chunk 原生携带 usage (含 prompt_cache_hit_tokens / prompt_cache_miss_tokens),已捕获并归一化为 :cache-read-tokens / :cache-miss-tokens
  • 注意:deepseek-reasoner 不支持 logprobs/top_logprobs(设置会报错), temperature/top_p/presence_penalty/frequency_penalty 会被忽略 —— 本实现「存在才发送」,不传即安全

作为 OpenAI 兼容实现,同样继承 common.openai-compat 的通用能力: :parallel-tool-calls、:response-format(json_object / json_schema+strict 结构化输出)、 :stream-options、:extra-body 等(:reasoning-effort/:verbosity 为 OpenAI 系参数, DeepSeek 当前忽略,但传入安全)。

(require '[im.ttalk.agent.provider.deepseek :as deepseek]) (def provider (deepseek/create-provider {:api-key "sk-..."}))

;; 前缀续写:让模型续写 "春天的风" (deepseek/call-prefix-completion {:model "deepseek-chat" :max-tokens 256} [{:role "user" :content "写一句诗"} {:role "assistant" :content "春天的风"}] nil)

DeepSeek Provider —— OpenAI 兼容实现(统一由 base/defprovider 生成)。

需要 DEEPSEEK_API_KEY 或显式 :api-key。
模型:deepseek-chat、deepseek-reasoner。

DeepSeek 专属差异(均已支持):
- reasoning_content:deepseek-reasoner 的思维链(同步 message.reasoning_content /
  流式 delta.reasoning_content),统一归一化到 :reasoning 字段,:text 为干净答案;
  流式推理 token 经回调 :reasoning-token 单独下发
- 前缀续写(beta):call-prefix-completion / call-prefix-completion-stream,
  最后一条 assistant 消息标记 prefix:true,模型从该前缀继续生成
  (自动走 https://api.deepseek.com/beta 路径),常与 :stop 搭配
- SSE 末块 usage:流式最后一个 chunk 原生携带 usage
  (含 prompt_cache_hit_tokens / prompt_cache_miss_tokens),已捕获并归一化为
  :cache-read-tokens / :cache-miss-tokens
- 注意:deepseek-reasoner 不支持 logprobs/top_logprobs(设置会报错),
  temperature/top_p/presence_penalty/frequency_penalty 会被忽略 ——
  本实现「存在才发送」,不传即安全

作为 OpenAI 兼容实现,同样继承 common.openai-compat 的通用能力:
:parallel-tool-calls、:response-format(json_object / json_schema+strict 结构化输出)、
:stream-options、:extra-body 等(:reasoning-effort/:verbosity 为 OpenAI 系参数,
DeepSeek 当前忽略,但传入安全)。

(require '[im.ttalk.agent.provider.deepseek :as deepseek])
(def provider (deepseek/create-provider {:api-key "sk-..."}))

;; 前缀续写:让模型续写 "春天的风"
(deepseek/call-prefix-completion
  {:model "deepseek-chat" :max-tokens 256}
  [{:role "user" :content "写一句诗"}
   {:role "assistant" :content "春天的风"}]
  nil)
raw docstring

beta-base-urlclj

DeepSeek beta 功能基础 URL(前缀续写等)

DeepSeek beta 功能基础 URL(前缀续写等)
sourceraw docstring

call-deepseekclj

(call-deepseek config__10075__auto__
               messages__10076__auto__
               tools__10077__auto__)

调用 deepseek API(同步)

调用 deepseek API(同步)
sourceraw docstring

call-deepseek-asyncclj

(call-deepseek-async config__10075__auto__
                     messages__10076__auto__
                     tools__10077__auto__)

异步调用 deepseek API(返回 deferred<响应体>)

异步调用 deepseek API(返回 deferred<响应体>)
sourceraw docstring

call-deepseek-streamclj

(call-deepseek-stream config__10075__auto__
                      messages__10076__auto__
                      tools__10077__auto__
                      on-token__10078__auto__)

流式调用 deepseek API

流式调用 deepseek API
sourceraw docstring

call-deepseek-stream-asyncclj

(call-deepseek-stream-async config__10075__auto__
                            messages__10076__auto__
                            tools__10077__auto__
                            on-token__10078__auto__)

异步流式调用 deepseek API(返回 deferred<最终响应>)

异步流式调用 deepseek API(返回 deferred<最终响应>)
sourceraw docstring

call-prefix-completionclj

(call-prefix-completion config messages tools)

对话前缀续写(同步,beta)

最后一条 assistant 消息的 content 作为前缀,模型从其继续生成。 config 与 call-deepseek 一致(建议搭配 :stop 控制结束位置)。

返回:OpenAI 格式响应(续写内容在 choices[0].message.content)。

对话前缀续写(同步,beta)

最后一条 assistant 消息的 content 作为前缀,模型从其继续生成。
config 与 call-deepseek 一致(建议搭配 :stop 控制结束位置)。

返回:OpenAI 格式响应(续写内容在 choices[0].message.content)。
sourceraw docstring

call-prefix-completion-streamclj

(call-prefix-completion-stream config messages tools on-token)

对话前缀续写(SSE 流式,beta)

参数:

  • on-token: 回调 (fn [{:keys [token reasoning-token ...]}] ...)

返回:与同步调用兼容的最终响应(含末块 usage、真实 finish_reason)。

对话前缀续写(SSE 流式,beta)

参数:
- on-token: 回调 (fn [{:keys [token reasoning-token ...]}] ...)

返回:与同步调用兼容的最终响应(含末块 usage、真实 finish_reason)。
sourceraw docstring

create-providerclj

(create-provider)
(create-provider opts10194)

创建 deepseek Provider

创建 deepseek Provider
sourceraw docstring

default-configclj

默认 deepseek 配置

默认 deepseek 配置
sourceraw docstring

mark-prefixclj

(mark-prefix messages)

把最后一条 assistant 消息标记为前缀(prefix: true)

参数:

  • messages: wire 格式消息列表,最后一条必须是 assistant

返回:标记后的消息向量;最后一条非 assistant 时抛 ExceptionInfo。

把最后一条 assistant 消息标记为前缀(prefix: true)

参数:
- messages: wire 格式消息列表,最后一条必须是 assistant

返回:标记后的消息向量;最后一条非 assistant 时抛 ExceptionInfo。
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close