Doramagic 项目包 · 项目说明书

korvus 项目

Korvus 是一个搜索 SDK,将整个 RAG 流程整合在单次数据库查询中,基于 Postgres 构建,并提供 Python、JavaScript、Rust 和 C 的绑定。

Korvus 概览与快速入门

Korvus 是一个面向 Postgres 的全开源、端到端 RAG(Retrieval-Augmented Generation)流水线框架。它将大语言模型、向量存储、嵌入生成、重排序、摘要以及自定义模型统一到单条 SQL 查询中,旨在替代 OpenAI + Pinecone 的组合方案。Korvus 基于 Postgres 构建,并通过 PgVector 实现高效的向量...

章节 相关页面

继续阅读本节完整说明和来源证据。

章节 4.1 环境准备

继续阅读本节完整说明和来源证据。

章节 4.2 Python 示例

继续阅读本节完整说明和来源证据。

章节 4.3 JavaScript 示例

继续阅读本节完整说明和来源证据。

1. 项目定位与核心价值

Korvus 是一个面向 Postgres 的全开源、端到端 RAG(Retrieval-Augmented Generation)流水线框架。它将大语言模型、向量存储、嵌入生成、重排序、摘要以及自定义模型统一到单条 SQL 查询中,旨在替代 OpenAI + Pinecone 的组合方案。Korvus 基于 Postgres 构建,并通过 PgVector 实现高效的向量检索,使开发者无需维护额外的专用向量数据库基础设施。

资料来源:README.md

根据 korvus/src/lib.rs 中的模块声明,SDK 内置了对文档表、文本分块、文本分割器、LLM 模型与嵌入向量的统一管理能力,并借助 sqlxPgPool 等异步运行时组件与 Postgres 建立连接。核心 Rust crate 通过 tokio 异步执行器驱动所有数据库与模型调用。

资料来源:korvus/src/lib.rs

2. 系统架构

Korvus 的核心架构采用 Rust 作为底层实现,通过自研的 rust-bridge 过程宏自动生成 Python(PyO3)与 JavaScript(Neon)绑定,从而在保持单一代码源的前提下提供多语言 SDK。

flowchart LR
    A[用户应用<br/>Python / JS / Rust] --> B[Korvus SDK]
    B --> C[Collection<br/>文档与流水线管理]
    C --> D[Pipeline<br/>转换与处理链]
    D --> E[Model<br/>嵌入与 LLM]
    D --> F[Splitter<br/>文本分块]
    E --> G[(Postgres + PgVector)]
    F --> G
    G --> H[向量检索 / RAG 结果]
    H --> A

核心数据结构 CollectionPipeline 均通过 #[cfg_attr(feature = "rust_bridge", derive(alias))] 派生宏标识,使其可被自动翻译为多语言绑定。Pipeline 通过 JSON Schema 描述字段级别的转换动作,由 json_to_schema 解析为内部 ParsedSchema

资料来源:korvus/src/pipeline.rs ; korvus/src/collection.rs

3. 支持的任务类型与语言绑定

Korvus 通过 ProjectTask 枚举覆盖了主流的机器学习与 NLP 任务,其与字符串标识的映射关系如下表所示:

枚举变体字符串标识典型用途
Regressionregression数值回归
Classificationclassification多类别分类
QuestionAnsweringquestion_answering抽取式问答
Summarizationsummarization文本摘要
Translationtranslation机器翻译
TextClassificationtext_classification文本分类
TextGenerationtext_generation文本生成
Text2texttext2text序列到序列
Embeddingembedding嵌入向量生成

资料来源:korvus/src/collection.rs

在语言层面,korvus/src/lib.rs 通过 Cargo features 控制模块可见性,已官方支持 Python(feature = "python")、JavaScript(feature = "javascript")与 C(feature = "c")。rust-bridge 子 crate 中的 aliasalias_methods 过程宏会读取同一份 Rust 源码并生成对应的 FFI 绑定,实现"一次实现,多端发布"。

