• This repository has been archived on 28/Sep/2021
  • Stars
    star
    140
  • Rank 261,473 (Top 6 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open Source, Cloud Native, RESTful Search Engine Powered by Neural Networks

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

Phantoscope is an image search suite powered by Milvus and neutral networks.

Extremely high speed in processing and searching billions of images.

Compatible with Tensorflow, Pytorch, TensorRT, ONNX, XGBoost, and more.

Provides GUI for demonstrating search results and managing Phantoscope data.

Soon to establish an extension market, where you can share your extension with the world.

Native support for Docker and Kubernetes.

English | 中文版

Table of Contents

Background

Your search should not be confined to key words and short sentences.

With the explosion of images and video data in human society, the legacy text search can hardly serve people's needs.

For example, an image involves a myriad of information, and different people have different interpretation of the same image. The existing search engines, be it full-text search or searching image by image, can no longer meet such flexible multi-dimensional search requirements.

Phantoscope is the right tool for you. Empowered by miscellaneous deep-learning models, portable image processing techniques, and Milvus vector search engine, it can offer a unique set of high-performance image searching interfaces to address such needs.

Install

  1. Download Phantoscope:
$ git clone https://github.com/zilliztech/phantoscope.git -b 0.2.0 && cd phantoscope
  1. Set up the environment:
$ 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)
  1. Start up Phantoscope containers:
$ docker-compose up -d
  1. Check the status of all containers:
$ docker-compose ps

You are expected to see the following output:

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:19121->19121/tcp, 0.0.0.0:19530->19530/tcp
phantoscope_minio_1    /usr/bin/docker-entrypoint ...   Up      0.0.0.0:9000->9000/tcp                            
phantoscope_mongo_1    docker-entrypoint.sh mongod      Up      0.0.0.0:27017->27017/tcp

Quick Start

Click here to set up a basic Phantoscope application. You can use it to upload and search images.

Architecture diagram

Phantoscope basics

Tutorial

Tutorial

API reference

Click here to read our latest RESTful API reference.

Contributing

Contributions are welcomed and greatly appreciated.

Please read our contribution guidelines for detailed contribution workflow.

We use GitHub issues to track issues and bugs.

For general questions and public discussions, please join our community.

Community

Roadmap

GitHub milestones lays out the development plan for Phantoscope.

We hope you could team up with us in the development of Phantoscope.

License

Apache License 2.0

More Repositories

1

GPTCache

Semantic cache for LLMs. Fully integrated with LangChain and llama_index.
Python
7,164
star
2

attu

The GUI for Milvus
TypeScript
1,246
star
3

VectorDBBench

A Benchmark Tool for VectorDB
Python
523
star
4

feder

Visualize hnsw, faiss and other anns index
Jupyter Notebook
380
star
5

akcio

Akcio is a demonstration project for Retrieval Augmented Generation (RAG). It leverages the power of LLM to generate responses and uses vector databases to fetch relevant documents to enhance the quality and relevance of the output.
Python
249
star
6

knowhere

Knowhere is an open-source vector search engine, integrating FAISS, HNSW, etc.
C++
172
star
7

milvus-backup

Backup and restore tool for Milvus
Go
124
star
8

pyglass

Graph Library for Approximate Similarity Search
C++
85
star
9

milvus-helm

Mustache
56
star
10

milvus-operator

The Kubernetes Operator of Milvus.
Go
47
star
11

MolSearch

An opensource molecule analyze software
JavaScript
43
star
12

starling

C++
35
star
13

BBAnn

Block-based Approximate Nearest Neighbor
C++
31
star
14

awesome-milvus

A curated list of awesome Milvus projects and resources.
27
star
15

cloud-vectordb-examples

Zilliz Cloud examples
Java
27
star
16

milvus-cdc

Milvus-CDC is a change data capture tool for Milvus. It can capture the changes of upstream Milvus collections and sink them to downstream Milvus.
Go
24
star
17

vector-index-visualization-tool

visualization tool for vector search index
TypeScript
22
star
18

milvus-migration

Go
18
star
19

vectordb-benchmark

Python
18
star
20

kafka-connect-milvus

kafka-connect-milvus sink connector
Java
17
star
21

Retriever-for-GPTs

An external retriever for GPTs implemented with Zilliz Cloud Pipelines, a more flexible and economic alternative to default GPTs knowledge base.
16
star
22

terraform-provider-zillizcloud

Go
12
star
23

spark-milvus

Java
7
star
24

phantoscope-bootcamp

Bootcamp for Phantoscope
Python
6
star
25

md2md

tool for generating markdown file, support fragment, variables
JavaScript
6
star
26

zilliz-cloud-typescript-example

TypeScript
6
star
27

infini-client

arctern client
TypeScript
4
star
28

milvus-bulkload

Python
1
star
29

arctern-webdocs

1
star
30

codelabs

Zilliz codelabs
JavaScript
1
star
31

zdoc-demos

Jupyter Notebook
1
star
32

milvus_gobench

1
star
33

milvus-gather

Go
1
star