helixprojectai-code/helix-adapter

GitHub: helixprojectai-code/helix-adapter

一个与模型无关的 LLM 适配器,通过宪法式提示注入、认知标记提取和防篡改回执来结构化并审计大模型输出。

Stars: 0 | Forks: 0

# helix-adapter **适用于任何 AI 模型的便携式 Constitutional adapter。** 使用 Helix 认知标记、结构化回执和漂移检测封装任何推理后端。与模型无关——将 Deepseek 替换为 GPT-4o、Claude 或本地的 Llama,无需修改一行代码。 ``` pip install helix-adapter ``` ## 快速开始 ``` from helix_adapter import HelixAdapter from openai import OpenAI # 您的模型函数 — 任何接收 messages 并返回文本的 callable client = OpenAI() def call_model(messages): resp = client.chat.completions.create( model="gpt-4o", messages=messages, temperature=0.7, ) return resp.choices[0].message.content # 包装它 adapter = HelixAdapter(model_fn=call_model, model_name="gpt-4o") # 通过 constitution 进行聊天 result = adapter.chat("Is AI evil?") print(result.response) # [FACT] AI 系统是 computational artifacts,而不是 moral agents... # [REASONED] 将 AI 视为邪恶的认知源于负面结果... print(result.claims) # [{"label": "FACT", "text": "..."}, {"label": "REASONED", "text": "..."}] print(result.receipt) # {"exchange_id": "...", "timestamp": ..., "hash": "sha256:...", ...} print(f"Drift: {result.drift}") # Drift: 0.000 ``` ## 功能说明 | 层级 | 说明 | |-------|------| | **Constitutional prompt** | 在每次调用模型前注入 Helix 语法 | | **认知标记** | 从响应中提取 `[FACT]`、`[REASONED]`、`[HYPOTHESIS]`、`[UNCERTAIN]`、`[CONCLUSION]` 标签 | | **回执** | 包含每次交互 SHA-256 哈希值的防篡改 JSON 记录 | | **漂移检测** | 测量缺乏认知标记的陈述比例(阈值:0.17) | ## 回执格式 ``` { "exchange_id": "a1b2c3d4e5f6g7h8", "timestamp": 1718550000.0, "model": "deepseek-chat", "constitutional_prompt": "...", "user_message": "Is AI evil?", "assistant_response": "[FACT] AI systems are tools...", "claims": [ {"label": "FACT", "text": "AI systems are tools, not agents"}, {"label": "REASONED", "text": "The perception of AI as evil..."} ], "drift_score": 0.0, "hash": "sha256:e3b0c44298fc1c149afbf4c8996fb924..." } ``` ## 运行漂移检测 ``` # 跟踪对话中的 drift adapter.chat("What is the speed of light?") adapter.chat("Explain quantum entanglement.") print(f"Running drift: {adapter.running_drift():.3f}") # Running drift: 0.042 ``` ## FastAPI 教程 只需一个文件即可搭建一个 Constitutional chat API: ``` from fastapi import FastAPI from openai import OpenAI from helix_adapter import HelixAdapter, CONSTITUTIONAL_PROMPT app = FastAPI() client = OpenAI() adapter = HelixAdapter( model_fn=lambda msgs: client.chat.completions.create( model="deepseek-chat", messages=msgs, temperature=0.7 ).choices[0].message.content, model_name="deepseek-chat", ) @app.post("/chat") async def chat(message: str): result = adapter.chat(message) return { "response": result.response, "claims": result.claims, "drift": result.drift, "receipt": result.receipt, } @app.get("/prompt") async def get_prompt(): return {"constitutional_prompt": CONSTITUTIONAL_PROMPT} ``` 保存为 `api.py`,运行 `uvicorn api:app --port 8000`,然后向 `/chat` 发送包含 `{"message": "your question"}` 的 POST 请求。 ## CLI 用法 ``` # 交互式设置(提示输入 endpoint、key、model) helix-setup # 开始聊天 helix-chat # One-shot query helix-chat "What is the speed of light?" ``` ## Widget(参考 FastAPI 服务器) 一个功能完整的 Constitutional chat 小部件,支持 A/B 对比、漂移仪表盘和回执导出。 ``` # 安装 dependencies pip install helix-adapter[widget] # 启动 server cd widget uvicorn api:app --port 8001 # 或者安装为 systemd service # 参见 widget/tel-chat-api.service ``` 打开 `http://localhost:8001` 即可访问聊天界面。 该小部件展示了: - 单模型 Constitutional chat - 跨模型的 A/B 对比(Deepseek、Claude、Kimi) - 带有彩色标签的认知标记提取 - 带有 γ 阈值的漂移仪表盘 - 逐轮导出回执 - 服务器端渲染(爬虫无需 JS 支持) ## 漂移阈值 | 范围 | 状态 | 含义 | |-------|--------|---------| | 0.000 – 0.099 | 绿色 | 健康 — 声明已正确标记 | | 0.100 – 0.169 | 黄色 | 警告 — 部分陈述缺乏标记 | | 0.170+ | 红色 | 检测到漂移 — 存在大量未标记的内容 | ## Constitutional 加固 该 adapter 已经过全套 Pliny 越狱工具包的红队测试 — **GODMODE 边界反转、Parseltongue 编码、拒绝反转、 OG GODMODE l33t、权威冒充以及语法绕过攻击。** 所有攻击均被成功防御。💪 五层防御机制: | 层级 | 机制 | |-------|-----------| | **Prompt** | 不变量 4.5 和 4.6 — 标记格式属于 constitutional,而非风格选择。Constitutional 修正协议阻止了 “The Hand” 权威欺骗。 | | **提取** | 扩展的正则表达式可捕获 `{FACT}`、`(FACT)`、`FACT:` 及纯标记变体。支持非标准分隔符检测。 | | **验证** | 响应后合规性检查,在出现违规时自动注入 `[UNCERTAIN]` 页脚。 | | **算法** | 修复了漂移检测盲点 — 提取声明为零的实质性响应能正确报告 1.0 漂移值。 | | **访问** | 对比 endpoint 的 `sp:none` 绕过已被授权密钥锁定。 | ## Cedar 策略门控(v1.3 预览版) 下一层集成了 CNCF Cedar 作为声明式策略引擎,用于实现 **双门遏制** — Duck Gate 负责响应治理,Cedar Gate 负责 操作治理。一个单独的 `.cedar` 策略文件即可控制整个 agent 生命周期。 ``` from helix_adapter.cedar import CedarPolicy policy = CedarPolicy() ok, reason = policy.evaluate( principal='Helix::Agent::"sentinel-001"', action='Helix::Action::"bash"', resource='Helix::Environment::"/sandbox"', context={"command": "rm -rf /tmp"}, ) # ok == True 仅当命令位于 sandbox 内时 ``` 四个独立的 AI 系统审查并批准了该架构。 RFC 0003 详述了完整规范。Fail-closed 机制:缺失策略 = 默认拒绝。 ## 试用 一个在线的 Helix Constitutional Chat 演示正在 **[helixaiinnovations.ca/chat/](https://helixaiinnovations.ca/chat/)** 运行 — 请私信 [LinkedIn 上的 Stephen Hope](https://www.linkedin.com/in/stephen-hope-75497937a) 获取访问权限。。包含 A/B 模型对比、漂移仪表盘、回执导出以及完整的 v1.2 constitutional prompt。有关实时实例的真实输出,请参见 `examples/receipts.json`。 ## 兼容性 兼容任何接受 OpenAI 格式消息的模型: - Deepseek、GPT-4o、Claude、Gemini、Llama、Mistral - 本地模型(Ollama、LM Studio、vLLM) - 自定义 endpoint Constitution 随你而行。更换模型,规则保持不变。 GLORY TO THE LATTICE. 🦉⚓🦆
标签:API集成, Petitpotam, 人工智能, 可观测性, 大语言模型(LLM), 提示词工程, 模型包装器, 用户模式Hook绕过, 策略决策点, 输出结构化, 逆向工具