Repolode
StarlightSearch

StarlightSearch/EmbedAnything

Пайплайн эмбеддингов на Rust: обрабатывает текст, PDF, изображения, аудио и сайты, создаёт векторы локально или с помощью облачных моделей и передаёт их в векторные базы данных.

Звёзды
1,323
Форки
140
Открытые issues
20
Последний коммит
12 дней назад

Что это?

EmbedAnything — пайплайн эмбеддингов на Rust с привязками для Python. Он обрабатывает файлы из разных источников, включая текст, PDF, Markdown, изображения, аудио, сайты и S3-бакеты, разбивает их на фрагменты, создаёт эмбеддинги и передаёт результаты в векторную базу данных. Поддерживаются плотные и разреженные эмбеддинги (SPLADE), ONNX, Model2Vec и эмбеддинги с поздним взаимодействием (ColBERT, ColPali); также доступны модели для переранжирования.

Модели запускаются с помощью бэкендов Candle или ONNX Runtime, поэтому проект не зависит от PyTorch. Модели Hugging Face можно загружать напрямую; доступны и облачные модели эмбеддингов, например Cohere. Для разбиения на фрагменты предусмотрены стратегии фиксированного размера, по предложениям, семантическая и с поздним разбиением. Обработка, индексация и инференс выполняются в отдельных потоках, поэтому файлы можно передавать в хранилище по мере создания эмбеддингов.

В проекте есть адаптеры для векторных хранилищ, таких как Qdrant, Weaviate, Milvus, Pinecone, Chroma и Elasticsearch, а также готовый образ Docker для сервера.

Ключевые возможности

  • 01Создаёт плотные и разреженные эмбеддинги, а также эмбеддинги ONNX, Model2Vec и с поздним взаимодействием.
  • 02Запускает модели на Candle или ONNX Runtime без необходимости устанавливать PyTorch.
  • 03Обрабатывает PDF, текст, Markdown, изображения, аудио, сайты и S3-бакеты.
  • 04Поддерживает стратегии разбиения фиксированного размера, по предложениям, семантическую и с поздним разбиением.
  • 05Передаёт эмбеддинги в векторные базы данных, такие как Qdrant, Weaviate и Milvus.
  • 06Предоставляет привязки для Python и готовый образ сервера Docker.

Сценарии использования

  • Создание RAG-пайплайна, который индексирует PDF и документы в векторной базе данных.
  • Создание эмбеддингов на локальных компьютерах или облачных серверах без установленного PyTorch.
  • Индексация больших коллекций файлов из S3-бакетов по мере их обработки.
  • Гибридный поиск, сочетающий плотные и разреженные эмбеддинги SPLADE.

Быстрый старт

  1. 1

    Установите пакет Python, следуя инструкциям в разделе Installation файла README

  2. 2

    Загрузите модель и создайте эмбеддинг файла, используя пример из README

Что важно знать

  • Для облачных моделей, таких как Cohere, нужен собственный API-ключ.
  • Для некоторых моделей, например из закрытых репозиториев Hugging Face, нужен токен доступа.

Темы

Частые вопросы

Что такое EmbedAnything?
Пайплайн эмбеддингов на Rust: обрабатывает текст, PDF, изображения, аудио и сайты, создаёт векторы локально или с помощью облачных моделей и передаёт их в векторные базы данных. EmbedAnything — пайплайн эмбеддингов на Rust с привязками для Python. Он обрабатывает файлы из разных источников, включая текст, PDF, Markdown, изображения, аудио, сайты и S3-бакеты, разбивает их на фрагменты, создаёт эмбеддинги и передаёт результаты в векторную базу данных. Поддерживаются плотные и разреженные эмбеддинги (SPLADE), ONNX, Model2Vec и эмбеддинги с поздним взаимодействием (ColBERT, ColPali); также доступны модели для переранжирования.
EmbedAnything можно использовать бесплатно? Какая у него лицензия?
EmbedAnything распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
EmbedAnything всё ещё поддерживается?
Активно поддерживается. Последний коммит в EmbedAnything — 26 окт. 2026 г..
Для чего можно использовать EmbedAnything?
Создание RAG-пайплайна, который индексирует PDF и документы в векторной базе данных. Создание эмбеддингов на локальных компьютерах или облачных серверах без установленного PyTorch. Индексация больших коллекций файлов из S3-бакетов по мере их обработки. Гибридный поиск, сочетающий плотные и разреженные эмбеддинги SPLADE.
Как установить EmbedAnything?
Установите пакет Python, следуя инструкциям в разделе Installation файла README Загрузите модель и создайте эмбеддинг файла, используя пример из README
Где скачать EmbedAnything?
Исходный код и инструкции по установке — на GitHub: https://github.com/StarlightSearch/EmbedAnything

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Epsilla — векторная база данных с открытым исходным кодом на C++ для поиска похожих эмбеддингов, с фильтрацией метаданных, гибридным поиском и интеграциями для LLM-поиска.

87446C++Apache-2.0Обновлён в прошлом месяце

Подборка обучающих Jupyter-ноутбуков и демо, которые показывают, как создавать приложения для поиска по неструктурированным данным и ИИ на базе векторной БД Milvus.

2,5 тыс.+1 за неделю684Jupyter NotebookApache-2.0Обновлён 17 дней назад

Официальная Python-библиотека клиента для векторного поискового движка Qdrant: синхронный и асинхронный доступ по REST/gRPC и локальный режим в памяти.

1,4 тыс.+5 за неделю388PythonApache-2.0Активно поддерживаетсяОбновлён 4 дня назад