本地 运行大模型比较 方便,我们就弄个本地的,使用ollama进行搭建。
一、下载大模型服务Ollama
到https://ollama.com/download下载安装包(以下以Windows为例)。
二、安装Ollama软件

安装好后在任务校址有启动图标
三、下载摘取模型,以千问2.5为例
打开模型地址:https://ollama.com/library/qwen2.5:7b-instruct
下载对应模型,本人下载qwen2.5:7b-instruct ,如下图所示:

四、运行模型进行对话
执行命令:ollama run qwen2.5:7b-instruct 如下图所示:

五、搭建网页版本对话
打开VSCode,输入代码:
import streamlit as st # 导入 Streamlit 库,用于快速构建 Web 应用
from openai import OpenAI # 导入 OpenAI 客户端,用于与模型交互
# 初始化客户端,设置 Ollama 本地服务的 URL 和默认 API Key
client = OpenAI(
base_url='http://localhost:11434/v1/', # 指定 Ollama 本地服务 URL
api_key='ollama', # 使用默认的 API Key (如为本地服务一般不需实际验证)
)
def main():
# 设置 Streamlit 应用的标题
st.title("基于 Qwen 模型的实时聊天应用")
# 在页面上添加一个文本输入框,用户可以输入自己的问题或内容
user_input = st.text_input("请输入内容:", "") # 默认内容为空
# 添加一个按钮,点击后触发生成操作
if st.button("生成"): # 检测用户是否点击了“生成”按钮
if user_input.strip(): # 确保用户输入了非空内容
with st.spinner("生成中..."): # 显示一个加载动画,提示用户正在生成
# 调用模型的流式生成接口,生成内容
chat_completion = client.chat.completions.create(
messages=[ # 输入内容列表
{
'role': 'user', # 定义角色为用户
'content': user_input, # 用户输入的内容
}
],
model='qwen2.5:7b-instruct', # 指定使用的模型名称qwen2.5:7b-instruct qwen2.5:0.5b
stream=True, # 启用流式模式,实时获取生成结果
temperature=0.5, # 设置生成的随机性,0.5 是中等随机性
max_tokens=512, # 设置最大生成长度
top_p=0.8 # 设置采样的概率范围,较高的值会更多样化
)
# 准备存储生成结果的列表
result = []
response_placeholder = st.empty() # 创建一个占位符,用于实时更新生成结果
# 遍历模型返回的流式内容
for chunk in chat_completion:
# 检查当前 chunk 是否包含生成内容的 delta 属性
if hasattr(chunk.choices[0].delta, 'content'): # 如果有 content 属性
content = chunk.choices[0].delta.content # 获取生成的内容
result.append(content) # 将内容添加到结果列表中
response_placeholder.text(''.join(result)) # 实时更新显示结果
else:
# 如果用户没有输入任何内容,显示警告提示
st.warning("请输入内容以开始生成!")
if __name__ == "__main__":
main()
可以不用定义main函数
运行 :streamlit run g:/aBigModels/2Codes/FirstModels/app.py
由于streamlit 使用这个服务,所以单独运行的


六、运行在网页上
运行后会启动网页,如果没有自动打开需要自己打开浏览器

输入对话,下面内容就回复,如上图所示。
七、修改默认模型存放地址

原来默
认地址放在 C盘

修改后变成环境变量的位置,如上图所示。
浙公网安备 33010602011771号