hydrogen,一款用 rust 写的高性能数据清洗工具

216 阅读1分钟

一款用 rust 编写的高性能大数据处理工具。

背景

在机器学习,大模型训练数据,rag 应用等场景,我们需要投喂固定格式的数据以提高准确度。

{
    "address": [
        {
            "latitude": 0.0,
            "longitude": 0.0
        },
        {
            "latitude": 0.0,
            "longitude": 0.0
        }
    ],
    "id": 1,
    "mark": {
        "chinese": 0.014,
        "english": 0.35,
        "math": 0.762
    },
    "name": "demo"
}

试想一下,提供以下的数据给大模型,提问关键词问 xx id 提供了哪些维度信息? 那么我们只需要在 langchain 中提取地址信息投喂给大模型即可,这样从应用层面提升了推理效率又提升了系统整体的吞吐率。

[{"id":1, "address_latitude": xx,  "address_longitude": xx}, {"id":1, "address_latitude": yy,  "address_longitude": yy} ]

类似的场景还有很多很多。。。 这款工具就是为处理这种数据而产生的。

功能介绍

目前主要功能有 数据属性解析,数据解析,任务配置启动停止等

image.png

疑问

  1. 为什么使用 rust 作为开发语言,这门语言上手太难了?

rust 的 serde 库处理数据实在是太优秀了,这是 go 所不能比的。其他的编程语言,我只会念名称不会写。 另外,rust 打包的体积小,没有外部依赖,就是编译,链接有点慢。rust 上手确实难

  1. ...

好想再多谢点什么, 但是实在是 词穷意绝

最后

制作了一段非常简单的介绍视频,地址:▶演示视频

项目地址:

  1. 后端: github.com/TuMengStudi…
  2. 前端: github.com/TuMengStudi…

注: 所用的解析库还没在 https://crates.io 上发布, 具体实现参考 lepumk

谢谢