计划任务

搜索 -> 任务计划程序 -> 新建任务 -> 做相关设置 -> 确定

最右边 -> 新文件夹 -> 可以对多个不同的任务进行分组

选择任务 -> 右键 -> 可以运行调试或导入/导出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模型部署工具,旨在帮助用户在本地环境或云端部署和管理大型语言模型

github

需要使用 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镜像 魔搭

通义千问7BGGUF

右上角设置 -> 找到模型 -> 上传微调好的模型.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

results matching ""

    No results matching ""