华为云主机+AI大模型=?我用Python Flask打造了「坚果派」智能咨询助手!(下篇)
【坚果派智能问答助手技术解析】基于Flask+DeepSeekAPI构建的专属技术问答系统,集成会话管理、多级安全防护和Markdown渲染功能。系统采用Bleach+DOMPurify双重净化保障内容安全,通过marked.js实现技术文档的美观展示。特色功能包括:1)HarmonyOS技术问答 2)组织信息查询 3)响应式跨端适配 4)渐进式反馈机制。技术栈包含Flask后端、DeepSeek
结合上述内容,为了证明博主没有吹!上图片!
项目概述
本文介绍了一个专为坚果派组织打造的智能问答助手,该助手基于Flask框架和DeepSeek API构建,专注于解答HarmonyOS/OpenHarmony等技术问题及组织相关信息。系统具有完整的会话管理、Markdown渲染和安全防护功能。
技术栈
-
后端框架: Flask
-
AI引擎: DeepSeek API
-
前端技术: HTML5 + CSS3 + JavaScript
-
安全处理: Bleach + DOMPurify
-
Markdown渲染: marked.js + Highlight.js
-
项目可以在云主机进行启动
├── app.py # 主应用逻辑
├── config.py # 配置文件
├── templates
│ └── index.html # 前端界面
└── static
├── marked.min.js # Markdown解析
├── highlight.min.js # 代码高亮
└── purify.min.js # HTML净化
核心功能实现
1. Flask应用初始化 (app.py)
app = Flask(__name__)
app.config.from_object(Config)
# 安全会话配置
app.config.update(
SESSION_PERMANENT=False,
SESSION_USE_SIGNER=True
)
# Markdown过滤器
@app.template_filter('markdown')
def markdown_filter(text):
html = markdown.markdown(text, extensions=['extra', 'codehilite'])
return bleach.clean(html, tags=allowed_tags, attributes=allowed_attrs)
2. DeepSeek API集成
# 初始化OpenAI客户端
client = openai.OpenAI(
api_key=app.config["DEEPSEEK_API_KEY"],
base_url=app.config["DEEPSEEK_BASE_URL"]
)
@app.route("/chat", methods=["POST"])
def chat():
# 调用DeepSeek API
response = client.chat.completions.create(
model="deepseek-chat",
messages=session["messages"],
temperature=0.7,
max_tokens=1000
)
return jsonify({"status": "success", "response": response.choices[0].message.content})
3. 会话管理系统
# 初始化会话
if "messages" not in session:
session["messages"] = [
{"role": "system", "content": "角色名称:坚果派咨询助手..."},
{"role": "assistant", "content": "您好!我是坚果派咨询助手..."}
]
# 清空会话
@app.route("/clear", methods=["POST"])
def clear_chat():
session["messages"] = [初始消息]
session.modified = True
前端关键技术
1. 响应式消息界面
<div class="message {{ 'user' if msg.role == 'user' else 'ai' }}">
<div class="message-content">
{{ msg.content | markdown | safe }}
</div>
<div class="message-time">{{ msg.time }}</div>
</div>
2. Markdown实时渲染
function renderMarkdown(content)
{ const cleanContent = DOMPurify.sanitize(content);
return marked.parse(cleanContent); }
部署与运行
# 安装依赖 pip install flask openai markdown bleach # 创建会话存储目录 mkdir sessions # 启动应用 python app.py
技术亮点与后续完善
-
领域专属知识库:针对坚果派组织定制系统角色设定
-
安全渲染管道:Markdown → Bleach净化 → DOMPurify二次防护
-
渐进式反馈机制:分阶段显示处理过程提升用户体验
-
技术提示系统:随机展示HarmonyOS开发技巧
-
响应式设计:完美适配桌面和移动设备
应用场景与后续场景预告
-
坚果派新成员技术培训
-
HarmonyOS开发问题实时解答
-
组织历史与成就查询
-
技术文档智能检索
-
开发者社区支持
有兴趣随时私信依据坚果派咨询助手构筑自己的小demo!
云主机领取链接:PC端:https://developer.huaweicloud.com/space/devportal/desktop?utm_source=csdndspace&utm_adplace=csdncxlhdp3
更多推荐
所有评论(0)