.NET+AI | MEAI | 基于 IChatClient 获取思考过程(15)

.NET+AI | MEAI | 基于 IChatClient 获取思考过程(15)

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

本文介绍如何在 Microsoft.Extensions.AI 中启用 DeepSeek 和千问推理模型的推理模式,支持流式和非流式获取思考过程。通过 RawRepresentationFactory 和 JsonPatch 设置参数,实时提取推理内容,以优化用户体验和调试。

🎯

关键要点

  • DeepSeek和千问推理模型支持输出思考过程。
  • 推理内容是模型内部的思考逻辑,独立于最终回答。
  • JsonPatch是动态参数配置机制,用于设置enable_thinking等参数。
  • RawRepresentationFactory允许开发者配置底层SDK对象。
  • 启用推理模式需要通过RawRepresentationFactory和JsonPatch设置参数。
  • 流式获取推理内容可以实现实时展示思考过程。
  • 非流式获取推理内容可在完整响应后提取。
  • 优先使用流式响应以改善用户体验,减少等待焦虑。
  • 注意不同模型的参数差异以适配设置。
  • 推理内容会消耗Token,需根据需求开启。
  • 利用推理内容分析模型的结论,有助于优化Prompt。

延伸问答

如何在 Microsoft.Extensions.AI 中启用推理模式?

通过 RawRepresentationFactory 和 JsonPatch 设置底层参数来启用推理模式。

流式和非流式获取推理内容有什么区别?

流式获取推理内容可以实时展示思考过程,而非流式则在完整响应后提取推理内容。

JsonPatch 在推理模式中有什么作用?

JsonPatch 是动态参数配置机制,用于设置 enable_thinking 等非标准参数。

使用推理内容有什么好处?

推理内容可以帮助分析模型的结论,有助于优化 Prompt 和调试。

如何实时提取推理内容?

在流式响应中,通过提取更新中的 reasoning_content 来实时展示推理内容。

推理内容会影响 Token 消耗吗?

是的,推理内容会消耗 Token,因此在生产环境中需根据需求开启。

➡️

继续阅读