Skip to content

Commit 709dba8

Browse files
author
github-actions
committed
update MD by dispatch event pingcap/docs-cn feature/preview-top-navigation
1 parent c76caff commit 709dba8

File tree

61 files changed

+10140
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+10140
-4
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
<!-- markdownlint-disable MD007 -->
2+
<!-- markdownlint-disable MD041 -->
3+
4+
# 目录
5+
6+
## 快速开始
7+
8+
- [使用 Python 快速上手](/ai/quickstart-via-python.md)
9+
- [使用 SQL 快速上手](/ai/quickstart-via-sql.md)
10+
11+
## 基础概念
12+
13+
- [向量搜索](/ai/concepts/vector-search-overview.md)
14+
15+
## 使用指南
16+
17+
- [连接 TiDB](/ai/guides/connect.md)
18+
- [使用表](/ai/guides/tables.md)
19+
- 搜索功能
20+
- [向量搜索](/ai/guides/vector-search.md)
21+
- 全文搜索
22+
- [使用 Python 进行全文搜索](/ai/guides/vector-search-full-text-search-python.md)
23+
- [使用 SQL 进行全文搜索](/ai/guides/vector-search-full-text-search-sql.md)
24+
- [混合搜索](/ai/guides/vector-search-hybrid-search.md)
25+
- [图片搜索](/ai/guides/image-search.md)
26+
- 高级功能
27+
- [自动生成向量](/ai/guides/auto-embedding.md)
28+
- [过滤](/ai/guides/filtering.md)
29+
- [重排序](/ai/guides/reranking.md)
30+
- [Join 查询](/ai/guides/join-queries.md)
31+
- [Raw SQL 查询](/ai/guides/raw-queries.md)
32+
- [事务](/ai/guides/transactions.md)
33+
34+
## 代码示例
35+
36+
- [增删改查](/ai/examples/basic-with-pytidb.md)
37+
- [自动生成向量](/ai/examples/auto-embedding-with-pytidb.md)
38+
- 搜索与检索
39+
- [向量搜索](/ai/examples/vector-search-with-pytidb.md)
40+
- [全文搜索](/ai/examples/fulltext-search-with-pytidb.md)
41+
- [混合搜索](/ai/examples/hybrid-search-with-pytidb.md)
42+
- [图片搜索](/ai/examples/image-search-with-pytidb.md)
43+
- AI 应用
44+
- [RAG 应用](/ai/examples/rag-with-pytidb.md)
45+
- [对话记忆](/ai/examples/memory-with-pytidb.md)
46+
- [文本转 SQL](/ai/examples/text2sql-with-pytidb.md)
47+
48+
## 集成指南
49+
50+
- [集成概览](/ai/integrations/vector-search-integration-overview.md)
51+
- 自动生成向量
52+
- [概览](/ai/integrations/vector-search-auto-embedding-overview.md)
53+
- [OpenAI](/ai/integrations/vector-search-auto-embedding-openai.md)
54+
- [OpenAI 兼容](/ai/integrations/embedding-openai-compatible.md)
55+
- [Jina AI](/ai/integrations/vector-search-auto-embedding-jina-ai.md)
56+
- [Cohere](/ai/integrations/vector-search-auto-embedding-cohere.md)
57+
- [Google Gemini](/ai/integrations/vector-search-auto-embedding-gemini.md)
58+
- [Hugging Face](/ai/integrations/vector-search-auto-embedding-huggingface.md)
59+
- [NVIDIA NIM](/ai/integrations/vector-search-auto-embedding-nvidia-nim.md)
60+
- [Amazon Titan](/ai/integrations/vector-search-auto-embedding-amazon-titan.md)
61+
- AI 框架
62+
- [LangChain](/ai/integrations/vector-search-integrate-with-langchain.md)
63+
- [LlamaIndex](/ai/integrations/vector-search-integrate-with-llamaindex.md)
64+
- ORM 库
65+
- [SQLAlchemy](/ai/integrations/vector-search-integrate-with-sqlalchemy.md)
66+
- [Django ORM](/ai/integrations/vector-search-integrate-with-django-orm.md)
67+
- [Peewee](/ai/integrations/vector-search-integrate-with-peewee.md)
68+
- 云服务
69+
- [Jina AI Embedding](/ai/integrations/vector-search-integrate-with-jinaai-embedding.md)
70+
- [Amazon Bedrock](/ai/integrations/vector-search-integrate-with-amazon-bedrock.md)
71+
- MCP Server
72+
- [概览](/ai/integrations/tidb-mcp-server.md)
73+
- [Claude Code](/ai/integrations/tidb-mcp-claude-code.md)
74+
- [Claude Desktop](/ai/integrations/tidb-mcp-claude-desktop.md)
75+
- [Cursor](/ai/integrations/tidb-mcp-cursor.md)
76+
- [VS Code](/ai/integrations/tidb-mcp-vscode.md)
77+
- [Windsurf](/ai/integrations/tidb-mcp-windsurf.md)
78+
79+
## 参考指南
80+
81+
- [向量数据类型](/ai/reference/vector-search-data-types.md)
82+
- [函数和运算符](/ai/reference/vector-search-functions-and-operators.md)
83+
- [向量搜索索引](/ai/reference/vector-search-index.md)
84+
- [性能调优](/ai/reference/vector-search-improve-performance.md)
85+
- [限制](/ai/reference/vector-search-limitations.md)
86+
- [更新记录](/ai/reference/vector-search-changelogs.md)
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
title: TiDB for AI
3+
summary: 利用 TiDB 的向量搜索、全文搜索和 Python SDK 构建现代 AI 应用。
4+
---
5+
6+
# TiDB for AI
7+
8+
TiDB 是面向 AI 应用的分布式 SQL 数据库,支持向量搜索、全文搜索及混合搜索功能。本文介绍利用 TiDB 开发 AI 应用时可用的 AI 功能与工具。
9+
10+
## 快速开始
11+
12+
快速体验 TiDB 的 AI 能力。
13+
14+
| 文档 | 描述 |
15+
| --- | --- |
16+
| [使用 Python 快速上手](/ai/quickstart-via-python.md) | 使用 Python 在几分钟内构建你的第一个基于 TiDB 的 AI 应用。 |
17+
| [使用 SQL 快速上手](/ai/quickstart-via-sql.md) | 使用 SQL 快速开始向量搜索。 |
18+
19+
## 基础概念
20+
21+
了解 TiDB AI 搜索的基础概念。
22+
23+
| 文档 | 描述 |
24+
| --- | --- |
25+
| [向量搜索](/ai/concepts/vector-search-overview.md) | 向量搜索的全面概述,包括概念、工作原理和应用场景。 |
26+
27+
## 使用指南
28+
29+
使用 TiDB Python SDK [`pytidb`](https://github.com/pingcap/pytidb) 或 SQL 构建 AI 应用的分步指南。
30+
31+
| 文档 | 描述 |
32+
| --- | --- |
33+
| [连接 TiDB](/ai/guides/connect.md) | 使用 `pytidb` 连接 TiDB Cloud 或自建集群。 |
34+
| [使用表](/ai/guides/tables.md) | 创建、查询和管理包含向量字段的表。 |
35+
| [向量搜索](/ai/guides/vector-search.md) | 使用 `pytidb` 进行语义相似度搜索。 |
36+
| [全文搜索](/ai/guides/vector-search-full-text-search-python.md) | 基于关键字的文本搜索,支持 BM25 排序。 |
37+
| [混合搜索](/ai/guides/vector-search-hybrid-search.md) | 结合向量搜索与全文搜索,获得更优结果。 |
38+
| [图片搜索](/ai/guides/image-search.md) | 利用多模态嵌入进行 image 搜索。 |
39+
| [Auto Embedding(自动生成向量)](/ai/guides/auto-embedding.md) | 数据插入时自动生成嵌入向量。 |
40+
| [过滤](/ai/guides/filtering.md) | 通过元信息条件过滤搜索结果。 |
41+
42+
## 代码示例
43+
44+
完整代码示例和演示,展示 TiDB 的 AI 能力。
45+
46+
| 文档 | 描述 |
47+
| --- | --- |
48+
| [基本 CRUD 操作](/ai/examples/basic-with-pytidb.md) | 使用 `pytidb` 进行基础表操作。 |
49+
| [向量搜索](/ai/examples/vector-search-with-pytidb.md) | 语义相似度搜索示例。 |
50+
| [RAG 应用](/ai/examples/rag-with-pytidb.md) | 构建检索增强生成(RAG)应用。 |
51+
| [图片搜索](/ai/examples/image-search-with-pytidb.md) | 基于 Jina AI 嵌入的多模态 image 搜索。 |
52+
| [对话记忆](/ai/examples/memory-with-pytidb.md) | 为 AI agent 和聊天机器人提供持久 memory。 |
53+
| [文本转 SQL](/ai/examples/text2sql-with-pytidb.md) | 将自然语言转换为 SQL 查询。 |
54+
55+
## 集成指南
56+
57+
将 TiDB 集成到主流 AI framework、嵌入提供商和开发工具中。
58+
59+
| 文档 | 描述 |
60+
| --- | --- |
61+
| [集成概览](/ai/integrations/vector-search-integration-overview.md) | 所有可用集成的概览。 |
62+
| [Embedding Providers](/ai/integrations/vector-search-auto-embedding-overview.md#available-text-embedding-models) | 为 OpenAI、Cohere、Jina AI 等提供统一接口。 |
63+
| [LangChain](/ai/integrations/vector-search-integrate-with-langchain.md) | 将 TiDB 作为 LangChain 的向量存储。 |
64+
| [LlamaIndex](/ai/integrations/vector-search-integrate-with-llamaindex.md) | 将 TiDB 作为 LlamaIndex 的向量存储。 |
65+
| [MCP Server](/ai/integrations/tidb-mcp-server.md) | 将 TiDB 连接到 Claude Code、Cursor 及其他 AI 驱动的 IDE。 |
66+
67+
## 参考指南
68+
69+
TiDB AI 与向量搜索特性的技术参考文档。
70+
71+
| 文档 | 描述 |
72+
| --- | --- |
73+
| [向量数据类型](/ai/reference/vector-search-data-types.md) | 向量列类型及其用法。 |
74+
| [函数和运算符](/ai/reference/vector-search-functions-and-operators.md) | 距离函数与向量运算符。 |
75+
| [向量搜索索引](/ai/reference/vector-search-index.md) | 创建和管理向量索引以提升性能。 |
76+
| [性能调优](/ai/reference/vector-search-improve-performance.md) | 优化向量搜索性能。 |
77+
| [限制](/ai/reference/vector-search-limitations.md) | 当前的限制与约束。 |
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
title: Vector Search Overview
3+
summary: 了解 TiDB 中的向量搜索功能。该功能为文档、图片、音频和视频等多种数据类型提供了先进的语义相似性搜索解决方案。
4+
aliases: ['/zh/tidb/stable/vector-search-overview/','/zh/tidb/dev/vector-search-overview/','/zh/tidbcloud/vector-search-overview/']
5+
---
6+
7+
# 向量搜索概述
8+
9+
向量搜索为文档、图片、音频和视频等多种数据类型提供了强大的语义相似性搜索解决方案。它允许开发者利用 MySQL 的专业知识,构建具备生成式 AI 能力的可扩展应用,简化高级搜索功能的集成。
10+
11+
> **注意:**
12+
>
13+
> - 向量搜索功能目前为 Beta 版本,可能会在未提前通知的情况下发生变更。如果你发现了 bug,可以在 GitHub 上提交 [issue](https://github.com/pingcap/tidb/issues)
14+
> - 向量搜索功能适用于 [TiDB 自托管](/overview.md)[TiDB Cloud Starter](https://docs.pingcap.com/zh/tidbcloud/select-cluster-tier/#starter)[TiDB Cloud Essential](https://docs.pingcap.com/zh/tidbcloud/select-cluster-tier/#essential)[TiDB Cloud Dedicated](https://docs.pingcap.com/zh/tidbcloud/select-cluster-tier/#tidb-cloud-dedicated)。对于 TiDB 自托管和 TiDB Cloud Dedicated,TiDB 版本需为 v8.4.0 或更高(推荐 v8.5.0 或更高)。
15+
16+
## 概念
17+
18+
向量搜索是一种以数据语义为核心、提供相关性结果的搜索方法。
19+
20+
与传统的全文搜索依赖于精确关键字匹配和词频不同,向量搜索会将多种数据类型(如文本、图片或音频)转换为高维向量,并基于这些向量之间的相似性进行查询。这种搜索方法能够捕捉数据的语义含义和上下文信息,从而更准确地理解用户意图。
21+
22+
即使搜索词与数据库中的内容并不完全匹配,向量搜索也可以通过分析数据的语义,返回符合用户意图的结果。
23+
24+
例如,使用全文搜索查询 “a swimming animal” 只会返回包含这些精确关键字的结果。而向量搜索则可以返回其他游泳动物(如鱼或鸭子)的结果,即使这些结果中并不包含完全相同的关键字。
25+
26+
### 向量嵌入
27+
28+
向量嵌入(vector embedding),也称为 embedding,是一组数字序列,用于在高维空间中表示现实世界的对象。它能够捕捉非结构化数据(如文档、图片、音频和视频)的语义和上下文信息。
29+
30+
向量嵌入在机器学习中至关重要,是语义相似性搜索的基础。
31+
32+
TiDB 引入了专为优化向量嵌入存储与搜索设计的 [向量数据类型](/ai/reference/vector-search-data-types.md)[向量搜索索引](/ai/reference/vector-search-index.md),提升其在 AI 应用中的使用效率。你可以将向量嵌入存储在 TiDB 中,并通过这些数据类型执行向量搜索查询,查找最相关的数据。
33+
34+
### 嵌入模型
35+
36+
嵌入模型(embedding model)是一种将数据转换为 [向量嵌入](#向量嵌入) 的算法。
37+
38+
选择合适的嵌入模型对于确保语义搜索结果的准确性和相关性至关重要。对于非结构化文本数据,你可以在 [Massive Text Embedding Benchmark (MTEB) Leaderboard](https://huggingface.co/spaces/mteb/leaderboard) 上查找表现优异的文本嵌入模型。
39+
40+
如需了解如何为你的特定数据类型生成向量嵌入,请参考集成教程或嵌入模型示例。
41+
42+
## 向量搜索的工作原理
43+
44+
在将原始数据转换为向量嵌入并存储到 TiDB 后,你的应用可以执行向量搜索查询,查找与用户查询在语义或上下文上最相关的数据。
45+
46+
TiDB 向量搜索通过使用 [距离函数](/ai/reference/vector-search-functions-and-operators.md) 计算给定向量与数据库中已存储向量之间的距离,从而识别出 top-k 最近邻(KNN)向量。与查询向量距离最近的向量,代表在语义上最相似的数据。
47+
48+
![The Schematic TiDB Vector Search](https://docs-download.pingcap.com/media/images/docs-cn/vector-search/embedding-search.png)
49+
50+
作为一款集成了向量搜索能力的关系型数据库,TiDB 允许你将数据及其对应的向量表示(即向量嵌入)一同存储在同一个数据库中。你可以选择以下任意一种存储方式:
51+
52+
- 在同一张表的不同列中存储数据及其对应的向量表示。
53+
- 在不同的表中分别存储数据及其对应的向量表示。此时,搜索数据时需要使用 `JOIN` 查询将表进行关联。
54+
55+
## 应用场景
56+
57+
### 检索增强生成(RAG)
58+
59+
检索增强生成(Retrieval-Augmented Generation,RAG)是一种旨在优化大语言模型(LLM)输出的架构。通过向量搜索,RAG 应用可以将向量嵌入存储在数据库中,并在 LLM 生成响应时搜索相关文档作为额外上下文,从而提升答案的质量和相关性。
60+
61+
### 语义搜索
62+
63+
语义搜索是一种基于查询语义返回结果的搜索技术,而不仅仅是关键字匹配。它通过嵌入理解不同语言和多种类型数据(如文本、图片和音频)的含义。向量搜索算法随后利用这些嵌入,查找最能满足用户查询需求的相关数据。
64+
65+
### 推荐引擎
66+
67+
推荐引擎是一种能够主动为用户推荐相关且个性化内容、产品或服务的系统。它通过创建表示用户行为和偏好的嵌入,帮助系统识别其他用户曾经互动或感兴趣的相似项目,从而提升推荐的相关性和吸引力。
68+
69+
## 另请参阅
70+
71+
如需开始使用 TiDB 向量搜索,请参阅以下文档:
72+
73+
- [使用 Python 快速上手向量搜索](/ai/quickstart-via-python.md)
74+
- [使用 SQL 快速上手向量搜索](/ai/quickstart-via-sql.md)
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: Auto Embedding 示例
3+
summary: 使用内置嵌入模型为你的文本数据自动生成嵌入向量。
4+
---
5+
6+
# Auto Embedding 示例
7+
8+
本示例展示如何通过 [Auto Embedding](/ai/integrations/vector-search-auto-embedding-overview.md) 功能,结合 [pytidb](https://github.com/pingcap/pytidb) client 使用 Auto Embedding。
9+
10+
1. 使用 `pytidb` client 连接 TiDB。
11+
2. 定义一个配置了 Auto Embedding 的 VectorField 的表。
12+
3. 插入纯文本数据:嵌入向量会在后台自动填充。
13+
4. 使用自然语言查询进行向量搜索:嵌入向量会透明地生成。
14+
15+
## 前置条件
16+
17+
在开始之前,请确保你具备以下条件:
18+
19+
- **Python (>=3.10)**:安装 [Python](https://www.python.org/downloads/) 3.10 或以上版本。
20+
- **TiDB Cloud Starter 集群**:你可以在 [TiDB Cloud](https://tidbcloud.com/free-trial) 上创建一个免费的 TiDB 集群。
21+
22+
## 运行方法
23+
24+
### 步骤 1. 克隆 `pytidb` 仓库
25+
26+
```bash
27+
git clone https://github.com/pingcap/pytidb.git
28+
cd pytidb/examples/auto_embedding/
29+
```
30+
31+
### 步骤 2. 安装所需依赖包
32+
33+
```bash
34+
python -m venv .venv
35+
source .venv/bin/activate
36+
pip install -r reqs.txt
37+
```
38+
39+
### 步骤 3. 设置环境变量
40+
41+
1.[TiDB Cloud 控制台](https://tidbcloud.com/)中,进入 [**Clusters**](https://tidbcloud.com/clusters) 页面,然后点击目标集群名称,进入其概览页面。
42+
2. 点击右上角的 **Connect**。会弹出连接对话框,显示连接参数。
43+
3. 根据连接参数如下设置环境变量:
44+
45+
```bash
46+
cat > .env <<EOF
47+
TIDB_HOST={gateway-region}.prod.aws.tidbcloud.com
48+
TIDB_PORT=4000
49+
TIDB_USERNAME={prefix}.root
50+
TIDB_PASSWORD={password}
51+
TIDB_DATABASE=test
52+
53+
# 默认使用 TiDB Cloud 免费嵌入模型,无需设置任何 API key
54+
EMBEDDING_PROVIDER=tidbcloud_free
55+
EOF
56+
```
57+
58+
### 步骤 4. 运行示例
59+
60+
```bash
61+
python main.py
62+
```
63+
64+
**预期输出:**
65+
66+
```plain
67+
=== Define embedding function ===
68+
Embedding function (model id: tidbcloud_free/amazon/titan-embed-text-v2) defined
69+
70+
=== Define table schema ===
71+
Table created
72+
73+
=== Truncate table ===
74+
Table truncated
75+
76+
=== Insert sample data ===
77+
Inserted 3 chunks
78+
79+
=== Perform vector search ===
80+
id: 1, text: TiDB is a distributed database that supports OLTP, OLAP, HTAP and AI workloads., distance: 0.30373281240458805
81+
id: 2, text: PyTiDB is a Python library for developers to connect to TiDB., distance: 0.422506501973434
82+
id: 3, text: LlamaIndex is a Python library for building AI-powered applications., distance: 0.5267239638442787
83+
```
84+
85+
## 相关资源
86+
87+
- **源代码**[在 GitHub 查看](https://github.com/pingcap/pytidb/tree/main/examples/auto_embedding)

0 commit comments

Comments
 (0)