资料来源:korvus/src/lib.rs ; rust-bridge/README.md ; rust-bridge/rust-bridge-macros/src/lib.rs

4. 快速入门

4.1 环境准备

Korvus 依赖 Postgres + PgVector。在配置好 DATABASE_URL(或 JavaScript 端的 KORVUS_DATABASE_URL)后,可使用 pip 或 npm 安装对应语言的 SDK。当前 JavaScript 包的版本号为 1.1.5,由 cargo-cp-artifact 自动产出原生绑定。

资料来源:korvus/javascript/package.json

4.2 Python 示例

Python 示例位于 korvus/python/examples,主要涵盖以下场景:

  • semantic_search.py:基于 Quora 数据集构建集合,使用 intfloat/e5-small-v2 模型生成嵌入并执行向量检索。
  • question_answering.py:基于 SQuAD 数据集演示检索增强问答。
  • question_answering_instructor.py:演示使用 hknlp/instructor-base 等自定义嵌入模型。
  • extractive_question_answering.py:通过 Builtins.transform() 在数据库内执行 HuggingFace 问答模型。

环境变量设置:export KORVUS_DATABASE_URL={YOUR DATABASE URL},也可写入 .env 文件。

资料来源:korvus/python/examples/README.md

4.3 JavaScript 示例

JavaScript 示例位于 korvus/javascript/examples,与 Python 端基本一一对应,包括语义检索、问答、Instructor 模型与摘要问答,并额外提供 Webpack 集成示例。安装依赖后设置 KORVUS_DATABASE_URL 即可运行。

资料来源:korvus/javascript/examples/README.md

4.4 自定义 HuggingFace 模型

社区 Issue #13 中指出:在 Pipeline 中使用 HuggingFace 模型时,需要在模型配置中显式传入 trust_remote_code=True,否则无法加载远程自定义代码。这是一项常见的环境配置踩点,开发者应在初始化 Pipeline 时核对模型参数。

资料来源:GitHub Issue #13

