
Qdrant - это поисковая система и база данных, которая специализируется на поиске сходства между векторами. У него есть API, который позволяет вам хранить, искать и управлять векторами наряду с дополнительной информацией. Qdrant предназначен для поддержки расширенных возможностей фильтрации, что делает его полезным для таких задач, как соответствие нейронной сети, азартный поиск и другие приложения.
Qdrant строится с использованием языка программирования Rust, который обеспечивает быструю и надежную производительность, даже при работе с большим количеством данных. Вы можете использовать Qdrant для преобразования встроенных или нейронных сетевых кодеров в мощные приложения для таких задач, как сопоставление, поиск, рекомендации и многое другое. Примечательно, что векторные базы данных (в частности, Qdrant) наблюдают всплеск популярности для их использования в качестве векторного хранилища в сочетании с современными LLMS. Смотрите плагин по поиску Chatgpt для хорошего примера этого.
Этот репозиторий содержит все файлы и конфигурацию, необходимую для запуска высокодоступного (HA) кластера Qdrant в частной сети организации Fly.io с одноранговой (P2P) и обнаружением.
Начните с создания нового приложения FLY в вашем предпочтительном регионе. Выполните следующие команды в вашей вилке или клоне этого репозитория. Но сначала обязательно установите свой основной регион (и имя приложения) в файле fly.toml .
Использование CLI Fly Запустите следующее:
fly launch --no-public-ips --from https://github.com/kylemclaren/qdrant-on-fly
Эта команда создает новое приложение Fly с одной машиной для бега и прикрепленным томом. При запросе выберите yes , чтобы скопировать существующую конфигурацию в недавно сгенерированное приложение. Не создавайте базу данных PostgreSQL или экземпляр Upstash Redis.
Разверните кластер, клонируя первую машину. В настоящее время fly scale count не поддерживает масштабирующие машины с постоянными объемами хранения. Мы будем использовать «Fly Machine Clone», чтобы масштабировать наш кластер.
fly machine clone --region ord --selectfly status Масштабируйте установку в другой регион, клонируя там машину. Теперь у вас должно быть два сверстника в ord , а другой - в jnb .
fly machine clone --region jnb --selectfly statusПриложения FLY в той же организации могут подключиться к вашей базе данных Qdrant, используя следующий URI:
http:// < fly-app-name > .flycast:6333Во -первых, вам нужно выделить частный IP -адрес Flycast в вашем приложении. Вы можете сделать это, выполнив следующую команду:
fly ips allocate-v6 --private Если вам нужно, чтобы ваше приложение было общедоступным за пределами частной сети Fly, вы можете просто выделить публичный IP-приложение Fly и начать использовать прокси-сервер Fly для подключения как обычно (т.е. https://<fly-app-name>.fly.dev )
Предупреждение , если вы сделаете это, обязательно установите секрет
QDRANT__SERVICE__API_KEY.
fly proxy : fly proxy 6333:6333 -a < fly-app-name >curl ), чтобы подключиться к вашему экземпляру Qdrant на перенаправленном порту. Обратитесь к документации Fly по объемам для более подробной информации о том, как безопасно обрабатывать объемы, которые хранят ваши векторные данные. curl -H " Content-Type: application/json " http://localhost:6333/cluster | jq{
"result" : {
"status" : " enabled " ,
"peer_id" : 8961156852769025 ,
"peers" : {
"8961156852769025" : {
"uri" : " http://e286376be66286.vm.qdrant-6pn.internal:6335/ "
},
"6238012613461344" : {
"uri" : " http://568370dc75418e.vm.qdrant-6pn.internal:6335/ "
},
"2504460418660966" : {
"uri" : " http://148e722b75d789.vm.qdrant-6pn.internal:6335/ "
}
},
"raft_info" : {
"term" : 1314 ,
"commit" : 3510 ,
"pending_operations" : 0 ,
"leader" : 8961156852769025 ,
"role" : " Leader " ,
"is_voter" : true
},
"consensus_thread_status" : {
"consensus_thread_status" : " working " ,
"last_update" : " 2023-06-20T22:23:48.543413978Z "
},
"message_send_failures" : {}
},
"status" : " ok " ,
"time" : 4.125e-05
}Перейдите к http: // localhost: 6333/Dashboard, чтобы увидеть новый Qdrant Dashbaord и взаимодействовать с вашими данными там.
По умолчанию данные Qdrant и снимки хранятся в /data/qdrant/ . Если вам нужно изменить место для хранения по умолчанию, вы можете настроить переменные QDRANT__STORAGE__SNAPSHOTS_PATH и QDRANT__STORAGE__STORAGE_PATH в fly.toml
Пари
Это хорошая идея?
Вероятно, не ¯_(ツ)_/¯
Если вы сталкиваетесь с трудностями или у вас есть какие -либо вопросы, не стесняйтесь создавать проблему здесь.
Рекомендуется включить ведение журнала отладки перед подачей выпуска: fly secrets set QDRANT__DEBUG=true QDRANT__LOG_LEVEL=DEBUG
В качестве альтернативы, вы можете задать вопросы на странице сообщества здесь.
Если вы хотите внести свой вклад в проект, разделите его и не стесняйтесь отправлять запросы на притяжение.