Вопрос или проблема
Я пытаюсь установить chromadb на своей локальной системе, но получаю следующую ошибку, даже после установки Microsoft C++ Build Tools:
Это связано с тем, что “Chromadb” можно использовать только в Google Colab, и нет возможности использовать chromadb на моей локальной системе? Если да, то какие другие библиотеки можно использовать для хранения моей векторной базы данных локально на моей системе?
Дополнительная информация: я использую “langchain”, чтобы находить ближайший контекст в своей векторной базе данных и отправлять его в OpenAI.
Проблема не в chromadb, проблема в зависимости chromadb под названием hnswlib. Похоже, у некоторых людей возникла проблема с hnswlib на Python 3.9. Пожалуйста, посмотрите здесь: https://github.com/nmslib/hnswlib/issues/442 для получения дополнительной информации. Я только что собрал это на Python 3.10.5 без проблем (хотя это занимает несколько минут):
pip install hnswlib
pip install chromadb
Вам нужно убедиться, что инструменты сборки Microsoft C++ находятся в вашем PATH из среды, которую вы используете для сборки hnswlib. Удачи.
Ответ или решение
Чтобы установить ChromaDB на вашем локальном компьютере и избежать возникающих ошибок, вам необходимо учесть несколько важных моментов, касающихся зависимостей и совместимости версий Python.
Основная проблема, с которой вы столкнулись, связана с зависимостью ChromaDB, называемой hnswlib. Некоторые пользователи сообщают о проблемах с hnswlib на Python 3.9. Рекомендуется обновить вашу версию Python до 3.10 или более поздней версии. Я сам успешно установил hnswlib на Python 3.10.5. Вот шаги, которые вам следует выполнить:
-
Обновите Python: Если у вас установлена версия Python 3.9 или ниже, вам следует обновить ее до версии 3.10 или 3.11. Это можно сделать, скачав последнюю версию Python с официального сайта python.org и установив ее.
-
Проверьте PATH для Microsoft C++ Build Tools: Убедитесь, что инструменты сборки Microsoft C++ добавлены в переменную окружения PATH. Это можно сделать, запустив командную строку и выполнив следующую команду, чтобы проверить, доступны ли инструменты:
cl
Если вы видите сообщение об ошибке, вам потребуется заново установить или скорректировать установку Microsoft C++ Build Tools.
-
Установите зависимости: Теперь выполните следующие команды в командной строке или терминале, чтобы сначала установить hnswlib, а затем ChromaDB:
pip install hnswlib pip install chromadb
Если у вас возникают проблемы с установкой, обратите внимание на сообщения об ошибках, так как они могут дать дополнительные подсказки.
-
Альтернативы ChromaDB: Если, по каким-то причинам, вы не можете установить ChromaDB, существуют другие библиотеки для работы с векторными базами данных, которые можно использовать локально:
-
FAISS (Facebook AI Similarity Search): Библиотека для эффективного поиска ближайших соседей, которая поддерживает различное количество данных и может использоваться в Python.
-
Pinecone: Хотя это облачное решение, оно предоставляет API для работы с векторными данными и может быть полезно.
-
Annoy (Approximate Nearest Neighbors Oh Yeah): Библиотека, разработанная Spotify, оптимизированная для быстрого поиска ближайших соседей в высокоразмерных пространствах.
-
Milvus: Это распределенная система управления векторными данными, предназначенная для хранения и поиска векторной информации.
-
Обратите внимание, что многие из этих решений имеют свои зависимости и требования к установке. Убедитесь, что вы следите за документацией и руководствами по установке, чтобы избежать проблем.
Если у вас остались вопросы или возникли проблемы, не стесняйтесь задавать их!