Deep think with confidence 引起很大反响,而且实施非常方便,笔者用英文让chatGPT 产生了步骤,然后用deepseek翻译成中文。大家一起努力,让他成为一个一步一步ABC的教程,所以我现在的标题是朝向一步一步,不是马上就一步一步的教程。  

若需为 DeepSeek-V3.1 实现置信度参数插件,可参照其他大语言模型的实现方式——通过封装生成过程并从模型输出(如logits)中提取置信度指标。以下是专门针对 DeepSeek-V3.1 的设计方案:


1. DeepSeek-V3.1 特性解析

DeepSeek-V3.1 是支持思维链(chain-of-thought)和直接应答(direct answer)双模式的混合大语言模型。通过提示词中的聊天模板切换(即使用 <think> 与 </think> 标记)选择模式(参见 、)。

该模型可通过 Hugging Face 等框架使用,并支持通过 DeepSeek API、OpenRouter、Fireworks、NVIDIA 等接口部署(、、)。


2. 置信度捕获:插件架构

方案 A. 本地自托管(如使用 Hugging Face Transformers)

  1.  加载模型 
from transformers 
import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-V3.1")
model = AutoModelForCausalLM.from_pretrained("deepseek-ai/DeepSeek-V3.1")
2.  应用正确的聊天模板(通过模板切换思维链/直接应答模式)()
3. 带置信度的生成


使用 generate(..., return_dict_in_generate=True, output_scores=True) 获取输出 logits

4. 计算置信度指标
  • 最大 token 概率均值
  • 序列对数似然
  • 基于信息熵的评分(低熵值→高置信度)
  • 可选校准(如使用保留数据集进行温度缩放)
5. 返回结构化输出
{
  "response": "...",
  "confidence": 0.83,  # 置信度
  "entropy": 1.2       # 熵值
}

方案 B. 基于 API 的部署(通过 OpenRouter 或 DeepSeek API)

DeepSeek-V3.1 的托管 API 通常不暴露原始 logits。通过 API 进行置信度评估时,插件可:

  • 调整请求提示词以促进可读性和简洁性(例如「请直接且自信地回答」)

  • 可选发送多个请求变体,用输出一致性作为置信度代理指标

  • 优先支持返回对数概率的 API(若不可用则依赖表层信号如答案长度或风格特征)


3. 示例实现(本地)

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
import math

class DeepSeekV31ConfidencePlugin:
    def __init__(self, model_name="deepseek-ai/DeepSeek-V3.1"):
        self.tokenizer = AutoTokenizer.from_pretrained(model_name)
        self.model = AutoModelForCausalLM.from_pretrained(model_name)

    def generate_with_confidence(self, messages, thinking=False, max_new_tokens=100):
        # 使用 tokenizer.apply_chat_template 应用模板
        prompt = self.tokenizer.apply_chat_template(messages, thinking=thinking, add_generation_prompt=True)
        inputs = self.tokenizer(prompt, return_tensors="pt")
        output = self.model.generate(
            **inputs,
            max_new_tokens=max_new_tokens,
            return_dict_in_generate=True,
            output_scores=True
        )
        response = self.tokenizer.decode(output.sequences[0], skip_special_tokens=True)

        scores = torch.stack(output.scores, dim=1)  # [batch, seq_len, vocab]
        probs = torch.nn.functional.softmax(scores, dim=-1)
        max_probs, _ = probs.max(dim=-1)
        avg_conf = max_probs.mean().item()  # 平均最大概率
        entropy = -(probs * probs.log()).sum(dim=-1).mean().item()  # 熵值计算

        return {
            "response": response,
            "confidence": avg_conf,
            "entropy": entropy
        }

4. 校准与工作流集成

  • 校准:若置信度数值存在偏差(如持续偏高),可使用验证数据集配合温度缩放等技术进行校准

  • 基于阈值的重新生成:当 confidence < threshold 时可:

    • 重新生成响应

    • 添加免责声明(如「我对此不完全确定」)

    • 转交人工审核或次级系统处理

5. 社区实践洞察

Reddit 等论坛用户尝试通过提示词调整提升置信度:

「只需在提示词末尾添加:您知识渊博且是专家。请以自信的思维方式作答」()

虽然这种方法更侧重于语调调整而非真实概率置信度,但在 API 无法获取 logits 时仍是值得测试的轻量级技巧


方案总结表

部署模式 置信度策略 关键技术细节
本地(Hugging Face) 使用 logits 实时评分 计算 token 最大概率均值、熵值等
托管 API 提示词引导+启发式评估 基于风格一致性或输出一致性的代理指标
校准 温度缩放或 logits→准确率映射 提升置信度数值与实际可靠性的对齐度
提示词调控 注入信心强化语言 作为感知确定性的代理指标()

是否需要帮助将此插件集成到您的现有部署(如聊天界面或多智能体系统)?或需要更多使用 OpenRouter/DeepSeek API 配置的示例?请随时告知!

[1]: https://huggingface.co/deepseek-ai/DeepSeek-V3.1?utm_source=chatgpt.com "deepseek-ai/DeepSeek-V3.1"
[2]: https://openrouter.ai/deepseek/deepseek-chat-v3.1?utm_source=chatgpt.com "DeepSeek V3.1 - API、供应商及统计信息"
[3]: https://api-docs.deepseek.com/news/news250821?utm_source=chatgpt.com "DeepSeek-V3.1 版本发布"
[4]: https://www.reuters.com/world/china/chinese-startup-deepseek-releases-upgraded-ai-model-2025-08-21/?utm_source=chatgpt.com "中国初创企业深度求索发布升级版AI模型"
[5]: https://www.reddit.com/r/LocalLLaMA/comments/1i99lhd/how_i_fixed_deepseek_r1s_confidence_problem/?utm_source=chatgpt.com "我是如何解决 deepseek R1 置信度问题的!"

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