Индексирование миллионов статей Википедии с помощью Upstash Vector
Этот репозиторий содержит код и документацию для нашего проекта по индексированию миллионов статей Википедии с помощью Upstash Vector, как описано в нашем блоге.
Обзор проекта
Мы создали систему семантического поиска и Upstash RAG Chat SDK, используя данные Википедии, чтобы продемонстрировать возможности Upstash Vector и RAG Chat SDK. Проект предполагает:
- Подготовка и вставка статей Википедии
- Индексирование векторов с помощью Upstash Vector
- Создание семантической поисковой системы Википедии
- Реализация чат-бота RAG
Ключевые особенности
- Проиндексировано более 144 миллионов векторов из статей Википедии на 11 языках.
- Используемая модель внедрения BGE-M3 для многоязычной поддержки.
- Реализован семантический поиск с межъязыковыми возможностями.
- Создал чат-бот RAG с помощью Upstash RAG Chat SDK.
Используемые технологии
- Upstash Vector: для хранения и запроса векторных вложений.
- Upstash Redis: для хранения сеансов чата.
- Upstash RAG Chat SDK: для создания приложения RAG Chat.
- SentenceTransformers: для создания вложений.
- Meta-Llama-3-8B-Instruct: в качестве поставщика LLM через API-интерфейсы QStash LLM.
Разработка
Чтобы запустить проект локально, выполните следующие действия:
- Перейдите в консоль Upstash для управления вашими базами данных:
- Создайте новую базу данных Vector с поддержкой встроенной модели. Вы можете выбрать модель BGE-M3 для многоязычной поддержки.
- Создайте новую базу данных Redis для хранения сеансов чата.
- Скопируйте учетные данные для Redis и Vector. Также скопируйте учетные данные QStash для использования моделей LLM, размещенных на upstash.
Поместите учетные данные в файл .env
в корне проекта. Ваш файл .env
должен выглядеть так:
UPSTASH_VECTOR_REST_URL=
UPSTASH_VECTOR_REST_TOKEN=
UPSTASH_REDIS_REST_TOKEN=
UPSTASH_REDIS_REST_URL=
QSTASH_TOKEN=
- Заполните индекс Vector.
Этот проект использует пространства имен для хранения статей на разных языках. Поэтому вам нужно добавить векторы в правильное пространство имен. Для английского языка добавьте свои векторы в пространство имен en
.
- Установите зависимости:
- Запустите сервер разработки:
Содействие
Мы приветствуем вклад в улучшение этого проекта. Пожалуйста, не стесняйтесь присылать проблемы или запросы на извлечение.
Благодарности
- Википедия за предоставление набора данных
- Upstash для своей векторной базы данных и RAG Chat SDK
- Все участники библиотек с открытым исходным кодом, используемых в этом проекте.
Контакт
По любым вопросам или отзывам о проекте или Upstash Vector обращайтесь к нам по адресу (добавьте контактную информацию).
Посмотрите нашу живую демонстрацию, чтобы увидеть проект в действии!