---
title: "基于 OceanBase 构建图搜图应用 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: 基于 OceanBase 构建图搜图应用 背景信息 在当今信息爆炸的时代，用户常需要从海量数据中迅速搜索所需信息。例如在线文献数据库、电商平台产品目录、以及不断增长的多媒体内容库，都需要高效的搜索系统来快速定位到用户感兴趣的内容。随着数据量不断激增，传统的基于关键字的搜索方法已经无法满足用户对于搜索精度和速度的需求，…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# 基于 OceanBase 构建图搜图应用

更新时间：2026-07-15 11:56:01

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/690.practical-tutorial/100.building-a-graph-search-application-based-on-oceanBase.md)  

## 背景信息

在当今信息爆炸的时代，用户常需要从海量数据中迅速搜索所需信息。例如在线文献数据库、电商平台产品目录、以及不断增长的多媒体内容库，都需要高效的搜索系统来快速定位到用户感兴趣的内容。随着数据量不断激增，传统的基于关键字的搜索方法已经无法满足用户对于搜索精度和速度的需求，向量搜索技术应运而生。它通过将文本、图片、音频等不同类型的数据编码为数学上的向量，并在向量空间中进行搜索。这种方法允许系统捕捉数据的深层次语义信息，从而提供更为准确和高效的搜索结果。

本文通过 OceanBase 的向量搜索技术构建您的图搜图应用。

## 图搜图架构

图搜图应用是把图片库以向量形式，存储在数据库内，用户在对应的 UI 界面，上传需要查询的图片，图片会被应用转换为向量，在数据库内查询相似向量，并返回结果，最终以图片形式，在 UI 页面上展示相似图片。

![building-a-graph-search-application-based-on-oceanBase](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/observer-enterprise/V4.3.3/practical-tutorial/building-a-graph-search-application-based-on-oceanBase.png)

## 前提条件

- 您已部署 OceanBase V4.3.3 及以上版本的集群并且创建了 MySQL 模式租户。更多有关部署 OceanBase 集群的信息，请参见 [部署概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002012734)
 - 您所创建的 MySQL 模式租户需要拥有插入及查询的权限。更多有关权限设置的信息，请参见 [直接授予权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016096)。
 - 您已创建数据库。更多有关创建数据库的信息，请参见 [创建数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013232)。
 - 数据库已开启向量搜索功能。更多关于向量搜索功能的信息，请参见 [使用 SQL 快速进行向量搜索](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002012934)。

  ```shell
  obclient> ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;

  ```
 - 准备自己所需的图片，如果没有足够的图片用于测试效果，可参考各大开源网站的图片数据集。
 - 安装 Python 3.9 及以上版本。
 - 安装 Poetry：

  ```shell
  python3 -m ensurepip
  python3 -m pip install poetry

  ```

## 构建你的图搜图应用

### 克隆代码仓库

```shell
git clone https://github.com/ob-labs/image-search.git
cd image-search

```

### 安装依赖

```shell
poetry install

```

### 设置环境变量

```shell
cp .env.example .env
# 更新 .env 文件中的数据库信息
vi .env

```

更新 .env 中内容：

```shell
HF_ENDPOINT=https://hf-mirror.com

DB_HOST="127.0.0.1"   ## 设置对应租户的 IP
DB_PORT="2881"   ## 设置对应的端口
DB_USER="root@test" ## 设置对应的租户及用户名
DB_NAME="test"   ## 设置对应的数据库名
DB_PASSWORD=""  ## 设置对应的租户用户的密码

```

### 启动图搜图程序

```shell
poetry run streamlit run --server.runOnSave false image_search_ui.py

```

返回结果如下：

```shell
Collecting usage statistics. To deactivate, set browser.gatherUsageStats to false.

    You can now view your Streamlit app in your browser.

    Local URL: http://localhost:8501
    Network URL: http://xxx.xxx.xxx.xxx:8501
    External URL: http://xxx.xxx.xxx.xxx:8501

```

## 应用展示

你需要自己准备一些图片放在你的**服务器**的某个文件夹中，并在打开的 UI 中更新 **图片加载配置**，注意**图片加载目录** 需要填写服务器上图片所存放目录的*绝对路径*。点击**加载图片**。

如果您没有足够的图片用于测试效果，可参考各大开源网站的图片数据集。

![image-search-ui](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/cloud/tutorial/image-search%28ch%29.png)

## 在线 Demo 体验

除自己构建图搜图应用外，您还可以访问[萌兽搜搜](https://www.oceanbase.com/demo/image-search)登录体验在线 Demo 应用，Demo 界面的官网入口为**资源与服务-学习-在线体验-在线 Demo**。以下为界面展示：

![image-search-demo](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/cloud/tutorial/AI/%E5%9B%BE%E6%90%9C%E5%9B%BElivedemo%E5%B1%95%E7%A4%BA%E5%9B%BE.jpg)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
