华为云主机+AI大模型=?我用Python Flask打造了「坚果派」智能咨询助手!(下篇)
结合上述内容,为了证明博主没有吹!上图片!
https://blog.csdn.net/sofaer/article/details/149884377?spm=1011.2124.3001.6209
项目概述
本文介绍了一个专为坚果派组织打造的智能问答助手,该助手基于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)
AI生成项目
python
运行
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})
AI生成项目
python
运行
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
AI生成项目
python
运行
前端关键技术
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>
AI生成项目
python
运行
2. Markdown实时渲染
function renderMarkdown(content)
{ const cleanContent = DOMPurify.sanitize(content);
return marked.parse(cleanContent); }
AI生成项目
python
运行
部署与运行
# 安装依赖
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
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/sofaer/article/details/149884377
- 点赞
- 收藏
- 关注作者
评论(0)