Qwen-Agent输出自然语言

要让Qwen-Agent输出的内容不使用Markdown格式并转为自然语言描述,可以通过以下方式实现:


方法一:调整输入指令

在提问时直接指定输出格式,例如:

  1. 在问题开头添加要求:
    "请用自然语言回答,不要使用任何Markdown格式。"
    (例如:用户当前提问中的“要求自然语言描述”已触发此效果)

  2. 示例调整后的提问:
    ❌ 原提问:如何设计物联网平台?
    ✅ 优化后:请用纯文本自然语言描述,不要用Markdown,如何设计物联网平台?


方法二:修改系统级Prompt(开发者模式)

如果使用API或代码调用Qwen-Agent,可在系统提示(System Prompt)中设定格式规则:

# 示例代码(假设使用Qwen API)
from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
  model="qwen-agent",
  messages=[
    {"role": "system", "content": "你是一个助手,所有回答必须使用纯文本自然语言,禁止使用任何Markdown符号如#、-、*等。"},
    {"role": "user", "content": "如何设计物联网平台?"}
  ]
)
print(response.choices[0].message.content)

方法三:后处理过滤(针对已有输出)

如果已经生成含Markdown的内容,可通过正则表达式移除符号:

import re

def clean_markdown(text):
    text = re.sub(r'#+\s*', '', text)    # 移除标题符号(如## 标题 → 标题)
    text = re.sub(r'\*{2}(.*?)\*{2}', r'\1', text)  # 移除加粗(**内容** → 内容)
    text = re.sub(r'-\s+', ' ', text)    # 移除列表符号(- 内容 → 内容)
    return text

# 示例:将之前生成的Markdown文本转为纯文本
original_output = "### 一、高并发设备接入层设计\n1. **分布式MQTT Broker集群**..."
clean_text = clean_markdown(original_output)
print(clean_text)

效果对比示例

原始Markdown输出:

### 二、消息处理与异步架构  
1. **消息队列选型与优化**  
   - 优先选择Kafka或RocketMQ,支持百万级TPS吞吐量。  

转换后自然语言输出:

二、消息处理与异步架构  
在消息队列选型方面,建议优先选择Kafka或RocketMQ,这类工具能支持每秒百万级事务处理能力的高吞吐场景。

注意事项

  1. 避免歧义符号:自然语言中仍需保留必要的标点(如句号、逗号),仅移除Markdown特有符号。
  2. 人工校验:自动化过滤可能误删内容(如用户正常使用的*号),建议对关键内容做人工确认。
posted @ 2025-05-17 07:23  好奇成传奇  阅读(201)  评论(0)    收藏  举报