AI大模型基础-私有化部署大模型
蒸馏模型大模型的运行需要极高的硬件资源通常都是服务器集群并挂载很多的GPU为了满足低性能设备的运行可以对大模型进行蒸馏私有化部署大模型后端和模型部署--前端部署--使用ollama在本地机器上导入、定制自己的模型管理LLMs下载一个deepseek模型使用ollama部署后端改成持续对话和普通调用api的区别使用streamlit部署前端streamlit run hello_streamlit.py命令执行后Streamlit 会启动一个本地服务器并自动在默认浏览器中打开应用页面。你将看到页面上显示着设置的标题和文本内容这就是一个最简单的 Streamlit 应用。每次修改代码并保存后Streamlit 应用会自动实时更新页面显示无需手动重启服务器streamlit的消息容器它专门用于构建类似 ChatGPT 的对话界面 。你可以把它想象成一个容器里面可以放文本、图表、代码等各种 Streamlit 元素角色支持user assistant ai humanst.chat_message(user)创建一个容器来装你自己发送的消息通常会显示在右侧带有人形图标 。st.chat_message(assistant)创建一个容器来装 AI 的回复通常会显示在左侧带有机器人图标 。streamlit开发对话网页可以完成多轮对话要做一个完整的聊天界面它通常和输入框st.chat_input配合使用st.chat_message就是你在 Streamlit 里搭建聊天界面的核心工具负责“展示对话内容”而st.chat_input负责“接收用户输入”展示历史消息st.session_state获取新输入import streamlit as st import ollama st.set_page_config(page_titleai助手, page_icon) # 初始化聊天记录 if messages not in st.session_state: st.session_state.messages [] st.title( 我的AI助手) # 显示历史消息 for msg in st.session_state.messages: with st.chat_message(msg[role]): st.markdown(msg[content]) # 接受用户输入 prompt st.chat_input(请输入您的问题) if prompt: # 把用户的问题加入历史并展示 st.session_state.messages.append({role: user, content: prompt}) with st.chat_message(user): st.markdown(prompt) # 调用 ollama 模型 with st.chat_message(assistant): with st.spinner(我正在思考请稍等。。。): try: # 把变量名改成 res避免和导入的冲突 res ollama.chat( modelqwen2.5:3b, messagesst.session_state.messages ) reply res[message][content] except Exception as e: reply f出错了{e} st.markdown(reply) st.session_state.messages.append({role: assistant, content: reply})不是很理解这个with其实有点像with open(file.txt, r) as f: data f.read()最终效果如下