Открытая векторная база данных для AI-приложений: хранит документы и векторы для семантического, гибридного и полнотекстового поиска.
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
Установите пакет Python, следуя инструкциям в разделе Installation файла README
- 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 обновляется ежедневно.
Похожие проекты
Сервер на Rust для развертывания и обслуживания open-source-моделей эмбеддингов текста и ранжирования через HTTP и gRPC.
Epsilla — векторная база данных с открытым исходным кодом на C++ для поиска похожих эмбеддингов, с фильтрацией метаданных, гибридным поиском и интеграциями для LLM-поиска.
Векторная база данных с открытым исходным кодом: хранит объекты и векторы вместе, объединяя поиск по сходству векторов со структурированной фильтрацией.
Подборка обучающих Jupyter-ноутбуков и демо, которые показывают, как создавать приложения для поиска по неструктурированным данным и ИИ на базе векторной БД Milvus.
Официальная Python-библиотека клиента для векторного поискового движка Qdrant: синхронный и асинхронный доступ по REST/gRPC и локальный режим в памяти.