oussamaelbourakadi/litmus

GitHub: oussamaelbourakadi/litmus

Litmus 是一个可自托管的 AI 系统评估平台,帮助团队在投产前后对 LLM、RAG、Agent 等模型进行统计严谨的评测、对比与回归门控。

Stars: 0 | Forks: 0

# Litmus ### 发布您可以信任的 AI。 开源、可自托管的平台,用于在投产前后**评估**、**红队测试**和**监控** AI 系统 — LLMs、RAG、agents 和视觉模型。 **无需 API key 即可运行。** [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/oussamaelbourakadi/litmus/actions/workflows/ci.yml) [![Litmus Eval Gate](https://static.pigsec.cn/wp-content/uploads/repos/cas/3f/3fc546e4643aa8e19127441217c5a9faec8a1dd11606609cebfbc9a1ba88f95a.svg)](https://github.com/oussamaelbourakadi/litmus/actions/workflows/litmus-eval.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE) ![Python 3.12](https://img.shields.io/badge/python-3.12-blue.svg) ![Node 24](https://img.shields.io/badge/node-24-green.svg) **实时演示:** _dashboard_ · _docs_ — 部署后添加您的 URL ([`docs/DEPLOY.md`](./docs/DEPLOY.md))
API CLI --> API GHA --> CLI API --> ENG ENG --> REG REG --- PROV REG --- EVAL REG --- TGT ENG --> DB ``` ## Evaluate — 目前已发布的功能 - **Providers:** Mock(确定性,设置随机种子)、Ollama(本地,无需密钥)、OpenAI / Anthropic / Mistral(可选,受环境变量控制)。 - **Evaluators:** ExactMatch、RegexMatch、JsonSchema、LLMJudge(规则 → JSON 判定)+ judge 校准(一致性,Cohen's kappa)。 - **Engine:** 逐用例错误隔离,AND 判定,重复执行;指标 = **带 bootstrap CI 的成功率**、P50/P95 延迟、成本(价格表)、各 evaluator 的通过率。 - **Compare:** 聚合差异 + 逐用例回归 + 绝对/相对的 **threshold 判定**。 - **Dashboard:** projects → datasets(CSV 上传)→ runs → 指标卡片 + 逐用例表格 → 带有高亮回归的对比。 - **SDK + CLI + GitHub Action:** 本地、serverless 运行,**在出现回归时使 CI 失败**。 ## 快速开始(5 分钟,无需 API key) ``` git clone https://github.com/oussamaelbourakadi/litmus.git cd litmus docker compose up --build ``` - API: http://localhost:8000 (Swagger `/docs`, 健康检查 `/health`) - Dashboard: http://localhost:3000 ## CLI / SDK / GitHub Action **CLI**(serverless,回归时以非零状态退出): ``` uv pip install ./sdk litmus init # scaffold litmus.yaml + a demo target litmus run --config litmus.yaml # evaluate and gate on regressions ``` **SDK**(用约 10 行代码运行一次评估): ``` from litmus import Case, ExactMatch, run_local cases = [Case(input="capital of France?", expected="Paris")] result = run_local(cases, lambda prompt: "Paris", [ExactMatch()]) print(result.success_rate, result.ci_low, result.ci_high) ``` **GitHub Action** — 添加 [`litmus-eval.yml`](./.github/workflows/litmus-eval.yml) workflow;它会安装 SDK,并在成功率降至您的基线以下时使构建失败。 ## 扩展 Litmus(插件架构) 添加新功能始终遵循相同的结构 — 编写一个类,然后注册它: ``` from app.providers import ModelProvider, provider_registry @provider_registry.register("my-provider") class MyProvider(ModelProvider): name = "my-provider" async def generate(self, prompt, config): ... ``` 同样的模式也适用于 evaluators(`evaluator_registry`)和 targets (`target_registry`)。Engine 通过名称发现插件;核心代码永远不需要更改。 ## 仓库结构 ``` litmus/ ├── backend/ FastAPI · SQLAlchemy 2 async · Alembic · engine · plugin registry ├── frontend/ Next.js (App Router) · TypeScript strict · Tailwind dashboard ├── sdk/ litmus-sdk — local runner + Typer CLI + CI gate ├── examples/ demo target, dataset, litmus.yaml, SDK quickstart ├── docs/ DEPLOY.md · PORTFOLIO_BLURB.md ├── docker-compose.yml └── .github/workflows/ ci.yml · litmus-eval.yml ``` ## 路线图 | 阶段 | 支柱 | 状态 | |-------|--------|--------| | 1 | **Evaluate** — engine、指标、对比、dashboard、SDK/CLI、CI gate | ✅ 已发布 | | 2 | **Red-Team (LLM)** — OWASP LLM Top 10 攻击、防御、报告 | ⏳ 计划中 | | 3 | **Adversarial Vision** — FGSM/PGD/patch、人脸识别展示 | ⏳ 计划中 | | 4 | **Monitor** — traces、在线评估、漂移、告警、trace-to-test | ⏳ 计划中 | | 5 | **Product** — 认证、多项目、文档、落地页 | ⏳ 计划中 | ## 部署 Backend 部署在 Render 上(Docker + 托管 Postgres),frontend 部署在 Vercel 上 — 详见 [`docs/DEPLOY.md`](./docs/DEPLOY.md)。无需 API key 即可运行。 ## 作者 **Oussama El Bourakadi** — [github.com/oussamaelbourakadi](https://github.com/oussamaelbourakadi) ## 许可证 [MIT](./LICENSE)
标签:AI安全, AI评估, API集成, Chat Copilot, DLL 劫持, Python, 人工智能, 可观测性, 大语言模型, 无后门, 测试用例, 用户模式Hook绕过, 请求拦截