5. 社区关注与已知问题

  • 多语言绑定诉求:社区已提出添加 Go(Issue #6)、PHP(Issue #9)、.NET(Issue #24)等语言绑定的请求。受限于当前 rust-bridge 仅内置 Python / JavaScript / C 的代码生成器,这些语言暂未纳入官方支持路线。
  • 文档缺口:Issue #13 反映了示例脚本运行步骤的文档缺失,例如 HuggingFace 模型参数 trust_remote_code 的传递方式。
  • 云端运行稳定性:Issue #23 报告 Korvus Cloud 上的流水线出现 os error 11(资源耗尽类错误),需重启 worker 恢复。该问题多见于模型推理阶段的资源争用场景。

资料来源:GitHub Issues #6, #9, #13, #23, #24

6. 贡献与支持

项目欢迎通过 Fork + Pull Request 的方式贡献代码,提交前请阅读 CONTRIBUTING.md 中的编码规范与测试要求。日常问题可通过 Discord 与 Twitter 社区进行交流,企业级支持请联系 PostgresML 官方。

资料来源:CONTRIBUTING.md ; README.md

See Also

  • Korvus 集合(Collection)与流水线(Pipeline)模型
  • rust-bridge 多语言绑定机制
  • PostgresML 官方文档

资料来源:README.md

多语言 SDK 绑定与 API 参考

Korvus 是一个基于 Rust 构建的端到端向量搜索 SDK,允许用户在不使用 OpenAI 与 Pinecone 的前提下,借助 PostgresML 与 PgVector 完成文档摄取、文本分块、向量化与检索任务 [README.md:1-10]。项目的核心 Rust 库位于 korvus/src/lib.rs,并通过 Builtins、Collection、Mod...

章节 相关页面

继续阅读本节完整说明和来源证据。

章节 Collection

继续阅读本节完整说明和来源证据。

章节 Pipeline

继续阅读本节完整说明和来源证据。

章节 ProjectTask

继续阅读本节完整说明和来源证据。

概览

Korvus 是一个基于 Rust 构建的端到端向量搜索 SDK,允许用户在不使用 OpenAI 与 Pinecone 的前提下,借助 PostgresML 与 PgVector 完成文档摄取、文本分块、向量化与检索任务 [README.md:1-10]。项目的核心 Rust 库位于 korvus/src/lib.rs,并通过 BuiltinsCollectionModelPipelineSplitterTransformerPipeline 等公开类型对外暴露能力 [korvus/src/lib.rs:25-35]。

为了让 Python、JavaScript 与 C 用户都能使用同一套核心逻辑,Korvus 设计了一套基于过程宏的 Rust-to-Rust 转换框架 rust-bridge,从而以单一代码源同时生成 PyO3 与 Neon 兼容的绑定代码。

绑定生成架构

flowchart LR
    A[核心 Rust 类型<br/>Collection / Pipeline / Model] --> B[rust-bridge 过程宏<br/>alias / alias_methods]
    B --> C{目标语言}
    C -->|Python| D[PyO3 绑定<br/>generate_python_*]
    C -->|JavaScript| E[Neon 绑定<br/>generate_javascript_*]
    C -->|C| F[C FFI 绑定<br/>generate_c_*]
    D --> G[korvus-python]
    E --> H[korvus-javascript]
    F --> I[korvus-c]

rust-bridge-macros 是整个多语言绑定体系的中枢,它提供三个核心派生宏:aliasalias_methodsalias_manual [rust-bridge/rust-bridge-macros/src/lib.rs:11-44]。其中:

  • alias 在编译期为 Rust 结构体生成 <TypeName>Python<TypeName>Javascript<TypeName>C 等包装结构,并实现跨语言互转 [rust-bridge/rust-bridge-macros/src/c.rs:9-44]。
  • alias_methods 遍历 impl 块,按 SupportedLanguage 枚举(C / Python / JavaScript)为每个目标语言生成对应的方法签名,可通过 skip = "..." 跳过指定语言 [rust-bridge/rust-bridge-macros/src/common.rs:14-30]。
  • 类型系统位于 types.rs,负责将 Rust 类型映射为各语言可识别的字符串表达,例如 Option<T> 会被映射为 Option<T>Vec<T> 映射为 Vec<T> [rust-bridge/rust-bridge-macros/src/types.rs]。

Korvus 在入口模块按特性门控加载对应语言绑定:korvus/src/languages/mod.rs 通过 #[cfg(feature = "javascript")]#[cfg(feature = "python")]#[cfg(feature = "c")] 三个条件编译块启用不同模块。

已支持的语言绑定

语言绑定机制包入口关键示例
PythonPyO3 + maturinkorvus/python/korvus/semantic_search.pyrag_question_answering.py [korvus/python/examples/README.md]
JavaScriptNeon + napi-rskorvus/javascript/index.jssemantic_search.jsextractive_question_answering.js [korvus/javascript/examples/README.md]
C裸 FFI + Box::into_rawalias_methods 自动生成 *mut <Type>C 句柄generate_c_alias [rust-bridge/rust-bridge-macros/src/c.rs:9-80]

Collection 为例:核心 Rust 结构体仅需声明一次,配合 #[cfg_attr(feature = "rust_bridge", derive(alias))] 即可在编译时为三种语言生成包装类型 korvus/src/collection.rs:55-65。其方法则通过 #[cfg_attr(feature = "rust_bridge", alias_methods(new, upsert_documents, get_documents, ...))] 显式登记到跨语言接口列表中 [korvus/src/collection.rs:65-79]。

Python 侧的实现位于 rust-bridge-macros/src/python.rs:宏会判断方法是否为 async,并按 OutputType::Result | OutputType::Other 分别生成 PyResult 包装,从而保证 Rust 的 anyhow::Result 与 Python 异常体系正确桥接 [rust-bridge/rust-bridge-macros/src/python.rs]。

核心 API 参考

Collection

Collection 表示一组文档及其关联的 Pipelines。其 Rust 结构同时保存 namedatabase_urlpipelines_table_namedocuments_table_name 与可选的数据库元数据 korvus/src/collection.rs:55-65。暴露给跨语言的方法包括:

方法用途
new构造一个新的 Collection 实例
upsert_documents / get_documents / delete_documents文档 CRUD
add_pipeline / remove_pipeline / get_pipeline / get_pipelinesPipeline 管理
enable_pipeline / disable_pipelinePipeline 状态切换
search / vector_search混合 / 纯向量检索

Pipeline

Pipeline 描述对每个字段执行的转换序列,由 JSON schema 驱动。Pipeline::new 接收 nameschema 两个参数,并通过 json_to_schema 校验 schema 中无重复键 korvus/src/pipeline.rs:24-46。Pipeline 支持的字段动作由 ValidFieldAction 反序列化,并在构造期通过 try_into 提前实例化模型与分块器 korvus/src/pipeline.rs:32-44

ProjectTask

ProjectTask 枚举定义了 SDK 已知的所有任务类型:RegressionClassificationQuestionAnsweringSummarizationTranslationTextClassificationTextGenerationText2textEmbedding korvus/src/collection.rs:5-25。它通过 From<&str>From<&ProjectTask> for &'static str 双向转换,便于与 Postgres 字符串字段交互 korvus/src/collection.rs:27-65

Models 与 Builtins

数据模型 DocumentCollectionEmbeddingChunkTSVectorkorvus/src/models.rs 中通过 sqlx::FromRowenum_def 派生,使其能直接在 SQL 查询结果上构造。Builtinskorvus/src/lib.rs:36 重新导出,提供 transform() 等可在数据库端直接运行的 HuggingFace 模型调用能力(参见 issue #13 关于 trust_remote_code: True 的提醒)。

社区需求与未来扩展

根据仓库 Issue 跟踪,社区对更多语言绑定的呼声较高:

由于 rust-bridge-macros 已通过 SupportedLanguage 枚举抽象出语言扩展点,新增一种语言只需实现对应的 generate_<lang>_aliasgenerate_<lang>_methods 函数,并在 korvus/src/languages/mod.rs 中以 #[cfg(feature = "...")] 注册即可。贡献流程参见 CONTRIBUTING.md

此外,#23 报告了 Korvus Cloud 上的 worker os error 11 问题,提示在托管环境中调用 Builtins.transform() 等需要远端模型推理的方法时,应关注宿主机资源与模型缓存状态。

参见

来源:https://github.com/postgresml/korvus / 项目说明书

核心管道架构与数据流

Korvus 是一个面向端到端向量搜索应用的开源 SDK 替代方案,目标是让用户在不使用 OpenAI / Pinecone 的前提下,统一管理文档、分块、向量嵌入、检索与生成任务。其核心抽象围绕「Collection(文档集合) + Pipeline(管道) + Model(模型) + Splitter(分块器)」四个对象展开,所有数据流均落到 PostgreSQL(通过...

章节 相关页面

继续阅读本节完整说明和来源证据。

1. 设计目标与定位

Korvus 是一个面向端到端向量搜索应用的开源 SDK 替代方案,目标是让用户在不使用 OpenAI / Pinecone 的前提下,统一管理文档、分块、向量嵌入、检索与生成任务。其核心抽象围绕「Collection(文档集合) + Pipeline(管道) + Model(模型) + Splitter(分块器)」四个对象展开,所有数据流均落到 PostgreSQL(通过 PgVector 扩展)中,避免引入额外的专用向量数据库。

资料来源:korvus/src/lib.rs:1-15

社区关注点:Issue #13 多次反馈文档与示例脚本配置参数缺失(例如使用 Hugging Face 模型时需要 trust_remote_code: true),表明管道的配置语义是用户高频踩坑点;Issue #23 报告 Korvus Cloud worker 出现 os error 11,提示 Pipeline 在远端执行模型时存在资源隔离与崩溃恢复问题。

资料来源:korvus/src/lib.rs:1-15

部署、CLI、扩展与故障排查

Korvus 的部署、CLI、扩展与故障排查相关代码散布在三个层次:核心 Rust 库顶层模块、绑定生成宏(rust-bridge),以及面向 Python/JavaScript 的 CLI 入口。在核心库中,korvus/src/lib.rs 声明了 mod cli(仅在启用 python 或 javascript feature 时编译),同时还暴露了 pub mod ...

章节 相关页面

继续阅读本节完整说明和来源证据。

概览与角色定位

Korvus 的部署、CLI、扩展与故障排查相关代码散布在三个层次:核心 Rust 库顶层模块、绑定生成宏(rust-bridge),以及面向 Python/JavaScript 的 CLI 入口。在核心库中,korvus/src/lib.rs 声明了 mod cli(仅在启用 pythonjavascript feature 时编译),同时还暴露了 pub mod migrations 与若干 languages 子模块,这表明 Korvus 在被作为多语言 SDK 启动时,会通过一个本地子进程托管与 Postgres 通信的运行时。

资料来源:korvus/src/lib.rs

Korvus 的扩展性来自于一个名为 rust-bridge 的"Rust 到 Rust"转译宏系统:它把一份带 #[alias]#[alias_methods] 标注的 Rust 源码,自动展开为 PyO3(Python)、Neon(JavaScript)以及 cbindgen(C)三种 FFI 实现。社区中关于"Add Golang"(#6)、"Add PHP"(#9)和"Add .net support"(#24)的请求,本质上都是希望在 rust-bridge 中再增加一种 SupportedLanguage 分支。

CLI 与语言绑定机制

Korvus 的 CLI 并不是传统意义上的命令行工具,而是当 python/javascript feature 启用后随库一同编译的子进程端点。korvus/src/lib.rs 中的 mod cli#[cfg(any(feature = "python", feature = "javascript"))] 条件编译保护,这意味着只有构建绑定版本时才会出现 CLI 进程。

资料来源:korvus/src/lib.rs

语言子模块的分发入口在 korvus/src/languages/mod.rs 中:当前支持 pythonjavascriptc 三种。korvus/src/collection.rs 中大量出现的 #[cfg_attr(feature = "rust_bridge", derive(alias))]#[cfg_attr(feature = "rust_bridge", alias_methods(...))] 注解,正是给 rust-bridge 用来生成对应语言包装的"钩子"。

rust-bridge-macros/src/lib.rs 暴露了三个核心过程宏:alias(为结构体生成语言别名)、alias_methods(按属性参数挑选要导出的方法)、alias_manual(用于手工定制的别名)。alias 宏内部会同时调用 python::generate_python_aliasc::generate_c_aliasjavascript::generate_javascript_alias 三个生成器,然后合并到输出 token 流中。

资料来源:rust-bridge/rust-bridge-macros/src/lib.rs

下图展示了单一 Rust 源如何被 rust-bridge 转译为多语言 SDK 的工作流:

flowchart LR
  A[带 alias / alias_methods<br/>标注的 Rust 源码] --> B[rust-bridge proc macro]
  B --> C[PyO3 包装<br/>Python feature]
  B --> D[Neon 包装<br/>javascript feature]
  B --> E[cbindgen 包装<br/>c feature]
  C --> F[CLI / pip 包<br/>korvus-python]
  D --> G[CLI / npm 包<br/>korvus-javascript]
  E --> H[C 头文件与 .so/.dylib]

类型映射规则集中在 rust-bridge/rust-bridge-macros/src/types.rsto_language_string 方法中:&mut T 映射为 &mut <inner>Vec<T> 映射为 Vec<inner>、自定义类型追加语言特定后缀(Python / C / JavaScript),从而保证 Model 在不同语言侧都暴露为 ModelPythonModelCModelJavaScript 等对应类型。

资料来源:rust-bridge/rust-bridge-macros/src/types.rs

部署配置与环境变量

Korvus 的部署强依赖于一个具备 pgvector 扩展的 PostgreSQL 实例。各语言示例 README 中都明确要求设置 KORVUS_DATABASE_URL

export KORVUS_DATABASE_URL={YOUR DATABASE URL}

资料来源:korvus/python/examples/README.mdkorvus/javascript/examples/README.md

在运行时层,korvus/src/lib.rs 通过 PgPoolOptions 异步创建连接池,并使用 once_cell::sync::Lazy + parking_lot::RwLock 缓存运行时;数据库 schema 升级由 pub mod migrations 处理(首次启动时自动执行)。korvus/src/pipeline.rsPipeline::new 接受一个 JSON schema,并通过 json_to_schema 解析成 FieldAction 树——semantic_searchsplitterfull_text_search 三种动作可以按字段组合,是部署时最容易出错的地方。

已知问题与故障排查

社区中反馈最集中的几类问题,几乎都落在本主题的范畴:

现象根因 / 排查方向资料来源
Korvus Cloud 流水线报 worker error (os error 11)后端 worker 进程崩溃或被回收;需重启 worker 或重建服务器(#23)社区 issue #23
示例脚本加载 Hugging Face 模型失败缺少 trust_remote_code: True 参数(#13)社区 issue #13
希望绑定新增语言当前 rust-bridge 仅在 SupportedLanguage 中枚举 Python / JavaScript / C(#6, #9, #24)rust-bridge-macros/src/lib.rs
文档缺失贡献流程见 CONTRIBUTING.md,文档改进欢迎 PRCONTRIBUTING.md

对于 Hugging Face 模型参数问题,规范的修复方式是在 semantic_search 配置中显式传参:

"semantic_search": {
  "model": "<hf-model-id>",
  "parameters": { "trust_remote_code": true }
}

对于 C 绑定场景,korvus/src/collection.rs#[cfg(feature = "c")] 守卫的 JsonCPipelineCQueryBuilderC 是构建产物;如果链接时找不到符号,请确认构建时启用了 c feature 并安装了 cbindgen

扩展建议

如需新增一门语言绑定,推荐遵循以下步骤(与 CONTRIBUTING.md 一致):

  1. rust-bridge-macros/src/lib.rsalias 宏中加入新的 generate_<lang>_alias 生成器;
  2. types.rs::to_language_string 中加入该语言的类型映射;
  3. korvus/src/languages/mod.rskorvus/src/lib.rs 中增加对应的 cfg 模块声明与 CLI 入口;
  4. korvus/<lang>/ 目录下补充打包脚本(参考 korvus/python/korvus/javascript/)。

See Also

资料来源:korvus/src/lib.rs

失败模式与踩坑日记

保留 Doramagic 在发现、验证和编译中沉淀的项目专属风险,不把社区讨论只当作装饰信息。

high 来源证据:Add PHP

可能增加新用户试用和生产接入成本。

high 来源证据:Add documentation

可能影响授权、密钥配置或安全边界。

medium 来源证据:6 rows with limit 6 and 0 rows with limit 5

可能增加新用户试用和生产接入成本。

medium 来源证据:Add TypeScript

可能增加新用户试用和生产接入成本。

Pitfall Log / 踩坑日志

项目:postgresml/korvus

摘要:发现 17 个潜在踩坑项,其中 2 个为 high/blocking;最高优先级:安装坑 - 来源证据:Add PHP。

1. 安装坑 · 来源证据:Add PHP

  • 严重度:high
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:Add PHP
  • 对用户的影响:可能增加新用户试用和生产接入成本。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/9 | 来源类型 github_issue 暴露的待验证使用条件。

2. 安全/权限坑 · 来源证据:Add documentation

  • 严重度:high
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Add documentation
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/13 | 来源类型 github_issue 暴露的待验证使用条件。

3. 安装坑 · 来源证据:6 rows with limit 6 and 0 rows with limit 5

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:6 rows with limit 6 and 0 rows with limit 5
  • 对用户的影响:可能增加新用户试用和生产接入成本。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/22 | 来源类型 github_issue 暴露的待验证使用条件。

4. 安装坑 · 来源证据:Add TypeScript

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:Add TypeScript
  • 对用户的影响:可能增加新用户试用和生产接入成本。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/17 | 来源讨论提到 npm 相关条件,需在安装/试用前复核。

5. 安装坑 · 来源证据:Exception: error returned from database: invalid input value for enum task: "embedding"

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:Exception: error returned from database: invalid input value for enum task: "embedding"
  • 对用户的影响:可能影响升级、迁移或版本选择。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/10 | 来源讨论提到 python 相关条件,需在安装/试用前复核。

6. 安装坑 · 来源证据:Hi! My Korvus Cloud pipeline is stuck with a worker error (os error 11) even after creating a new server. Database: pgm…

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:Hi! My Korvus Cloud pipeline is stuck with a worker error (os error 11) even after creating a new server. Database: pgml_xb9wszjbked8ued — could someone restar…
  • 对用户的影响:可能增加新用户试用和生产接入成本。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/23 | 来源类型 github_issue 暴露的待验证使用条件。

7. 安装坑 · 来源证据:High gpu consumption

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:High gpu consumption
  • 对用户的影响:可能增加新用户试用和生产接入成本。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/18 | 来源讨论提到 python 相关条件,需在安装/试用前复核。

8. 能力坑 · 能力判断依赖假设

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:README/documentation is current enough for a first validation pass.
  • 对用户的影响:假设不成立时,用户拿不到承诺的能力。
  • 证据:capability.assumptions | https://github.com/postgresml/korvus | README/documentation is current enough for a first validation pass.

9. 运行坑 · 运行可能依赖外部服务

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:项目说明出现 external service/cloud/webhook/database 等运行依赖关键词。
  • 对用户的影响:本地安装成功不等于能力可用,外部服务不可用会阻断体验。
  • 证据:packet_text.keyword_scan | https://github.com/postgresml/korvus | matched external service / cloud / webhook / database keyword

10. 维护坑 · 维护活跃度未知

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:未记录 last_activity_observed。
  • 对用户的影响:新项目、停更项目和活跃项目会被混在一起,推荐信任度下降。
  • 证据:evidence.maintainer_signals | https://github.com/postgresml/korvus | last_activity_observed missing
  • 严重度:medium
  • 证据强度:source_linked
  • 发现:no_demo
  • 证据:downstream_validation.risk_items | https://github.com/postgresml/korvus | no_demo; severity=medium

12. 安全/权限坑 · 存在评分风险

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:no_demo
  • 对用户的影响:风险会影响是否适合普通用户安装。
  • 证据:risks.scoring_risks | https://github.com/postgresml/korvus | no_demo; severity=medium

13. 安全/权限坑 · 来源证据:Exception: error returned from database: function pgml.transform(task => jsonb, inputs => jsonb[], args => jsonb) does…

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Exception: error returned from database: function pgml.transform(task => jsonb, inputs => jsonb[], args => jsonb) does not exist
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/16 | 来源讨论提到 python 相关条件,需在安装/试用前复核。

14. 安全/权限坑 · 来源证据:FEAT add base url to model config

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:FEAT add base url to model config
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/20 | 来源讨论提到 api key 相关条件,需在安装/试用前复核。

15. 安全/权限坑 · 来源证据:content must be a string

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:content must be a string
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/postgresml/korvus/issues/12 | 来源讨论提到 node 相关条件,需在安装/试用前复核。

16. 维护坑 · issue/PR 响应质量未知

  • 严重度:low
  • 证据强度:source_linked
  • 发现:issue_or_pr_quality=unknown。
  • 对用户的影响:用户无法判断遇到问题后是否有人维护。
  • 证据:evidence.maintainer_signals | https://github.com/postgresml/korvus | issue_or_pr_quality=unknown

17. 维护坑 · 发布节奏不明确

  • 严重度:low
  • 证据强度:source_linked
  • 发现:release_recency=unknown。
  • 对用户的影响:安装命令和文档可能落后于代码,用户踩坑概率升高。
  • 证据:evidence.maintainer_signals | https://github.com/postgresml/korvus | release_recency=unknown

来源:Doramagic 发现、验证与编译记录