RAGSpine
快速上手

CLI 与脚本

已安装的 ragspine 命令,以及源码检出下的 Make/脚本入口。

ragspine 控制台命令随 wheel 一起发布。scripts/ 与仓库根的 Makefile 是 开发便利工具,仅在源码检出中可用。

已安装的控制台命令

命令用途
ragspine quickstart确定性的离线演示
ragspine ask --db PATH "question"通过 mock/离线路径回答一个问题
ragspine version已安装的发行版本
ragspine dify analyze FILE解析并静态分析一个 Dify 工作流;不生成代码也不执行
ragspine dify compile FILE把 Dify 工作流配置编译为 Python 源码;不执行它
ragspine workflow list列出内置模板元数据
ragspine workflow show ID --format yaml|json打印一个内置工作流
ragspine workflow preview ID输出带版本的、仅用于展示的图投影
ragspine workflow create DESCRIPTION匹配一个模板,或生成基础的 Dify 0.6 工作流

以下简写等价于 workflow create

ragspine "A RAG form-understanding paper workflow using CNN"

Workflow-create 选项

选项含义
--template ID精确选择一个目录模板并跳过匹配
--no-reuse始终生成固定的基础工作流
--matcher lexical|auto|onnx选择确定性词法匹配、自动 ONNX/回退,或强制 ONNX
--format yaml|json序列化输出格式;默认 YAML
-o, --output PATH输出路径
--stdout只把工作流文档写到标准输出
--force替换已存在的普通文件;链接与特殊文件仍然禁止

ONNX 匹配器需要 [embed-onnx];首次使用可能会下载并缓存其模型。auto 在 ONNX 不可用时回退到词法匹配,而显式指定 onnx 则会报错。

dify compiledify analyze 接受 .json.yaml.yml.toml 路径。解析时 会先把它们归一化为 JSON 兼容的映射,再做 Dify 校验。编译只生成代码; 只有单独设门控的服务端 run 端点才会执行编译产物。

源码检出下的 Make 目标

以下命令全部从仓库根运行。

目标用途
make venv用 uv 创建 .venv
make install可编辑的 [dev,service,vector] 安装
make install-all可编辑的 [dev,service,vector,llm,embed] 安装;与 [all] 不完全相同
make test运行 pytest,排除 GPU/网络测试
make ci阻塞式八阶段门禁:文档、类型、lint、测试、QA 与演示
make lint信息性的 scripts/lint.sh;CI 门禁会单独调用严格的 mypy 与 ruff
make fmtruff 修复与格式化
make drift文档与代码的漂移检查
make demomake ask Q="…"确定性演示与单问题问答
make eval-qamake eval-retrievalQA 评估与检索评估
make servemake workerFastAPI 服务器与基于 Redis 的 RQ worker
make buildmake publish-testmake publish构建与 Twine 上传流程

本地 CI 脚本是权威门禁。八个阶段分别是:文档引用 完整性、文档漂移、mypy --strict、ruff、常规测试套件、隔离的 Docling 测试、tool 与 agent 两种模式的 QA 棘轮,以及演示冒烟测试。

重要脚本

  • scripts/ask.py:单次问答接口。--provider mock 是确定性的;真实的 Anthropic 适配器需要 [llm] 与凭证。项目作者无法访问 Anthropic API,因此该 provider 路径没有得到同等程度的实机集成覆盖。
  • scripts/run_demo.py:完全离线的、从 fixture 到答案的冒烟测试。
  • scripts/run_server.py:uvicorn 启动器,支持 --host--port
  • scripts/run_worker.py:RQ 消费者;--queue 默认为 ragspine-ingest
  • scripts/topology.py:把静态引擎拓扑导出为 Mermaid、DOT 或 JSON。

目前刻意不提供 ragspine serveragspine workerragspine topology 控制台 子命令;它们仍是源码检出下的脚本。

本页目录