Skip to content

Latest commit

 

History

History
144 lines (93 loc) · 5.53 KB

README_CN.md

File metadata and controls

144 lines (93 loc) · 5.53 KB

CI GitHub GitHub top language GitHub All Releases GitHub release (latest by date) GitHub commit activity GitHub release (latest by date including pre-releases) Language grade: Python codecov

Phantoscope 是一个基于 Milvus 与深度学习的云原生图像搜索引擎

十亿级别的图像的高性能搜索

完全兼容 Tensorflow Pytorch TensorRT ONNX XGBoost 等主流深度学习框架

提供 GUI 展示搜索效果、管理 Phantoscope 资源

即将提供扩展仓库,在这里可以上传并与全世界的开发者分享你的扩展

原生支持 Docker 与 Kubernetes

中文版 | English

目录

背景

人类的搜索不应该被局限在单词与短句。

随着图像、视频等数据所占人类生活的比重越来越大,原先的单一文本搜索已经越来越无法满足人们的需求。

一张图像包含了大量的信息,不同人站在不同的角度解读,会产生不同的结果。无论是现在的全文检索还是以图搜图的搜索引擎,都无法满足这种灵活多变的高维度搜索需求。

利用深度学习模型,灵活组合不同的图片处理技术,加上 Milvus 向量搜索引擎的强大赋能后,提供统一接口的高性能图像搜索引擎,这就是 Phantoscope。

安装

环境准备

  • Docker >= 19.03
  • Docker Compose >= 1.25.0
  • Python >= 3.5

Phantoscope 已经在 x86 平台下的 Ubuntu 16.04 和 CentOS 7.3 以上经过验证。

开始安装

下载 Phantoscope

$ git clone https://github.com/zilliztech/phantoscope.git && cd phantoscope

设置环境变量

$ export LOCAL_ADDRESS=$(ip a | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'| head -n 1)

启动 Phantoscope 容器

$ docker-compose up -d

检查所有容器状态:

$ docker-compose ps

预期得到如下输出:

Name                   Command                          State   Ports
----------------------------------------------------------------------------------------------------------------
phantoscope_api_1      /usr/bin/gunicorn3 -w 4 -b ...   Up      0.0.0.0:5000->5000/tcp
phantoscope_milvus_1   /var/lib/milvus/docker-ent ...   Up      0.0.0.0:19530->19530/tcp, 0.0.0.0:8080->8080/tcp
phantoscope_minio_1    /usr/bin/docker-entrypoint ...   Up      0.0.0.0:9000->9000/tcp
phantoscope_mysql_1    docker-entrypoint.sh mysqld      Up      0.0.0.0:3306->3306/tcp
phantoscope_vgg_1      python3 server.py                Up      0.0.0.0:50001->50001/tcp

快速开始

这里 运行一个最小的 Phantoscope 应用,你可以使用它来上传与搜索图像。

架构图

基本概念

教程

API 参考

点击 这里 阅读详细 RESTful API 文档。

贡献者指南

我们由衷欢迎你的贡献。关于贡献流程的详细信息,请参阅 贡献者指南

本项目遵循 Phantoscope 行为准则。如果你希望参与本项目,请遵守该准则的内容。

我们使用 GitHub issues 追踪问题和补丁。

如需提出问题或进行讨论,请加入我们的社区。

加入社区

  • Slack 频道 这里可以进行沟通与咨询在使用过程中遇到的问题。

路线图

你可以参考我们的路线图

我们欢迎更多的人可以一起参与到 Phantoscope 的开发当中。

许可协议

Apache License 2.0