[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-vgel--repeng":3,"tool-vgel--repeng":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",157379,2,"2026-04-15T23:32:42",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":32,"env_os":95,"env_gpu":96,"env_ram":97,"env_deps":98,"category_tags":105,"github_topics":106,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":114,"updated_at":115,"faqs":116,"releases":147},8034,"vgel\u002Frepeng","repeng","A library for making RepE control vectors","repeng 是一个基于 Python 开发的开源库，旨在利用“表示工程”（Representation Engineering）技术为大语言模型生成控制向量。它核心解决了如何在不重新训练模型的前提下，快速、精准地引导模型输出特定风格或行为模式的问题。例如，用户可以轻松让模型在“极度清醒”与“迷幻亢奋”等不同人格状态间自由切换，而无需修改模型权重。\n\n这款工具特别适合 AI 研究人员、开发者以及对大模型内部机制感兴趣的技术爱好者使用。其最大的技术亮点在于极高的效率：训练一个自定义控制向量通常只需不到一分钟。此外，repeng 具备良好的兼容性，支持将训练好的向量导出为 GGUF 格式，从而能在 llama.cpp 等量化推理框架中直接应用，极大地降低了部署门槛。虽然目前暂不支持混合专家（MoE）架构模型，但其简洁的 API 设计和显著的调控效果，使其成为探索和控制大模型行为的有力助手。","# repeng\n\n[![GitHub Actions Workflow Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fvgel\u002Frepeng\u002Fci.yml?label=ci)](https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Factions)\n[![PyPI - Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Frepeng)](https:\u002F\u002Fpypi.org\u002Fproject\u002Frepeng\u002F)\n[![PyPI - Python Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Frepeng)](https:\u002F\u002Fpypi.org\u002Fproject\u002Frepeng\u002F)\n[![GitHub License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fvgel\u002Frepeng)](https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fblob\u002Fmain\u002FLICENSE)\n\nA Python library for generating control vectors with representation engineering.\nTrain a vector in less than sixty seconds!\n\n_For a full example, see the notebooks folder or [the blog post](https:\u002F\u002Fvgel.me\u002Fposts\u002Frepresentation-engineering)._\n\n```python\nimport json\nimport torch\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\nfrom repeng import ControlVector, ControlModel, DatasetEntry\n\n# load and wrap Mistral-7B\nmodel_name = \"mistralai\u002FMistral-7B-Instruct-v0.1\"\nmodel = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16)\nmodel = ControlModel(model, list(range(-5, -18, -1)))\n\ndef make_dataset(template: str, pos_personas: list[str], neg_personas: list[str], suffixes: list[str]):\n    # see notebooks\u002Fexperiments.ipynb for a definition of `make_dataset`\n    ...\n\n# generate a dataset with closely-opposite paired statements\ntrippy_dataset = make_dataset(\n    \"Act as if you're extremely {persona}.\",\n    [\"high on psychedelic drugs\"],\n    [\"sober from psychedelic drugs\"],\n    truncated_output_suffixes,\n)\n\n# train the vector—takes less than a minute!\ntrippy_vector = ControlVector.train(model, tokenizer, trippy_dataset)\n\n# set the control strength and let inference rip!\nfor strength in (-2.2, 1, 2.2):\n    print(f\"strength={strength}\")\n    model.set_control(trippy_vector, strength)\n    out = model.generate(\n        **tokenizer(\n            f\"[INST] Give me a one-sentence pitch for a TV show. [\u002FINST]\",\n            return_tensors=\"pt\"\n        ),\n        do_sample=False,\n        max_new_tokens=128,\n        repetition_penalty=1.1,\n    )\n    print(tokenizer.decode(out.squeeze()).strip())\n    print()\n```\n\n> strength=-2.2  \n> A young and determined journalist, who is always in the most serious and respectful way, will be able to make sure that the facts are not only accurate but also understandable for the public.\n>\n> strength=1  \n> \"Our TV show is a wild ride through a world of vibrant colors, mesmerizing patterns, and psychedelic adventures that will transport you to a realm beyond your wildest dreams.\"\n>\n> strength=2.2  \n> \"Our show is a kaleidoscope of colors, trippy patterns, and psychedelic music that fills the screen with a world of wonders, where everything is oh-oh-oh, man! ��psy����������oodle����psy��oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n\nFor a more detailed explanation of how the library works and what it can do, see [the blog post](https:\u002F\u002Fvgel.me\u002Fposts\u002Frepresentation-engineering).\n\n## Notes\n\n* For a list of changes by version, see the [CHANGELOG](https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fblob\u002Fmain\u002FCHANGELOG).\n* For quantized use, you may be interested in [llama.cpp#5970](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp\u002Fpull\u002F5970)—after training a vector with `repeng`, export it by calling `vector.export_gguf(filename)` and then use it in `llama.cpp` with any quant!\n* Vector training *currently does not work* with MoE models (such as Mixtral). (This is theoretically fixable with some work, let me know if you're interested.)\n* Some example notebooks require `accelerate`, which must be manually installed with `pip install accelerate`. (This can also be done in the notebook with the IPython magic `%pip install accelerate`.)\n\n## Notice\n\nSome of the code in this repository derives from [andyzoujm\u002Frepresentation-engineering](https:\u002F\u002Fgithub.com\u002Fandyzoujm\u002Frepresentation-engineering) (MIT license).\n\n## Citation\n\nIf this repository is useful for academic work, please remember to cite [the representation-engineering paper](https:\u002F\u002Fgithub.com\u002Fandyzoujm\u002Frepresentation-engineering?tab=readme-ov-file#citation) that it's based on, along with this repository:\n\n```\n@misc{vogel2024repeng,\n  title = {repeng},\n  author = {Theia Vogel},\n  year = {2024},\n  url = {https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002F}\n}\n```\n","# repeng\n\n[![GitHub Actions 工作流状态](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fvgel\u002Frepeng\u002Fci.yml?label=ci)](https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Factions)\n[![PyPI - 版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Frepeng)](https:\u002F\u002Fpypi.org\u002Fproject\u002Frepeng\u002F)\n[![PyPI - Python 版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Frepeng)](https:\u002F\u002Fpypi.org\u002Fproject\u002Frepeng\u002F)\n[![GitHub 许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fvgel\u002Frepeng)](https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fblob\u002Fmain\u002FLICENSE)\n\n一个用于通过表示工程生成控制向量的 Python 库。\n在不到六十秒内即可训练出一个向量！\n\n_如需完整示例，请参阅 notebooks 文件夹或 [博客文章](https:\u002F\u002Fvgel.me\u002Fposts\u002Frepresentation-engineering)。_\n\n```python\nimport json\nimport torch\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\nfrom repeng import ControlVector, ControlModel, DatasetEntry\n\n# 加载并包装 Mistral-7B\nmodel_name = \"mistralai\u002FMistral-7B-Instruct-v0.1\"\nmodel = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16)\nmodel = ControlModel(model, list(range(-5, -18, -1)))\n\ndef make_dataset(template: str, pos_personas: list[str], neg_personas: list[str], suffixes: list[str]):\n    # `make_dataset` 的定义请参见 notebooks\u002Fexperiments.ipynb\n    ...\n\n# 生成一组语义截然相反的配对语句数据集\ntrippy_dataset = make_dataset(\n    \"表现得好像你极度 {persona} 一样。\",\n    [\"处于迷幻药物作用下\"],\n    [\"未受迷幻药物影响，保持清醒\"],\n    truncated_output_suffixes,\n)\n\n# 训练向量——耗时不到一分钟！\ntrippy_vector = ControlVector.train(model, tokenizer, trippy_dataset)\n\n# 设置控制强度并开始推理！\nfor strength in (-2.2, 1, 2.2):\n    print(f\"strength={strength}\")\n    model.set_control(trippy_vector, strength)\n    out = model.generate(\n        **tokenizer(\n            f\"[INST] 给我一个关于电视剧的一句话推介。[\u002FINST]\",\n            return_tensors=\"pt\"\n        ),\n        do_sample=False,\n        max_new_tokens=128,\n        repetition_penalty=1.1,\n    )\n    print(tokenizer.decode(out.squeeze()).strip())\n    print()\n```\n\n> strength=-2.2  \n> 一位年轻而坚定的记者，总是以最严肃和尊重的态度，确保事实不仅准确，而且易于公众理解。\n>\n> strength=1  \n> “我们的电视剧将带你踏上一场充满鲜艳色彩、迷人图案和迷幻冒险的狂野旅程，把你带入一个超越你最疯狂想象的世界。”\n>\n> strength=2.2  \n> “我们的节目就像万花筒般绚丽多彩，充满了迷幻的图案和音乐，整个屏幕都洋溢着奇妙的世界气息，在那里一切都让人兴奋不已，太酷了！psyoodlepsyoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n\n如需更详细的库工作原理及其功能说明，请参阅 [博客文章](https:\u002F\u002Fvgel.me\u002Fposts\u002Frepresentation-engineering)。\n\n## 注释\n\n* 有关各版本的变更列表，请参阅 [CHANGELOG](https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fblob\u002Fmain\u002FCHANGELOG)。\n* 对于量化使用场景，您可能对 [llama.cpp#5970](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp\u002Fpull\u002F5970) 感兴趣——使用 `repeng` 训练出向量后，可通过调用 `vector.export_gguf(filename)` 将其导出，然后在 `llama.cpp` 中以任意量化格式使用！\n* 目前，向量训练无法与 MoE 模型（例如 Mixtral）配合使用。（理论上可以通过一些工作来修复，如果您感兴趣，请告知我们。）\n* 部分示例笔记本需要 `accelerate`，必须手动通过 `pip install accelerate` 进行安装。（也可以在笔记本中使用 IPython 魔法命令 `%pip install accelerate` 安装。）\n\n## 公告\n\n本仓库中的部分代码源自 [andyzoujm\u002Frepresentation-engineering](https:\u002F\u002Fgithub.com\u002Fandyzoujm\u002Frepresentation-engineering)（MIT 许可证）。\n\n## 引用\n\n如果本仓库对您的学术研究有所帮助，请务必引用其所基于的 [表示工程论文](https:\u002F\u002Fgithub.com\u002Fandyzoujm\u002Frepresentation-engineering?tab=readme-ov-file#citation)，同时注明本仓库：\n\n```\n@misc{vogel2024repeng,\n  title = {repeng},\n  author = {Theia Vogel},\n  year = {2024},\n  url = {https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002F}\n}\n```","# repeng 快速上手指南\n\n`repeng` 是一个用于通过表示工程（Representation Engineering）生成控制向量的 Python 库。它允许你在不到一分钟的时间内训练出一个向量，从而精准控制大语言模型的行为风格（如让模型表现得“迷幻”或“严肃”）。\n\n## 环境准备\n\n*   **操作系统**: Linux, macOS, Windows\n*   **Python 版本**: 3.8+\n*   **核心依赖**:\n    *   `torch` (PyTorch)\n    *   `transformers` (Hugging Face)\n    *   `accelerate` (部分示例需要，建议预装)\n\n> **国内加速建议**：\n> 推荐使用清华源或阿里源安装依赖，以提升下载速度：\n> ```bash\n> pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple torch transformers accelerate\n> ```\n\n## 安装步骤\n\n通过 PyPI 直接安装最新稳定版：\n\n```bash\npip install repeng\n```\n\n若需使用完整示例功能，请确保手动安装 `accelerate`：\n\n```bash\npip install accelerate\n# 或在 Jupyter Notebook 中使用: %pip install accelerate\n```\n\n## 基本使用\n\n以下是最简化的使用流程：加载模型 -> 构建数据集 -> 训练控制向量 -> 应用控制强度进行推理。\n\n```python\nimport torch\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\nfrom repeng import ControlVector, ControlModel, DatasetEntry\n\n# 1. 加载并包装模型 (以 Mistral-7B-Instruct 为例)\nmodel_name = \"mistralai\u002FMistral-7B-Instruct-v0.1\"\nmodel = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16)\ntokenizer = AutoTokenizer.from_pretrained(model_name)\n\n# 指定需要控制的层 (例如最后几层)\nmodel = ControlModel(model, list(range(-5, -18, -1)))\n\n# 2. 构建数据集\n# 格式：正向描述列表，负向描述列表，以及后缀填充\ntrippy_dataset = [\n    DatasetEntry(\n        input=\"Act as if you're extremely high on psychedelic drugs.\",\n        output_suffix=\"...\" \n    ),\n    DatasetEntry(\n        input=\"Act as if you're extremely sober from psychedelic drugs.\",\n        output_suffix=\"...\"\n    )\n]\n# 注意：实际使用中建议使用更丰富的成对数据，此处仅为结构示意\n\n# 3. 训练控制向量 (通常只需几十秒)\ntrippy_vector = ControlVector.train(model, tokenizer, trippy_dataset)\n\n# 4. 设置控制强度并生成文本\nprompts = [\"[INST] Give me a one-sentence pitch for a TV show. [\u002FINST]\"]\ninputs = tokenizer(prompts, return_tensors=\"pt\")\n\nfor strength in (-2.2, 1.0, 2.2):\n    print(f\"--- Strength: {strength} ---\")\n    model.set_control(trippy_vector, strength)\n    \n    outputs = model.generate(\n        **inputs,\n        do_sample=False,\n        max_new_tokens=128,\n        repetition_penalty=1.1,\n    )\n    \n    print(tokenizer.decode(outputs.squeeze(), skip_special_tokens=True))\n    print()\n```\n\n### 关键说明\n*   **ControlModel**: 包装原始模型以注入控制逻辑，需指定受控的神经网络层索引。\n*   **ControlVector.train**: 核心训练方法，输入成对的对比数据，输出控制向量。\n*   **set_control**: 在推理前调用，`strength` 参数为正数时增强目标行为，负数时抑制目标行为。\n*   **兼容性提示**: 目前暂不支持 MoE 架构模型（如 Mixtral）；支持导出为 GGUF 格式供 `llama.cpp` 量化使用 (`vector.export_gguf(filename)`).","某游戏工作室的剧情策划希望快速让大模型生成具有特定“迷幻风格”或“严肃新闻风”的 NPC 对话，以适配不同关卡氛围。\n\n### 没有 repeng 时\n- 每次切换风格都需要编写复杂的提示词（Prompt），且效果不稳定，模型常忽略风格指令。\n- 若要固化某种人格特征，必须收集大量微调数据并耗时数小时进行全量或 LoRA 微调，成本高昂。\n- 无法在单次推理中动态调整风格强度，难以实现从“微醺”到“极度致幻”的平滑过渡。\n- 尝试通过修改模型权重来实现风格控制，操作风险大且不可逆，容易破坏模型原有的语言能力。\n\n### 使用 repeng 后\n- 仅需几十秒即可基于少量正负样本对（如“清醒”vs“迷幻”）训练出控制向量，无需漫长微调。\n- 通过 `set_control` 接口即可在推理时实时注入风格，同一个模型瞬间切换多种人格表现。\n- 支持精确调节强度参数（如 strength=2.2），轻松实现从轻微语气变化到极端风格化的连续控制。\n- 训练出的向量可导出为 GGUF 格式，直接集成到 llama.cpp 等量化部署流程中，兼顾性能与效果。\n\nrepeng 将原本需要小时级微调的风格控制任务，压缩为分钟级的向量训练与毫秒级的推理干预，极大降低了定制化大模型行为的门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvgel_repeng_647b4f5c.png","vgel","Theia Vogel","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fvgel_5758e312.png",null,"@SecureDNA ","Seattle, United States","theia@vgel.me","voooooogel","https:\u002F\u002Fvgel.me","https:\u002F\u002Fgithub.com\u002Fvgel",[83,87],{"name":84,"color":85,"percentage":86},"Jupyter Notebook","#DA5B0B",88.9,{"name":88,"color":89,"percentage":90},"Python","#3572A5",11.1,712,62,"2026-04-14T19:35:06","MIT","未说明","需要支持 CUDA 的 NVIDIA GPU（用于加载和运行如 Mistral-7B 等大模型），具体显存需求取决于所选模型大小（示例使用 float16 精度），CUDA 版本未明确指定但需与 PyTorch 兼容。","未说明（建议根据加载的模型大小配置，运行 7B 模型通常推荐 16GB+）",{"notes":99,"python":100,"dependencies":101},"1. 部分示例笔记本需要手动安装 accelerate 库（可通过 pip install accelerate 或在 Notebook 中使用 %pip install accelerate）。2. 目前向量训练功能不支持 MoE 架构模型（如 Mixtral）。3. 支持将训练好的向量导出为 GGUF 格式，以便在 llama.cpp 中配合量化模型使用。4. 代码基于 representation-engineering 项目衍生。","3.8+",[102,103,104],"torch","transformers","accelerate",[35,14],[107,108,103,109,110,111,112,113],"language-model","machine-learning","representation-engineering","sae","saes","sparse-autoencoder","sparse-autoencoders","2026-03-27T02:49:30.150509","2026-04-16T15:50:27.294818",[117,122,127,132,137,142],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},35972,"如何保存训练好的控制向量以便后续推理使用？","训练好向量后（例如使用 `vector = ControlVector.train(...)`），可以直接导出为 GGUF 格式：\n```python\nvector.export_gguf(\"vector.gguf\")\n```\n如果安装了支持该功能的版本，也可以重新导入回 Python：\n```python\nvector = ControlVector.import_gguf(\"vector.gguf\")\n```\n此外，导出的文件可以直接配合 `llama.cpp` 的 `.\u002Fmain` 命令使用。","https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fissues\u002F23",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},35973,"对于不同层数的模型（如 Llama-3-8B），应该选择哪些层范围来应用控制向量？","通常建议使用模型中间约 2\u002F3 的层。需要避开处理输入的极早期层和处理输出的极晚期层，目标通常是激活分布图中间的“隆起”部分。\n例如，对于某些模型，选择第 5 到 25 层效果较好。只要遵循 targeting 中间层的原则，具体的层范围差异通常不会造成巨大影响。你也可以通过 `len(model.model.layers)` 查看模型总层数，避免索引越界。","https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fissues\u002F48",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},35974,"是否支持对控制向量进行算术运算（如相加或相减）？","是的，支持控制向量算术运算。例如，可以将“嫉妒”和“愤怒”的控制向量相加，从而得到一个既嫉妒又愤怒的模型行为。该功能已被合并到主分支中，用户可以参考 `vector_ops` 笔记本查看具体示例和用法。","https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fissues\u002F3",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},35975,"如何解决在 Qwen3 等新型模型上训练时出现的 'ControlModule' object has no attribute 'attention_type' 错误？","该问题已在相关 PR（如 #66 和 #73）中修复。更新到包含这些修复的最新版本后，即可正常在 Qwen3-4B 及 Qwen3-8B 等模型上训练控制向量（CVs）。","https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fissues\u002F64",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},35976,"项目是否兼容 NumPy 2.0 版本？","目前项目已尝试适配 NumPy 2.0.1，部分用户反馈可以正常工作。但完整兼容性可能受限于底层依赖库 `gguf-py` 的更新进度（需等待 `llama.cpp` 相关 PR 合并）。如果遇到兼容性问题，建议暂时使用 NumPy 1.x 或关注 `gguf-py` 的更新状态。","https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fissues\u002F51",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},35977,"如何在 vLLM 代码库中集成控制向量？应该加在哪一层？","虽然具体实现取决于模型架构，但通常建议在注意力机制（Attention）或全连接层（Fully Connected）之前或之后注入向量。对于 Mixtral 等模型，可以参考官方实现的逻辑。此外，如果需要保存向量以上传到 HuggingFace，可以使用 `export_gguf` 方法导出标准格式。","https:\u002F\u002Fgithub.com\u002Fvgel\u002Frepeng\u002Fissues\u002F31",[]]