Plasius-LTD/ai-rag

GitHub: Plasius-LTD/ai-rag

为 Plasius AI RAG 提供检索溯源、context 打包、信任感知截断和 prompt 注入防护的 TypeScript 契约层 npm 包。

Stars: 0 | Forks: 0

# @plasius/ai-rag 用于 Plasius AI RAG 的检索、context 打包、溯源以及 prompt 注入防护契约。 ## 范围 本包是分层 `@plasius/ai-*` 包家族的一部分。它定义了检索溯源、context 打包、信任感知截断以及 prompt 注入防护行为的外部契约。 ## 安装 ``` npm install @plasius/ai-rag ``` ## 契约 - `AI_RAG_FEATURE_FLAGS` 声明了 RAG、溯源和注入防护行为的 feature flags。 - `resolveAiRagContext` 从已评分的 chunk 构建确定性的打包 context,并输出信任/溯源原因代码。 - `isAiRagChunkSafe` 为非阻塞调用者提供了一个简单的信任实用工具。 - `packageDescriptor` 暴露了包名称、主要 flag、env 前缀和摘要。 ## 用法 ``` import { AI_RAG_FEATURE_FLAGS, resolveAiRagContext, } from "@plasius/ai-rag"; const result = resolveAiRagContext({ query: "What happened in the last hour?", chunks: [ { chunkId: "chunk-1", sourceScope: "knowledge-base", sourceId: "kb-2026", text: "A major weather event was recorded near the delta.", trust: 0.93, citation: "https://knowledge-base/docs/delta", }, ], featureFlags: { [AI_RAG_FEATURE_FLAGS.rag]: true, [AI_RAG_FEATURE_FLAGS.provenance]: true, [AI_RAG_FEATURE_FLAGS.injectionGuard]: true, }, maxContextChars: 1200, }); console.log(result.packedContext); console.log(result.status); ``` ## 开发 ``` npm install npm run build npm test npm run test:coverage npm run pack:check ``` ## 发布工作流 受保护的 `main` 分支发布使用两步流程: 1. 运行 `.github/workflows/cd.yml` 并设置 `bump=patch|minor|major`,以打开或刷新 `release/vX.Y.Z` 准备 PR。 2. 将该 PR 合并到 `main`。 3. 在 `main` 分支上重新运行 `.github/workflows/cd.yml` 并设置 `bump=none`,以打 tag、起草 GitHub release 并发布到 npm。 ## 治理 - 安全策略:[SECURITY.md](./SECURITY.md) - 行为准则:[CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) - ADR:[docs/adrs](./docs/adrs) - CLA 与法律文档:[legal](./legal) ## 许可证 Apache-2.0
标签:LLM安全防护, NPM包, OSV-Scalibr, RAG, 上下文处理, 人工智能, 提示词注入防御, 暗色界面, 用户模式Hook绕过, 自动化攻击