计划任务
搜索 -> 任务计划程序 -> 新建任务 -> 做相关设置 -> 确定
最右边 -> 新文件夹 -> 可以对多个不同的任务进行分组
选择任务 -> 右键 -> 可以运行调试或导入/导出XML等
xml示例,点击"更改用户或组" -> 输入Administrator -> 检测名称 -> 确定
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2023-03-28T00:27:24.2099788</Date>
<Author>TANGXIAOFENG\Administrator</Author>
<Description>每天18点生成当天股票收盘信息快照</Description>
<URI>\每日生成股票快照</URI>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2023-03-28T18:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>S-1-5-21-3618576199-1309901590-2507635925-200</UserId>
<LogonType>Password</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>C:\Users\Administrator\AppData\Local\Programs\Python\Python311\python.exe</Command>
<Arguments>D:\wwwroot\python\stock\get_market_snapshot.py</Arguments>
</Exec>
</Actions>
</Task>
如果上面方式配置起来麻烦,可以用Python死循环自己实现一个定时任务
pythonw.exe 可以在windows后台运行死循环脚本
查看脚本是否运行
- ctrl alt del -> 任务管理器 -> 找到Python -> 右键(转到详细信息)-> 能看到pythonw.exe
日志查询
搜索框中输入"事件查看器"
Win + R 输入eventvwr.msc
开机自启动
将需要执行的Python.py文件创建桌面快捷方式
win + r -> shell:startup -> 把快捷方式拖进来
以上方式自启动需要输入密码进入系统后才能自启动,当电脑自动重启的时候不能立即启动,所以使用服务是一种更好的方式
Python安装服务脚本,需要安装win32扩展 pip install pywin32
import win32serviceutil
import win32service
import win32event
import servicemanager
from crontab import main as crontabMain
class PythonService(win32serviceutil.ServiceFramework):
_svc_name_ = 'AAAAA' # 服务名,需要在注册表唯一
_svc_display_name_ = 'BBBBB' # 服务显示名,服务列表显示的名称
_svc_description_ = "CCCCC" # 服务描述,服务列表显示的描述
def __init__(self, args):
win32serviceutil.ServiceFramework.__init__(self, args)
self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
self.stop_event = 0
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.hWaitStop)
self.stop_event = 1
def SvcDoRun(self):
servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
servicemanager.PYS_SERVICE_STARTED,
(self._svc_name_, ''))
self.main()
def main(self):
# 需要在服务中运行的Python脚本,这里以一个Python死循环的定时任务举例
crontabMain()
return True
def main():
win32serviceutil.HandleCommandLine(PythonService)
if __name__ == '__main__':
main()
安装服务,右键powershell,以管理员身份运行
# 安装服务
python.exe PythonService.py install
# 启动服务
python.exe PythonService.py start
# 删除服务
python.exe PythonService.py start
设置开机自启动
windows搜索"服务",找到对应服务,设置为自动
命令行问题
CMD控制台进入了快速编辑模式导致策略运行挂起
打开CMD控制台,右键 -> 属性 -> 选项 -> 把快速编辑模式前的勾选去掉 -> 确定
本地AI
LLM:大模型(Large Language Model)
ollama + open-webui + 模型(llama3、GGUF模型)
ollama 是一个开源的AI模型部署工具,旨在帮助用户在本地环境或云端部署和管理大型语言模型
需要使用 docker 安装 webUI
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
如果无法访问,防火墙开放3000端口,并重启下电脑
127.0.0.1:3000 访问
右上角设置 -> 找到模型 -> 下载相关模型 -> 比如:llama3:8b
https://unsloth.ai 训练和微调语言模型的工具,支持很多开源的语言模型
开源大模型下载网站: huggingface镜像 魔搭
右上角设置 -> 找到模型 -> 上传微调好的模型.GGUF
RAG:检索增强生成(Retrieval Augmented Generation)
知识库QA
[{
"instruction": "小明溜溜球价格描述",
"output": "红色:35元/个"
}, {
"instruction": "小明溜溜球价格描述",
"output": "黄色:30元/个"
}, {
"instruction": "小明溜溜球价格描述",
"output": "绿色:40元/个"
}, {
"instruction": "小明溜溜球价格描述",
"output": "绿色:40元/个"
}, {
"instruction": "小明溜溜球价格描述",
"output": "土豪金:99元/个"
}
]
ollama默认监听,127.0.0.1:11434
修改环境变量:OLLAMA_HOST 0.0.0.0:11434
本地知识管理2
ollama.com 下载 ollama 双击安装
或者 curl -fsSL https://ollama.com/install.sh | sh
127.0.0.1:11434 查看 ollama 是否安装成功
命令行运行模型(第一次会自动安装),增加 --verbose 能输出性能
ollama run deepseek-r1:7b --verbose
查看ollama日志
journalctl -u ollama --no-pager
访问本地API
curl -X POST http://127.0.0.1:11434/api/generate -d '{"model":"deepseek-r1:7b", "prompt": "hello"}'
显卡性能监视
gpustat -F -P --no-processes --watch --no-color
anythingllm.com 下载 anythingllm 双击安装
anythingllm docker版本。当前时间节点 docker.1ms.run 可用
docker pull docker.1ms.run/mintplexlabs/anythingllm
设置模型:ollama,如果是内网可在高级中修改连接地址
工作区左侧 -> 点击设置 -> 把聊天模式改为查询(同时可以设置拒绝响应内容等)
工作区左侧 -> 上传文档 -> 保存
部署参考
常用工具
推理模型部署: ollama xinference vllm fastchat
rag:ragflow langchain-chatchat
agent: dify coze
开发框架: swarm langchain
知识图谱: rahulnyk/knowledge_graph
微调平台: llama-factory 千帆平台 xtuner swift unsloth
向量数据库: milvus | pinecone | Tencentcloud vecrordb
pdf解析: minerU marker yolox orc模型
推理模型显存预估
以 GLM-9B-Chat 为例
90亿参数 FP32(4字节) FP16(2字节) INT8(1字节) INT4 ...
通常标准版为FP16; 90亿 * 2字节 = 18G
该模型层数为40层,隐藏层维度是4096,以10并发举例
通常上下文长度限制是128K,但是按平均算的话,1000token差不多了(具体看实际场景)
每个token显存 token数 并发数
40 4096 2字节 2(KV_Cache,K和V所以乘以2) 1000token * 10并发 = 6G
推理过程中还会产生一些缓存空间,比如激活函数、buffer、overheads,以10%估算
(18G + 6G) * 10% = 2.4G
所以总内存预估为26.4G。但是通常单卡是24G或者32G之类的,这个时候就直接用24G就可以了
算力租赁
www.muliao.com
www.autodl.com