MCPcopy Create free account
hub / github.com/alibaba/proxima

github.com/alibaba/proxima @0.2.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2.2 ↗ · + Follow
5,535 symbols 13,804 edges 458 files 2,491 documented · 45% updated 3y ago0.2.2 · 2022-10-24★ 42617 open issues

Browse by type

Functions 4,687 Types & classes 848
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Proxima Bilin Engine

背景介绍

随着 AI 技术的广泛应用,以及数据规模的不断增长,对非结构化数据处理的需求也日益增多。向量检索也逐渐成了 AI 技术链路中不可或缺的一环,同时也是对传统搜索技术的补充。

Proxima 是阿里巴巴达摩院系统 AI 实验室自研的向量检索内核。目前,其核心能力广泛应用于阿里巴巴和蚂蚁集团内众多业务,如淘宝搜索和推荐、蚂蚁人脸支付、优酷视频搜索、阿里妈妈广告检索等。同时,Proxima 还深度集成在各式各类的大数据和数据库产品中,如阿里云 Hologres、搜索引擎 Elastic Search 和 ZSearch、离线引擎 MaxCompute (ODPS) 等,为其提供向量检索的能力。

Proxima BE,全称 Proxima Bilin Engine,是 Proxima 团队开发的服务化引擎,实现了对大数据的高性能相似性搜索。支持 RESTful HTTP 接口访问,同时也支持多种语言的 SDK 以 GRPC 协议访问。

核心能力

Proxima BE 的主要核心能力有以下几点:

  • 支持单机超大规模索引:基于底层向量索引的工程和检索算法优化,使得有限成本下,实现了高效率的检索方法,并支持磁盘索引,单片索引可达几十亿的规模。

  • 支持多数据源全量和增量同步:通过 Mysql Repository 等组件,可将 mysql 等数据源中的数据,实时同步至索引服务,提供查询能力,简化数据处理流程。

  • 支持向量索引实时增删改查:基于全新 CRUD 图索引,支持在线大规模向量索引的从 0 到 1 的流式写入,并实现了索引即时增删改查,避免索引需定期重建。

  • 支持正排数据查询:支持在查询时,可展示文档的所有结构化字段。同时后期将基于此功能,进一步扩展出与文本与向量联合检索等功能。

如何构建

环境要求:

  • Linux or MacOS
  • gcc >= 4.9
  • cmake >= 3.14
git clone https://github.com/alibaba/proximabilin.git
cd proximabilin && git submodule update --init

mkdir build && cd build

# Build with Debug (Intel Haswell Microarchitecture)
#cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_HASWELL=ON ..

# Build with Release (Intel Haswell Microarchitecture)
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_HASWELL=ON ..

make -j all

获取 Docker 镜像

平台 地址
Linux X86_64 ghcr.io/alibaba/proxima-be

快速开始

使用手册

案列展示

License

Apache License 2.0

声明

Proxima BE 依赖了如下项目:

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 4,294
Class 687
Function 393
Struct 84
Enum 46
TypeAlias 18
Interface 13

Languages

C++64%
Python14%
Go13%
Java8%

Modules by API surface

sdk/go/proto/proxima_be.pb.go395 symbols
deps/proxima/include/ailego/encoding/json/mod_json_plus.h194 symbols
sdk/go/proto/common.pb.go134 symbols
benchmark/common/proxima2_dataset.py129 symbols
deps/proxima/include/aitheta2/index_holder.h101 symbols
sdk/python/pyproximabe/core/types.py82 symbols
src/meta/meta.h79 symbols
deps/proxima/include/ailego/container/vector.h79 symbols
benchmark/common/proxima_be_service.py76 symbols
sdk/cpp/src/grpc_client.h75 symbols
src/repository/binlog/field.h73 symbols
deps/proxima/include/ailego/encoding/json/mod_json.h70 symbols

Datastores touched

(mysql)Database · 1 repos
mytestDatabase · 1 repos
connection_uriDatabase · 1 repos
example_databaseDatabase · 1 repos
fake_dbDatabase · 1 repos
mysql_databaseDatabase · 1 repos
test_dbDatabase · 1 repos
vts_face_fp32_512dDatabase · 1 repos

For agents

$ claude mcp add proxima \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page