Repolode
StarlightSearch

StarlightSearch/EmbedAnything

基于 Rust 的嵌入(Embedding)流水线,可处理文本、PDF、图片、音频和网页,本地或云端生成向量并写入向量数据库。

Star
1,323
Fork
140
未关闭 Issue
20
最近提交
12天前

这是什么?

EmbedAnything 是一个用 Rust 编写、提供 Python 绑定的嵌入流水线。它可以读取文本、PDF、Markdown、图片、音频、网页以及 S3 存储桶中的文件,切分成文本块后生成向量,并直接写入向量数据库。支持的模型类型包括稠密向量、稀疏向量(SPLADE)、ONNX、Model2Vec 以及 ColBERT、ColPali 等延迟交互(late-interaction)模型,也支持重排序模型。

模型通过 Candle 或 ONNX Runtime 后端运行,不依赖 PyTorch。可以直接加载 Hugging Face 上的模型,也可以调用 Cohere 等云端嵌入接口。分块方式包括固定长度、按句子、语义切分和 late-chunking。文件处理、索引写入和模型推理分布在不同线程中并行进行,边生成向量边写入存储。

项目为 Qdrant、Weaviate、Milvus、Pinecone、Chroma、Elasticsearch 等向量数据库提供适配器,并提供服务端的预构建 Docker 镜像。

核心功能

  • 01支持稠密、稀疏、ONNX、Model2Vec 及延迟交互等多种嵌入模型。
  • 02基于 Candle 或 ONNX Runtime 运行模型,无需 PyTorch。
  • 03可处理 PDF、文本、Markdown、图片、音频、网页和 S3 存储桶文件。
  • 04提供固定长度、按句子、语义切分及 late-chunking 等分块方式。
  • 05将向量流式写入 Qdrant、Weaviate、Milvus 等向量数据库。
  • 06提供 Python 绑定和预构建的 Docker 服务镜像。

适用场景

  • 构建 RAG 流程,把 PDF 和文档索引到向量数据库中。
  • 在不安装 PyTorch 的本地机器或云服务器上生成嵌入。
  • 边处理边索引 S3 存储桶中的大量文件。
  • 结合稠密与 SPLADE 稀疏向量实现混合检索。

快速上手

  1. 1

    按照 README 的安装部分安装 Python 包

  2. 2

    按照 README 的使用示例加载模型并嵌入文件

使用前须知

  • Cohere 等云端模型需要你自己的 API 密钥。
  • 部分模型(例如受限的 Hugging Face 仓库)需要访问令牌。

标签

常见问题

EmbedAnything 是什么?
基于 Rust 的嵌入(Embedding)流水线,可处理文本、PDF、图片、音频和网页,本地或云端生成向量并写入向量数据库。 EmbedAnything 是一个用 Rust 编写、提供 Python 绑定的嵌入流水线。它可以读取文本、PDF、Markdown、图片、音频、网页以及 S3 存储桶中的文件,切分成文本块后生成向量,并直接写入向量数据库。支持的模型类型包括稠密向量、稀疏向量(SPLADE)、ONNX、Model2Vec 以及 ColBERT、ColPali 等延迟交互(late-interaction)模型,也支持重排序模型。
EmbedAnything 可以免费使用吗?用的什么许可证?
EmbedAnything 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
EmbedAnything 还在维护吗?
活跃维护中。EmbedAnything 最近一次提交是在 2026年10月26日。
EmbedAnything 适合用来做什么?
构建 RAG 流程,把 PDF 和文档索引到向量数据库中。 在不安装 PyTorch 的本地机器或云服务器上生成嵌入。 边处理边索引 S3 存储桶中的大量文件。 结合稠密与 SPLADE 稀疏向量实现混合检索。
EmbedAnything 怎么安装和运行?
按照 README 的安装部分安装 Python 包 按照 README 的使用示例加载模型并嵌入文件
在哪里获取 EmbedAnything?
源代码和安装说明在 GitHub 上:https://github.com/StarlightSearch/EmbedAnything

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目