You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Streamlit .markdown方法无法正确渲染Markdown内容求助

解决Streamlit Markdown渲染异常问题

可能原因及对应解决方案

1. 验证内容是否被转义

首先确认sanitized_summary中的Markdown语法(如**)是否被错误转义(变成\*\*)。添加调试代码查看原始内容:

with tab_ai_summary:
    if summary_info['error']:
        tab_ai_summary.error("Could not generate AI summary")
        st.stop()

    sanitized_summary = summary_info['data']
    # 打印内容的原始表示,检查是否有转义字符
    tab_ai_summary.write(repr(sanitized_summary))
    tab_ai_summary.markdown(sanitized_summary)

如果发现**被转义,用字符串替换恢复:

sanitized_summary = sanitized_summary.replace('\*\*', '**')
tab_ai_summary.markdown(sanitized_summary)

2. 清理特殊/不可见字符

文本中的非标准字符(如特殊连字符‑、不可见控制字符)可能干扰Markdown解析,清理后再渲染:

import re

# 移除不可见控制字符
cleaned_summary = re.sub(r'[\x00-\x1F\x7F]', '', sanitized_summary)
# 替换非标准短横线为普通短横线
cleaned_summary = cleaned_summary.replace('‑', '-')
tab_ai_summary.markdown(cleaned_summary)

3. 替换渲染方法

尝试用st.write代替st.markdown,st.write会自动识别并解析Markdown格式:

tab_ai_summary.write(sanitized_summary)

4. 检查Markdown语法完整性

确认所有**加粗标记都是成对出现的,若存在未闭合的标记,会导致后续格式混乱。可以手动检查sanitized_summary的内容,或用工具验证Markdown语法正确性。

内容的提问来源于stack exchange,提问作者Volatil3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 13:27:32