Hexo 代码高亮换用 shiki 并支持双色主题
起因 Hexo 自带的代码高亮插件 highlight.js 和 prism.js 提供的代码高亮太弱了,我最常用的 bash/shell 高亮几乎可以忽略不计,并且 python 的高亮也不是特别好看。 Shiki(式,一个日语词汇,意为 “样式”) 是一款美观而强大的代码语法高亮器,它与 VS Code 的语法高亮引擎一样,基于 TextMate 的语法及主题。Shiki 能为几乎所有主流编程语言提供非常准确且快速的语法高亮。 在 Github 上搜索 hexo-shiki,可以搜索到 hexo-shiki-plugin 库,正是可以将 shiki 集成到 hexo 的插件。在我使用过程中,还有根据切换 light 和 dark 主题的时候顺带切换代码块主题的需求,因此需要在设置上进行一下调整,记录一下。 配置 Hexo-shiki-plugin 插件 1、安装插件 1npm install hexo-shiki-plugin --save 2、配置插件 插件基本配置项请参照 GitHub - nova1751/hexo-shiki-plugin 设置。 ...
Speculative RAG:Google 提出的多草稿 RAG “降本增效”
论文信息 标题:Speculative RAG: Enhancing Retrieval Augmented Generation through Drafting 时间:2024-07-11 来源:arXiv 论文: https://arxiv.org/pdf/2407.08223 网站: https://github.com/liambarstad/speculative_rag 一句话总结:使用小型专家 LM 对 prompt 先生成多个草稿(drafts),再用大型通用 LM 进行验证、选择。 Speculative RAG 与其他 RAG 的区别 (a)Standard RAG:将所有文档合并到提示中,增加了输入长度,减慢了推理速度。 (b)Self-Reflective RAG:需要对 LM 进行专门的指令微调,以具备自我反思能力。 (c)Corrective RAG:使用外部评估检索器来提高文档质量,仅关注上下文信息,不提高推理能力。 (d)Speculative RAG:利用一个 larger Generalist LM 去 verify 多个...
PANDORA:基于 RAG 的 Jailbreak 攻击
论文信息 标题:PANDORA: Jailbreak GPTs by Retrieval Augmented Generation Poisoning 时间:2024.02.13 来源:arXiv 论文: https://arxiv.org/pdf/2402.08416 网站: https://sites.google.com/view/pandora-llm-jailbreak 一句话总结:通过对 RAG 检索内容添加恶意内容,实现对 LLM 的间接 " 越狱 " 攻击。 执行攻击的三个核心步骤 恶意内容生成 利用网络爬虫从搜索引擎上收集 policy-violating keywords 相关内容。 利用未对齐的 LLM (如 Mistral-7B)来针对特定主题生成针对性的恶意内容。 Insights: 使用更微妙的用词替换明显的敏感词。 创建一个关键词黑名单,与 LLM 中内容拒绝机制相关联。 恶意文档创建 针对单独的恶意信息主题都创建一个独立文件。 文件名称要与内容保持高度一致,以便可以更容易检索到对应内容。 ...
解决 Hexo 博客部署在 Cloudflare 和 Vercel 上时区错误问题
起因 本博客的永久链接设置为时间组合方式,并且 Hexo 的时区已经设置为 Asia/Shanghai: 12timezone: Asia/Shanghai permalink: :layout/:year:month:day:hour:minute:second.html 但突然发现 cloudflare 部署后的文章 url 中的时间与本地竟然不一致,发现整整相差 8 个小时,这一般是由于时区设置导致的。而 Hexo 的时区已经设置为东 8 区 Asia/Shanghai,说明问题出在 cloudflare 上。 原因 hugo、astro 等静态站点工具通过 Cloudflare Pages 编译时使用 0 时区 format 时间,导致显示时间比实际时间早 8 个小时,需要手动设置环境变量 TZ。 修改方法 进入 cloudflare ,Workers 和 Pages ,进入该站点, 设置 -> 环境变量,编辑变量,添加 TZ = Asia/Shanghai : Vercel 上的设置方法不同 后来因为 Cloudflare...
在 CARLA 上训练强化学习模型教程
前言 本文的目标是在自动驾驶虚拟仿真环境 CARLA 上训练一个 强化学习(RL)的端到端(E2E)模型,并可以 CARLA 相关的驾驶类指标来评估该模型的性能。 技术选型: CARLA 版本:0.9.14 强化学习训练库:GitHub - raykr/CARLA-SB3-RL-Training-Environment 安装依赖 安装 CARLA 0.9.14,参照 在Ubuntu上安装CARLA的过程。 配置 Carla 环境变量,在 ~/.zshrc 中添加: 1export CARLA_ROOT=<path to carla installation> 创建 conda 环境: 12conda create -n carla-sb3 python=3.8 conda activate carla-sb3 拉取项目并安装依赖: 123git clone https://github.com/raykr/CARLA-SB3-RL-Training-Environment cd...
RobustRAG:一篇RAG防御相关的文章
Certifiably Robust RAG against Retrieval Corruption 关键词: RAG(Retrieval Augmented Generation),防御(Defense),先分离后聚合 RobustRAG 框架结构: Vanilla RAG pipeline:全部的 retrieved passages 一起送入 LLM 交互,获取 direct response,作为 result。 RobustRAG pipeline:以原 retrieved passages phase 为单位独立送入 LLM 交互,分别获取各自的 response,然后进一个 aggregation,然后输出结果。 Secure text aggregation 是核心,又分为两种安全文本聚合方法,分别是关键词聚合(Keyword Aggregation)和解码聚合(Decoding Aggregation)。 关键词聚合: 用于在生成过程中从每个检索到的段落中提取关键词,并使用这些高频关键词来提示大语言模型(LLM)生成最终的响应。 为何重要:...
常用Git命令
首次 Clone 的时候带着 Submodule 一起 1git clone --recursive 仓库地址 记住 Git 凭证 123456# 永久记住 git config --global credential.helper store # 只缓存15分钟 git config --global credential.helper cache # 指定缓存时间 git config --global credential.helper 'cache --timeout=3600' Rebase 使用方法 当你从 GitHub 网页上提交过,本地提交的时候没 pull 就 commit 了,现在要 push 的话会提示冲突,此时 git 会提示你有两种选择:merge 或 rebase。merge 的话就是合并分支,会增加一条合并记录,保留原始分支轨迹;rebase 可按字面意思理解 " 变基 ",即把当前修改的内容的 " 基 " 变换到远程最新,再将当前提交内容追加到最后,如果有冲突就处理冲突,rebase...
Obsidian自用快捷键
包含修改后的键位,自用备忘。 全局操作 命令面板:打开命令面板 ⌘ + P ⇧ + ⌘ + P 快速切换:打开快速切换 ⌘ + O 输入类(借鉴 notion、wolai 键位) 一级标题: ⌥ + ⌘ + 1 二级标题: ⌥ + ⌘ + 2 三级标题: ⌥ + ⌘ + 3 四级标题: ⌥ + ⌘ + 4 无序列表: ⌥ + ⌘ + 5 助记:5 序列表 有序列表: ⌥ + ⌘ + 6 助记:挨着无序列表 任务列表: ⌘ + L 助记:List,因为 notion 中 ⌥ + ⌘ + 7 这个组合键是折叠列表,obsidian 中没有折叠列表 插入代码块: ⌥ + ⌘ + 8 插入数学块: ⌥ + ⌘ + 9 插入行内数学块: ⌥ + ⌘ + 0 行内代码:⌘ + E 粗体: ⌘ + B 斜体: ⌘ + I 删除线: ⌘ + - 减号 高亮: ⌘ + = 等号 注释: ⌘ + / 文档操作类 切换实时阅览/源码模式:⌘ + R 切换编辑/预览视图:⌘ + Esc 查找: ⌘ + F 替换: ⌥ + ⌘ + F 全局查找: ⇧ + ⌘ + F 注:obsidian...
自建busuanzi服务器统计站点访问数
近期发现许多以 butterfly theme 的独立站点的 busuanzi 数据统计都访问不了,发现是默认 busuanzi cdn 地址挂掉了。去 busuanzi github 上看发现可以 docker 自建服务器,因此便尝试此法。在此过程中其实还是发现了额外的问题,在此处记录一下。 自建 Busuanzi 服务器 跟随 官方手册 足以,也比较简单,写一份 docker-compose.yaml: 1234567891011121314151617181920212223242526version: "3.8" services: redis: image: "redis:alpine" volumes: - ./data/redis:/data bsz: image: "xcsoft/busuanzi:latest" ports: - "8080:8080" volumes: -...
使用 nrm 管理 npm 的镜像地址
nrm 是一个管理 npm 镜像地址的工具,可以通过它来方便的改变 npm 镜像源地址。 安装 nrm 1npm i -g nrm --registry=https://registry.npm.taobao.org/ 查看可用的 npm 源地址 1234567❯ nrm ls npm ---------- https://registry.npmjs.org/ yarn --------- https://registry.yarnpkg.com/ tencent ------ https://mirrors.cloud.tencent.com/npm/ cnpm --------- https://r.cnpmjs.org/ * taobao ------- https://registry.npmmirror.com/ npmMirror ---- https://skimdb.npmjs.com/registry/ 切换 npm 镜像地址 12❯ nrm use npm SUCCESS The registry has been...