phpcms 外贸网站模板,豆瓣fm wordpress,精准营销的三大要素,公司的网站推广1.本地部署
1.1 ollama Ollama软件通过其高度优化的推理引擎和先进的内存管理机制#xff0c;显著提升了大型语言模型在本地设备上的运行效率。其核心采用了量化技术#xff08;Quantization#xff09;以降低模型的计算复杂度和存储需求#xff0c;同时结合张量并行计算显著提升了大型语言模型在本地设备上的运行效率。其核心采用了量化技术Quantization以降低模型的计算复杂度和存储需求同时结合张量并行计算Tensor Parallelism和混合精度计算Mixed Precision Computing在FP16、INT8等低精度格式下实现高效的数值运算从而大幅减少显存占用并加速推理过程。此外Ollama支持动态批处理Dynamic Batching和分布式推理Distributed Inference能够根据输入请求动态调整资源分配并通过多GPU或节点间的高效通信协议如NCCL实现弹性扩展突破单机硬件限制。为确保兼容性Ollama内置了对主流框架如PyTorch、TensorFlow的支持并通过ONNX Runtime和TensorRT进一步优化模型性能同时提供灵活的API接口和模块化设计允许用户进行自定义微调Fine-tuning和Prompt工程满足多样化应用场景需求。 1.1.1 下载安装
https://ollama.com/download 双击打开安装ollama默认只能安装在C盘占用4.6G 空间。 C:\用户\用户名称\AppData\Local\Programs\Ollama 我的电脑中安装目录C:\Users\Administrator\AppData\Local\Programs\Ollama
1.1.2 环境变量
默认ollama去下载部署deepseek模型时会放在C盘 C:\Users\Administrator\.ollama\models文件夹中。修改环境变量可以让后续模型下载到其他盘符。 OLLAMA_MODELS D:\ollama\models 配置好之后ollama重启 或 重启电脑 让环境变量生效。
1.2 deepseek部署
https://ollama.com/library/deepseek-r1 根据自己电脑配置部署模型规模
模型规模硬盘显存需求内存显卡要求1.5B1.1 GB~2-3 GB~4-6 GB单卡RTX 3060/3090/40907B4.7 GB~8-12 GB~16-24 GB单卡RTX 3090/4090/A1008B4.9 GB~9-13 GB~18-26 GB单卡RTX 3090/4090/A10014B9.0 GB~16-20 GB~32-40 GB单卡A100 40GB32B20 GB~35-45 GB~70-90 GB单卡A100 80GB或多卡并行70B43 GB~75-90 GB~150-180 GB多卡A100/H100 NVLink671B404 GB~700-900 GB~1.4-1.8 TB多卡集群A100/H100 NVLink
执行命令本地部署
ollama run deepseek-r1:1.5b2.deepseek调用 ollama中的服务可以用两种方式启动默认监听本机localhost 和 端口11434
在终端执行命令 ollama serve 找到ollama图标点击运行
2.1 终端调用
C:\Users\Administratorollama list
NAME ID SIZE MODIFIED
deepseek-r1:1.5b a42b25d8c10a 1.1 GB 4 hours ago
C:\Users\Administratorollama run deepseek-r1:1.5b学习python的路径
think
好吧我现在要学习Python了。我对它还不是很了解所以得一步一步来。首先我应该确定我的学习目标是什么。可能是从基础开始比如语
法和基本概念然后逐步深入到更高级的内容。
.../bye2.2 API调用
对话相关的API有两个
/api/generate用于一次性生成特定文本的场景。/api/chat针对多轮对话上下文生成的回复消息。
接下来结合案例来使用API来调用需要安装Python环境 和 requests 模块。
示例/api/generate
该 API 主要用于基于给定的提示信息生成文本内容。它适用于一次性生成特定文本的场景不涉及对话上下文的维护.请求参数model要使用的模型名称例如 deepseek-r1:1.5b。prompt提示信息即向模型提供的输入文本模型会根据该提示生成相应的内容。可选参数还可以包含其他参数来控制生成的行为如 temperature控制生成文本的随机性值越大越随机、max_tokens限制生成文本的最大令牌数等。示例请求体{model: llama2,prompt: 写一首关于春天的诗,temperature: 0.7,max_tokens: 200}import requestsres requests.post(urlhttp://localhost:11434/api/generate,json{model: deepseek-r1:1.5b,prompt: 写一首关于春天的诗,stream: False}
)data_dict res.json()
print(data_dict)示例/api/chat
用于模拟对话交互它会维护对话的上下文使得模型能够根据之前的对话内容生成合适的回复实现更自然、连贯的对话效果。请求参数model要使用的模型名称。messages一个包含对话消息的列表每个消息对象包含 role角色如 user 表示用户消息assistant 表示模型回复和 content消息内容。同样可以包含可选参数来控制生成行为。示例请求体{model: deepseek-r1:1.5b,messages: [{role: user,content: 你好}],temperature: 0.8}import requestsres requests.post(urlhttp://localhost:11434/api/chat,json{model: deepseek-r1:1.5b,messages: [{role: user, content: 你好}],stream: False}
)
data_dict res.json()
print(data_dict)可以将对话保存下来生成对话
import requestsmessage_list []while True:text input(请输入)user_dict {role: user, content: text}message_list.append(user_dict)res requests.post(urlhttp://localhost:11434/api/chat,json{model: deepseek-r1:1.5b,messages: message_list,stream: False})data_dict res.json()res_msg_dict data_dict[message]print(res_msg_dict)message_list.append(res_msg_dict)2.3 网页交互
搭建一个网站在内部进行访问使用。
第1步电脑安装nodejs
https://nodejs.org/zh-cn/download 第2步下载网站源码
https://github.com/ollama-webui/ollama-webui-lite 下载并解压至任意目录。例如F:\ollama-webui-lite-main 【不要有中文路径】 第3步安装依赖并启动网站
打开CMD终端进入项目目录并执行相关命令。
C:\Users\AdministratorF:
F:\cd F:\ollama-webui-lite-main
F:\ollama-webui-lite-main
F:\ollama-webui-lite-mainnpm ci
F:\ollama-webui-lite-mainnpm run dev -- --port9001访问网站http://localhost:9001/
3.微信收发信息
wxauto 是一个基于UIAutomation开发的用于实现微信自动化得库。 消息发送支持发送文字、图片、文件、群好友、引用消息等功能 聊天记录可获取好友的聊天记录内容 监听消息实时获取指定监听好友群的新消息 所用开发环境Python 3.12.6 PC微信 3.9.12目前最新 实现原理在电脑安装PC微信基于wxauto自动控制微信界面来实现收发消息等功能。 安装wxauto
pip install wxauto3.9.11.17.5发消息
from wxauto import WeChat
wx WeChat()
wx.SendMsg(msg你好呀, whoxxx_888) # 指定人/群发消息# wx.SendMsg(msg你好呀, who群名, at[张三,张开]) # 群消息指定人
# wx.SendMsg(filepathF:\xxx.png, who用户或群)
# wx.SendMsg(filepath[文件A,文件B,F:\xxx.png], who用户或群) 收消息所有
from wxauto import WeChatwx WeChat()while True:# 等待接受收到的最新消息# {用户昵称A:[消息对象1,消息对象2,消息对象3], 用户昵称B:[消息对象1,消息对象2,消息对象3], }msg_dict wx.GetNextNewMessage()for username, msg_list in msg_dict.items():print(昵称, username)# [消息对象1, 消息对象2, 消息对象3]for msg in msg_list:print(\t消息, msg.type, msg.content)收消息指定用户
from wxauto import WeChat
wx WeChat()wx.AddListenChat(who运营)
wx.AddListenChat(whoxxx_888)while True:# { 用户A聊天窗口:[消息对象1,消息对象2,消息对象3], 用户B聊天窗口:[消息对象1,消息对象2,消息对象3]}listen_dict wx.GetListenMessage()for chat_win,message_list in listen_dict.items():# 用户或群名chat_user chat_win.who# [消息对象1,消息对象2,消息对象3]for msg in message_list:if msg.type ! friend:continueprint(chat_user, msg.content)# 回复消息# chat_win.SendMsg(回复的内容)time.sleep(5)欢迎贡献代码和改进项目