这个项目能做什么
Drowse 是一个针对大语言模型的本地机制可解释性工作台。它附带一个本地仪表盘、一个 Python API,以及一个同时兼容 OpenAI 和 Ollama 客户端的 HTTP 服务器。
快速入门是在虚拟环境中从源码检出安装(`uv pip install -e .`),并通过 `drowse serve google/gemma-3-4b-it` 启动,会在 localhost:8000 打开一个仪表盘。首次启动会下载模型并拟合 17 个捆绑的概念探针,存储在 `~/.drowse/` 下。支持 CUDA 和 Apple Silicon MPS,并提供可选的 FlashAttention 与 bitsandbytes 量化扩展。
一个托管浏览器版本作为独立的 Svelte PWA 包含在内,用于设备端 WebGPU 推理。README 对其限制直言不讳:运行时和分发锁被标记为已验证,但发布检查不保证在模型负载下的 GPU 稳定性;Gemma PT 存在匹配权重数值差异,Qwen 3.5 仍需匹配量化验证。设备检查会报告 GPU 厂商和架构,阻止带有记录设备损失的分析档案,并保守地阻止在已识别的 Intel gen-9 适配器上使用 Windows Chromium。推理必须使用 WebGPU,没有云或纯 CPU 回退选项,提示、对话、激活和拟合产物都保留在设备上。
WebUI 将对话组织为分支线程树,支持重新生成、保存/加载以及标准采样控制。聊天模式将模型模板渲染为多轮消息,带有可折叠的思考过程和动态角色处理;原始模式为基座模型暴露单个缓冲区。可以根据探针分数或 logprob 意外度高亮 token,点击 token 会打开一个详情抽屉,显示几何、logits(包括 token 分叉)、SAE 和 J-lens 视图。工具被分组到 Subspace、Manifold、SAE 和 Lens 标签页中,另有附加分析工具用于拟合、合并、安装和检查流形,对受限选择模板评分,管理引导,以及检查服务器健康状态。
概念被提取为流形或子空间:一维平坦子空间是引导向量,更高秩的平坦子空间是正交组,弯曲流形则拟合非线性曲面。捆绑探针涵盖认知、对齐、登记和文化概念对,另有更大的可选集合用于人格、情绪和月份。统一的引导表达式语法在 Python、YAML、OpenAI、Ollama 和原生 API 中均可使用,支持加/减、共享组件保留/移除运算符、均值消融、流形节点选择、token 阶段限制、解码窗口限制和实时探针门控。
提取过程让模型回答每个概念的基线提示,然后将隐藏状态拟合到流形或子空间,使用 Mahalanobis 度量进行层分配和判别性层选择。监测读数包括拟合坐标、子空间分数、带软分配的最近节点,以及弯曲流形的表面外残差。Jacobian 透镜遵循已发表的言语化工作区工作,SAE 支持可以使用已发布的 SAELens 版本或训练本地 SAE。
CLI 有八个动词:serve、manifold、pack、experiment、config、template、lens 和 sae,覆盖可复现的准备、分发和批量工作。流形包可以从本地路径安装或作为 Hugging Face 模型仓库分发,`.drowse` ZIP 传输一个流形闭包及其引用的模板。一个拟合的两节点 PCA 流形可以导出为 llama.cpp control-vector GGUF。托管浏览器发现只接受标记为 `drowse-manifold` 的 Hugging Face 仓库,且要求单个根 `.drowse` 和根 `manifold.json`,解析到不可变提交并验证声明的仓库和修订版本。
一个 `drowse serve` 进程在一个端口上暴露四个接口:WebUI、兼容 OpenAI 的 `/v1/*`、兼容 Ollama 的 `/api/*`,以及原生 `/drowse/v1/*` API,用于会话、织机树、探针、流形、模板、SAE/J-LENS 生命周期和重放、SSE,以及 token+测量 WebSocket。Python API 以 `DrowseSession` 为中心,提供 `extract`、`add_probe`、`generate`、`generate_stream`、`generate_batch`、`generate_sweep` 和 `score_choices`,还有笔记本绘图辅助函数。
模型支持包括经过端到端测试的 Qwen 2/3/3.5、Gemma 2/3/4、Mistral 3 和 Ministral 3、Llama、GLM、gpt-oss 和 Talkie 路径,另外的架构通过通用残差层接口接入,并在未测试时发出警告。README 明确将 Drowse 定位为面向受信任的本地机器或实验室网络,而非加固的多租户服务,并建议在绑定到受信任主机之外时使用 API 密钥、TLS、速率限制和隔离。仓库中的 Python 执行默认禁用,需要显式选择启用。状态位于 `~/.drowse/` 下(可通过 `$DROWSE_HOME` 移动),而对话保存是显式的浏览器下载 JSON 文件,而非自动保存。该项目采用 AGPL-3.0-or-later 许可证,并致谢 Representation Engineering、repeng、差均值提取、Goodfire 的流形工作、Anthropic 的 Assistant Axis 框架,以及 Gurnee 等人的 J-lens 方法。
评论
0 评分人数达到10人后显示
登录后参与讨论。