Skip to content

Commit 2b7838a

Browse files
AI Translate 51-ai-functions to Simplified-Chinese (#2534)
* [INIT] Start translation to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese * ๐ŸŒ Translate 02-built-in-functions.md to Simplified-Chinese --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 79eeb03 commit 2b7838a

File tree

11 files changed

+565
-35
lines changed

11 files changed

+565
-35
lines changed

โ€Ž.translation-init

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Translation initialization: 2025-07-25T00:42:45.652413
1+
Translation initialization: 2025-07-27T08:27:20.794958

โ€Ždocs/cn/guides/51-ai-functions/02-built-in-functions.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,30 @@ title: ๅ†…็ฝฎ AI ๅ‡ฝๆ•ฐ
44

55
import FunctionDescription from '@site/src/components/FunctionDescription';
66

7-
<FunctionDescription description="Introduced or updated: v1.2.777"/>
7+
<FunctionDescription description="ๅผ•ๅ…ฅๆˆ–ๆ›ดๆ–ฐไบŽ๏ผšv1.2.777"/>
88

99
# ๅ†…็ฝฎ AI ๅ‡ฝๆ•ฐ
1010

11-
Databend ๆไพ›ไบ†็”ฑ Azure OpenAI Service ๆ”ฏๆŒ็š„ๅ†…็ฝฎ AI ๅ‡ฝๆ•ฐ (Built-in AI Functions)๏ผŒๅฏๅฐ† AI ๅŠŸ่ƒฝๆ— ็ผ้›†ๆˆๅˆฐๆ‚จ็š„ SQL ๅทฅไฝœๆตไธญใ€‚
11+
Databend ๆไพ›็”ฑ Azure OpenAI Service ๆ”ฏๆŒ็š„ๅ†…็ฝฎ AI ๅ‡ฝๆ•ฐ๏ผŒๅฏๅฐ† AI ่ƒฝๅŠ›ๆ— ็ผ้›†ๆˆๅˆฐ SQL ๅทฅไฝœๆตไธญใ€‚
1212

1313
:::warning
14-
**ๆ•ฐๆฎ้š็งๅฃฐๆ˜Ž**๏ผšๅฝ“ไฝฟ็”จๅ†…็ฝฎ AI ๅ‡ฝๆ•ฐ (Built-in AI Functions) ๆ—ถ๏ผŒๆ‚จ็š„ๆ•ฐๆฎๅฐ†่ขซๅ‘้€ๅˆฐ Azure OpenAI Serviceใ€‚ไฝฟ็”จ่ฟ™ไบ›ๅ‡ฝๆ•ฐๅณ่กจ็คบๆ‚จๆ‰ฟ่ฎคๆญคๆ•ฐๆฎไผ ่พ“๏ผŒๅนถๅŒๆ„ [Azure OpenAI ๆ•ฐๆฎ้š็ง](https://learn.microsoft.com/en-us/legal/cognitive-services/openai/data-privacy) ๆกๆฌพใ€‚
14+
**ๆ•ฐๆฎ้š็งๅฃฐๆ˜Ž**๏ผšไฝฟ็”จๅ†…็ฝฎ AI ๅ‡ฝๆ•ฐๆ—ถ๏ผŒๆ‚จ็š„ๆ•ฐๆฎๅฐ†่ขซๅ‘้€ๅˆฐ Azure OpenAI Serviceใ€‚ไฝฟ็”จ่ฟ™ไบ›ๅ‡ฝๆ•ฐๅณ่กจ็คบๆ‚จ็Ÿฅๆ™“ๆญคๆ•ฐๆฎไผ ่พ“๏ผŒๅนถๅŒๆ„ [Azure OpenAI ๆ•ฐๆฎ้š็ง](https://learn.microsoft.com/en-us/legal/cognitive-services/openai/data-privacy) ๆกๆฌพใ€‚
1515
:::
1616

1717
| ๅ‡ฝๆ•ฐ | ๆ่ฟฐ | ไฝฟ็”จๅœบๆ™ฏ |
1818
|----------|-------------|-----------|
1919
| [ai_text_completion](/sql/sql-functions/ai-functions/ai-text-completion) | ๆ นๆฎๆ็คบ็”Ÿๆˆๆ–‡ๆœฌ | โ€ข ๅ†…ๅฎน็”Ÿๆˆ<br/>โ€ข ้—ฎ้ข˜่งฃ็ญ”<br/>โ€ข ๆ–‡ๆœฌๆ‘˜่ฆ |
2020
| [ai_embedding_vector](/sql/sql-functions/ai-functions/ai-embedding-vector) | ๅฐ†ๆ–‡ๆœฌ่ฝฌๆขไธบๅ‘้‡่กจ็คบ | โ€ข ่ฏญไน‰ๆœ็ดข<br/>โ€ข ๆ–‡ๆกฃ็›ธไผผๅบฆ<br/>โ€ข ๅ†…ๅฎนๆŽจ่ |
21-
| [cosine_distance](/sql/sql-functions/vector-distance-functions/vector-cosine-distance) | ่ฎก็ฎ—ๅ‘้‡ไน‹้—ด็š„็›ธไผผๅบฆ | โ€ข ๆŸฅๆ‰พ็›ธไผผๆ–‡ๆกฃ<br/>โ€ข ๆœ็ดข็ป“ๆžœๆŽ’ๅบ |
21+
| [cosine_distance](/sql/sql-functions/vector-functions/vector-cosine-distance) | ่ฎก็ฎ—ๅ‘้‡้—ด็›ธไผผๅบฆ | โ€ข ๆŸฅๆ‰พ็›ธไผผๆ–‡ๆกฃ<br/>โ€ข ๆœ็ดข็ป“ๆžœๆŽ’ๅบ |
2222

2323
## Databend ไธญ็š„ๅ‘้‡ๅญ˜ๅ‚จ
2424

25-
Databend ไฝฟ็”จ `VECTOR(1536)` ๆ•ฐๆฎ็ฑปๅž‹ๅญ˜ๅ‚จๅตŒๅ…ฅๅ‘้‡ (embedding vectors)๏ผŒไปŽ่€Œๅฏไปฅๅœจ SQL ไธญ็›ดๆŽฅไฝฟ็”จ `cosine_distance` ๅ‡ฝๆ•ฐ่ฟ›่กŒ็›ธไผผๅบฆ่ฎก็ฎ—ใ€‚
25+
Databend ไฝฟ็”จ `VECTOR(1536)` ๆ•ฐๆฎ็ฑปๅž‹ๅญ˜ๅ‚จๅตŒๅ…ฅๅ‘้‡๏ผŒๆ”ฏๆŒๅœจ SQL ไธญ็›ดๆŽฅ้€š่ฟ‡ `cosine_distance` ๅ‡ฝๆ•ฐ่ฟ›่กŒ็›ธไผผๅบฆ่ฎก็ฎ—ใ€‚
2626

2727
## ็คบไพ‹๏ผšไฝฟ็”จๅตŒๅ…ฅๅ‘้‡่ฟ›่กŒ่ฏญไน‰ๆœ็ดข
2828

2929
```sql
30-
-- ๅˆ›ๅปบไธ€ไธชๅŒ…ๅซๅตŒๅ…ฅๅ‘้‡็š„ๆ–‡ๆกฃ่กจ
30+
-- ๅˆ›ๅปบๅธฆๅตŒๅ…ฅๅ‘้‡็š„ๆ–‡ๆกฃ่กจ
3131
CREATE TABLE articles (
3232
id INT,
3333
title VARCHAR,
@@ -60,6 +60,6 @@ LIMIT 3;
6060
SELECT ai_text_completion('Explain the benefits of cloud data warehouses in three points:') AS completion;
6161
```
6262

63-
## ๅผ€ๅง‹ไฝฟ็”จ
63+
## ๅฟซ้€Ÿๅ…ฅ้—จ
6464

65-
ๆฌข่ฟŽๅœจ [Databend Cloud](https://databend.cn) ไธŠๅ…่ดน่ฏ•็”จ่ฟ™ไบ› AI ๅŠŸ่ƒฝใ€‚
65+
ๅœจ [Databend Cloud](https://databend.cn) ๅ…่ดน่ฏ•็”จ่ฟ™ไบ› AI ๅŠŸ่ƒฝใ€‚

โ€Ždocs/cn/sql-reference/00-sql-reference/10-data-types/vector.md

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: ๅ‘้‡๏ผˆVector๏ผ‰
2+
title: Vector
33
---
44

55
import FunctionDescription from '@site/src/components/FunctionDescription';
@@ -10,8 +10,7 @@ import EEFeature from '@site/src/components/EEFeature';
1010

1111
<EEFeature featureName='VECTOR INDEX'/>
1212

13-
14-
ๅ‘้‡๏ผˆVECTOR๏ผ‰ๆ•ฐๆฎ็ฑปๅž‹็”จไบŽๅญ˜ๅ‚จ 32 ไฝๆตฎ็‚นๆ•ฐ็š„ๅคš็ปดๆ•ฐ็ป„๏ผŒไธ“ไธบๆœบๅ™จๅญฆไน ใ€ไบบๅทฅๆ™บ่ƒฝๅบ”็”จๅ’Œ็›ธไผผๆ€งๆœ็ดขๆ“ไฝœ่€Œ่ฎพ่ฎกใ€‚ๆฏไธชๅ‘้‡ๅœจๅˆ›ๅปบๆ—ถ้ƒฝๅ…ทๆœ‰ๆŒ‡ๅฎš็š„ๅ›บๅฎš็ปดๅบฆ๏ผˆ้•ฟๅบฆ๏ผ‰ใ€‚
13+
VECTOR ๆ•ฐๆฎ็ฑปๅž‹็”จไบŽๅญ˜ๅ‚จ็”ฑ 32 ไฝๆตฎ็‚นๆ•ฐ็ป„ๆˆ็š„ๅคš็ปดๆ•ฐ็ป„๏ผŒไธ“ไธบๆœบๅ™จๅญฆไน ใ€ไบบๅทฅๆ™บ่ƒฝ๏ผˆAI๏ผ‰ๅบ”็”จๅ’Œ็›ธไผผๆ€งๆœ็ดขๆ“ไฝœ่€Œ่ฎพ่ฎกใ€‚ๆฏไธชๅ‘้‡ๅœจๅˆ›ๅปบๆ—ถ้ƒฝๆŒ‡ๅฎšไบ†ๅ›บๅฎš็š„็ปดๅบฆ๏ผˆdimension๏ผŒๅณ้•ฟๅบฆ๏ผ‰ใ€‚
1514

1615
## ่ฏญๆณ•
1716

@@ -20,12 +19,12 @@ column_name VECTOR(<dimension>)
2019
```
2120

2221
ๅ…ถไธญ๏ผš
23-
- `dimension`: ๅ‘้‡็š„็ปดๅบฆ๏ผˆ้•ฟๅบฆ๏ผ‰ใ€‚ๅฟ…้กปๆ˜ฏๆญฃๆ•ดๆ•ฐ๏ผŒๆœ€ๅคงๅ€ผไธบ 4096ใ€‚
24-
- ๅ…ƒ็ด ๆ˜ฏ 32 ไฝๆตฎ็‚นๆ•ฐใ€‚
22+
- `dimension`๏ผšๅ‘้‡็š„็ปดๅบฆ๏ผˆdimension๏ผŒๅณ้•ฟๅบฆ๏ผ‰ใ€‚ๅฟ…้กปๆ˜ฏๆญฃๆ•ดๆ•ฐ๏ผŒๆœ€ๅคงๅ€ผไธบ 4096ใ€‚
23+
- ๅ…ƒ็ด ไธบ 32 ไฝๆตฎ็‚นๆ•ฐใ€‚
2524

2625
## ๅ‘้‡็ดขๅผ•
2726

28-
Databend ๆ”ฏๆŒไฝฟ็”จ HNSW ็ฎ—ๆณ•ๅˆ›ๅปบๅ‘้‡็ดขๅผ•๏ผŒไปฅๅฎž็Žฐๅฟซ้€Ÿ็š„่ฟ‘ไผผๆœ€่ฟ‘้‚ปๆœ็ดข๏ผŒๆŸฅ่ฏขๆ€ง่ƒฝๆๅ‡ **23 ๅ€**ใ€‚
27+
Databend ๆ”ฏๆŒไฝฟ็”จ HNSW๏ผˆHierarchical Navigable Small World๏ผ‰็ฎ—ๆณ•ๅˆ›ๅปบๅ‘้‡็ดขๅผ•๏ผˆVector Index๏ผ‰๏ผŒไปฅๅฎž็Žฐๅฟซ้€Ÿ็š„่ฟ‘ไผผๆœ€่ฟ‘้‚ปๆœ็ดข๏ผŒๅฏๅฐ†ๆŸฅ่ฏข๏ผˆQuery๏ผ‰ๆ€ง่ƒฝๆๅ‡ **23 ๅ€**ใ€‚
2928

3029
### ็ดขๅผ•่ฏญๆณ•
3130

@@ -34,22 +33,22 @@ VECTOR INDEX index_name(column_name) distance='cosine,l1,l2'
3433
```
3534

3635
ๅ…ถไธญ๏ผš
37-
- `index_name`: ๅ‘้‡็ดขๅผ•็š„ๅ็งฐ
38-
- `column_name`: ้œ€่ฆ็ดขๅผ•ๅ‘้‡๏ผˆVECTOR๏ผ‰ๅˆ—็š„ๅ็งฐ
39-
- `distance`: ๆ”ฏๆŒ็š„่ท็ฆปๅ‡ฝๆ•ฐใ€‚ๅฏไปฅๆ˜ฏ `'cosine'`ใ€`'l1'`ใ€`'l2'`๏ผŒๆˆ–็ป„ๅˆๅฝขๅผๅฆ‚ `'cosine,l1,l2'`
36+
- `index_name`๏ผšๅ‘้‡็ดขๅผ•๏ผˆVector Index๏ผ‰็š„ๅ็งฐใ€‚
37+
- `column_name`๏ผš่ฆ็ดขๅผ•็š„ VECTOR ๅˆ—็š„ๅ็งฐใ€‚
38+
- `distance`๏ผš่ฆๆ”ฏๆŒ็š„่ท็ฆปๅ‡ฝๆ•ฐใ€‚ๅฏไปฅๆ˜ฏ `'cosine'`ใ€`'l1'`ใ€`'l2'`๏ผŒๆˆ–็ป„ๅˆๅฝขๅผๅฆ‚ `'cosine,l1,l2'`ใ€‚
4039

4140

4241
### ๆ”ฏๆŒ็š„่ท็ฆปๅ‡ฝๆ•ฐ
4342

4443
| ๅ‡ฝๆ•ฐ | ๆ่ฟฐ | ไฝฟ็”จๅœบๆ™ฏ |
4544
|----------|-------------|----------|
46-
| **[cosine_distance](/sql/sql-functions/vector-distance-functions/vector-cosine-distance)** | ่ฎก็ฎ—ๅ‘้‡ไน‹้—ด็š„ไฝ™ๅผฆ่ท็ฆป | ่ฏญไน‰็›ธไผผๆ€งใ€ๆ–‡ๆœฌๅตŒๅ…ฅ |
47-
| **[l1_distance](/sql/sql-functions/vector-distance-functions/vector-l1-distance)** | ่ฎก็ฎ— L1 ่ท็ฆป๏ผˆๆ›ผๅ“ˆ้กฟ่ท็ฆป๏ผ‰ | ็‰นๅพๆฏ”่พƒใ€็จ€็–ๆ•ฐๆฎ |
48-
| **[l2_distance](/sql/sql-functions/vector-distance-functions/vector-l2-distance)** | ่ฎก็ฎ— L2 ่ท็ฆป๏ผˆๆฌงๅ‡ ้‡Œๅพ—่ท็ฆป๏ผ‰ | ๅ‡ ไฝ•็›ธไผผๆ€งใ€ๅ›พๅƒ็‰นๅพ |
45+
| **[cosine_distance](/sql/sql-functions/vector-functions/vector-cosine-distance)** | ่ฎก็ฎ—ๅ‘้‡ไน‹้—ด็š„ไฝ™ๅผฆ่ท็ฆป | ่ฏญไน‰็›ธไผผๆ€งใ€ๆ–‡ๆœฌๅตŒๅ…ฅ |
46+
| **[l1_distance](/sql/sql-functions/vector-functions/vector-l1-distance)** | ่ฎก็ฎ— L1 ่ท็ฆป๏ผˆๆ›ผๅ“ˆ้กฟ่ท็ฆป๏ผ‰ | ็‰นๅพๆฏ”่พƒใ€็จ€็–ๆ•ฐๆฎ |
47+
| **[l2_distance](/sql/sql-functions/vector-functions/vector-l2-distance)** | ่ฎก็ฎ— L2 ่ท็ฆป๏ผˆๆฌงๅ‡ ้‡Œๅพ—่ท็ฆป๏ผ‰ | ๅ‡ ไฝ•็›ธไผผๆ€งใ€ๅ›พๅƒ็‰นๅพ |
4948

5049
## ๅŸบๆœฌ็”จๆณ•
5150

52-
### ็ฌฌ 1 ๆญฅ๏ผšๅˆ›ๅปบๅธฆๅ‘้‡็š„่กจ
51+
### ๆญฅ้ชค 1๏ผšๅˆ›ๅปบๅธฆๆœ‰ๅ‘้‡็š„่กจ
5352

5453
```sql
5554
-- ๅˆ›ๅปบๅธฆๆœ‰ๅ‘้‡็ดขๅผ•็š„่กจ๏ผŒไปฅๅฎž็Žฐ้ซ˜ๆ•ˆ็š„็›ธไผผๆ€งๆœ็ดข
@@ -61,9 +60,9 @@ CREATE OR REPLACE TABLE products (
6160
);
6261
```
6362

64-
**ๆณจๆ„**๏ผšๅ‘้‡็ดขๅผ•ไผšๅœจๆ•ฐๆฎๆ’ๅ…ฅๆ—ถ่‡ชๅŠจๆž„ๅปบใ€‚
63+
**ๆณจๆ„**๏ผšๅฝ“ๆ•ฐๆฎๆ’ๅ…ฅ่กจไธญๆ—ถ๏ผŒๅ‘้‡็ดขๅผ•๏ผˆVector Index๏ผ‰ไผš่‡ชๅŠจๆž„ๅปบใ€‚
6564

66-
### ็ฌฌ 2 ๆญฅ๏ผšๆ’ๅ…ฅๅ‘้‡ๆ•ฐๆฎ
65+
### ๆญฅ้ชค 2๏ผšๆ’ๅ…ฅๅ‘้‡ๆ•ฐๆฎ
6766

6867
```sql
6968
-- ๆ’ๅ…ฅไบงๅ“็‰นๅพๅ‘้‡
@@ -74,7 +73,7 @@ INSERT INTO products VALUES
7473
(4, 'Product D', [3.0, 1.0, 1.0]::VECTOR(3));
7574
```
7675

77-
### ็ฌฌ 3 ๆญฅ๏ผšๆ‰ง่กŒ็›ธไผผๆ€งๆœ็ดข
76+
### ๆญฅ้ชค 3๏ผšๆ‰ง่กŒ็›ธไผผๆ€งๆœ็ดข
7877

7978
```sql
8079
-- ๆŸฅๆ‰พไธŽๆŸฅ่ฏขๅ‘้‡ [1.2, 2.1, 2.8] ็›ธไผผ็š„ไบงๅ“
@@ -99,14 +98,14 @@ LIMIT 3;
9998
โ””โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
10099
```
101100

102-
**่งฃ้‡Š**๏ผš่ฏฅๆŸฅ่ฏขๆ‰พๅˆฐไบ†ไธŽๆœ็ดขๅ‘้‡ `[1.2, 2.1, 2.8]` ๆœ€็›ธไผผ็š„ 3 ไธชไบงๅ“ใ€‚ไฝ™ๅผฆ่ท็ฆปๅ€ผ่ถŠไฝŽ๏ผŒ่กจ็คบ็›ธไผผๅบฆ่ถŠ้ซ˜ใ€‚
101+
**่ฏดๆ˜Ž**๏ผš่ฏฅๆŸฅ่ฏข๏ผˆQuery๏ผ‰ๆ‰พๅˆฐไบ†ไธŽๆœ็ดขๅ‘้‡ `[1.2, 2.1, 2.8]` ๆœ€็›ธไผผ็š„ 3 ไธชไบงๅ“ใ€‚ไฝ™ๅผฆ่ท็ฆปๅ€ผ่ถŠๅฐ๏ผŒ่กจ็คบ็›ธไผผๅบฆ่ถŠ้ซ˜ใ€‚
103102

104103
## ๅธ่ฝฝๅ’ŒๅŠ ่ฝฝๅ‘้‡ๆ•ฐๆฎ
105104

106105
### ๅธ่ฝฝๅ‘้‡ๆ•ฐๆฎ
107106

108107
```sql
109-
-- ๅฐ†ๅ‘้‡ๆ•ฐๆฎๅฏผๅ‡บๅˆฐๆš‚ๅญ˜ๅŒบ๏ผˆStage๏ผ‰
108+
-- ๅฐ†ๅ‘้‡ๆ•ฐๆฎๅฏผๅ‡บๅˆฐๆš‚ๅญ˜ๅŒบ
110109
COPY INTO @mystage/unload/
111110
FROM (
112111
SELECT
@@ -139,4 +138,4 @@ FROM (
139138
FROM @mystage/unload/
140139
)
141140
FILE_FORMAT = (TYPE = 'PARQUET');
142-
```
141+
```
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
title: 'COSINE_DISTANCE'
3+
description: 'ๅœจ Databend ไธญไฝฟ็”จ cosine_distance ๅ‡ฝๆ•ฐ่กก้‡็›ธไผผๆ€ง'
4+
---
5+
6+
่ฎก็ฎ—ไธคไธชๅ‘้‡ไน‹้—ด็š„ไฝ™ๅผฆ่ท็ฆป๏ผŒ็”จไบŽ่กก้‡ๅฎƒไปฌ็š„ไธ็›ธไผผ็จ‹ๅบฆใ€‚
7+
8+
## ่ฏญๆณ•
9+
10+
```sql
11+
COSINE_DISTANCE(vector1, vector2)
12+
```
13+
14+
## ๅ‚ๆ•ฐ
15+
16+
- `vector1`: ็ฌฌไธ€ไธชๅ‘้‡๏ผˆVECTOR ๆ•ฐๆฎ็ฑปๅž‹๏ผ‰
17+
- `vector2`: ็ฌฌไบŒไธชๅ‘้‡๏ผˆVECTOR ๆ•ฐๆฎ็ฑปๅž‹๏ผ‰
18+
19+
## ่ฟ”ๅ›žๅ€ผ
20+
21+
่ฟ”ๅ›žไธ€ไธชไป‹ไบŽ 0 ๅ’Œ 1 ไน‹้—ด็š„ FLOAT ๅ€ผ๏ผš
22+
- 0๏ผšๅ‘้‡็›ธๅŒ๏ผˆๅฎŒๅ…จ็›ธไผผ๏ผ‰
23+
- 1๏ผšๅ‘้‡ๆญฃไบค๏ผˆๅฎŒๅ…จไธ็›ธไผผ๏ผ‰
24+
25+
## ๆ่ฟฐ
26+
27+
ไฝ™ๅผฆ่ท็ฆปๆ นๆฎไธคไธชๅ‘้‡ไน‹้—ด็š„ๅคน่ง’ๆฅ่กก้‡ๅฎƒไปฌ็š„ไธ็›ธไผผๆ€ง๏ผŒ่€Œไธ่€ƒ่™‘ๅฎƒไปฌ็š„ๆจก้•ฟใ€‚่ฏฅๅ‡ฝๆ•ฐๆ‰ง่กŒไปฅไธ‹ๆ“ไฝœ๏ผš
28+
29+
1. ้ชŒ่ฏไธคไธช่พ“ๅ…ฅๅ‘้‡ๅ…ทๆœ‰็›ธๅŒ็š„้•ฟๅบฆ
30+
2. ่ฎก็ฎ—ไธคไธชๅ‘้‡็š„ๅ…ƒ็ด ็บงไน˜็งฏไน‹ๅ’Œ๏ผˆ็‚น็งฏ (Dot Product)๏ผ‰
31+
3. ่ฎก็ฎ—ๆฏไธชๅ‘้‡็š„ๅนณๆ–นๅ’Œ็š„ๅนณๆ–นๆ น๏ผˆๅ‘้‡ๆจก้•ฟ (magnitude)๏ผ‰
32+
4. ่ฟ”ๅ›ž `1 - (dot_product / (magnitude1 * magnitude2))`
33+
34+
ๅ…ถๅฎž็Žฐ็š„ๆ•ฐๅญฆๅ…ฌๅผไธบ๏ผš
35+
36+
```
37+
cosine_distance(v1, v2) = 1 - (ฮฃ(v1แตข * v2แตข) / (โˆšฮฃ(v1แตขยฒ) * โˆšฮฃ(v2แตขยฒ)))
38+
```
39+
40+
ๅ…ถไธญ v1แตข ๅ’Œ v2แตข ๆ˜ฏ่พ“ๅ…ฅๅ‘้‡็š„ๅ…ƒ็ด ใ€‚
41+
42+
:::info
43+
ๆญคๅ‡ฝๆ•ฐๅœจ Databend ๅ†…้ƒจๆ‰ง่กŒๅ‘้‡่ฎก็ฎ—๏ผŒไธไพ่ต–ไบŽๅค–้ƒจ APIใ€‚
44+
:::
45+
46+
47+
## ็คบไพ‹
48+
49+
ๅˆ›ๅปบไธ€ไธชๅŒ…ๅซๅ‘้‡ๆ•ฐๆฎ็š„่กจ๏ผš
50+
51+
```sql
52+
CREATE OR REPLACE TABLE vectors (
53+
id INT,
54+
vec VECTOR(3),
55+
VECTOR INDEX idx_vec(vec) distance='cosine'
56+
);
57+
58+
INSERT INTO vectors VALUES
59+
(1, [1.0000, 2.0000, 3.0000]),
60+
(2, [1.0000, 2.2000, 3.0000]),
61+
(3, [4.0000, 5.0000, 6.0000]);
62+
```
63+
64+
ๆŸฅๆ‰พไธŽ [1, 2, 3] ๆœ€็›ธไผผ็š„ๅ‘้‡๏ผš
65+
66+
```sql
67+
SELECT
68+
vec,
69+
COSINE_DISTANCE(vec, [1.0000, 2.0000, 3.0000]::VECTOR(3)) AS distance
70+
FROM
71+
vectors
72+
ORDER BY
73+
distance ASC
74+
LIMIT 1;
75+
```
76+
77+
```
78+
+-------------------------+----------+
79+
| vec | distance |
80+
+-------------------------+----------+
81+
| [1.0000,2.2000,3.0000] | 0.0 |
82+
+-------------------------+----------+
83+
```
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
title: 'L2_DISTANCE'
3+
---
4+
5+
import FunctionDescription from '@site/src/components/FunctionDescription';
6+
7+
<FunctionDescription description="ๅผ•ๅ…ฅๆˆ–ๆ›ดๆ–ฐไบŽ๏ผšv1.2.777"/>
8+
9+
่ฎก็ฎ—ไธคไธชๅ‘้‡ไน‹้—ด็š„ๆฌงๅ‡ ้‡Œๅพ—่ท็ฆป๏ผˆL2๏ผ‰๏ผŒๅณ่กก้‡ๅฎƒไปฌๅœจๅ‘้‡็ฉบ้—ดไธญ็š„็›ด็บฟ่ท็ฆปใ€‚
10+
11+
## ่ฏญๆณ•
12+
13+
```sql
14+
L2_DISTANCE(vector1, vector2)
15+
```
16+
17+
## ๅ‚ๆ•ฐ
18+
19+
- `vector1`: ็ฌฌไธ€ไธชๅ‘้‡๏ผˆVECTOR ๆ•ฐๆฎ็ฑปๅž‹๏ผ‰
20+
- `vector2`: ็ฌฌไบŒไธชๅ‘้‡๏ผˆVECTOR ๆ•ฐๆฎ็ฑปๅž‹๏ผ‰
21+
22+
## ่ฟ”ๅ›žๅ€ผ
23+
24+
่ฟ”ๅ›žไธ€ไธช FLOAT ๅ€ผ๏ผŒ่กจ็คบไธคไธชๅ‘้‡ไน‹้—ด็š„ๆฌงๅ‡ ้‡Œๅพ—่ท็ฆป๏ผˆL2๏ผ‰ใ€‚่ฏฅๅ€ผๅง‹็ปˆไธบ้ž่ดŸๆ•ฐ๏ผš
25+
- 0๏ผšๅ‘้‡็›ธๅŒ
26+
- ๅ€ผ่ถŠๅคง๏ผšๅ‘้‡็›ธ่ท่ถŠ่ฟœ
27+
28+
## ๆ่ฟฐ
29+
30+
L2 ่ท็ฆป๏ผŒไนŸ็งฐไธบๆฌงๅ‡ ้‡Œๅพ—่ท็ฆป๏ผˆEuclidean distance๏ผ‰๏ผŒ็”จไบŽ่กก้‡ๆฌงๅ‡ ้‡Œๅพ—็ฉบ้—ดไธญไธค็‚นไน‹้—ด็š„็›ด็บฟ่ท็ฆปใ€‚ๅฎƒๆ˜ฏๅ‘้‡็›ธไผผๆ€งๆœ็ดข (Vector Similarity Search) ๅ’Œๆœบๅ™จๅญฆไน ๅบ”็”จไธญๆœ€ๅธธ็”จ็š„ๅบฆ้‡ๆ ‡ๅ‡†ไน‹ไธ€ใ€‚
31+
32+
่ฏฅๅ‡ฝๆ•ฐไผš๏ผš
33+
34+
1. ้ชŒ่ฏไธคไธช่พ“ๅ…ฅๅ‘้‡็š„้•ฟๅบฆๆ˜ฏๅฆ็›ธๅŒ
35+
2. ่ฎก็ฎ—ๅฏนๅบ”ๅ…ƒ็ด ไน‹้—ดๅทฎๅ€ผ็š„ๅนณๆ–นๅ’Œ
36+
3. ่ฟ”ๅ›ž่ฏฅๅ’Œ็š„ๅนณๆ–นๆ น
37+
38+
ๅ…ถๅฎž็Žฐ็š„ๆ•ฐๅญฆๅ…ฌๅผไธบ๏ผš
39+
40+
```
41+
L2_distance(v1, v2) = โˆš(ฮฃ(v1แตข - v2แตข)ยฒ)
42+
```
43+
44+
ๅ…ถไธญ v1แตข ๅ’Œ v2แตข ๆ˜ฏ่พ“ๅ…ฅๅ‘้‡็š„ๅ…ƒ็ด ใ€‚
45+
46+
:::info
47+
- ๆญคๅ‡ฝๆ•ฐๅœจ Databend ๅ†…้ƒจๆ‰ง่กŒๅ‘้‡่ฎก็ฎ—๏ผŒไธไพ่ต–ไบŽๅค–้ƒจ APIใ€‚
48+
:::
49+
50+
## ็คบไพ‹
51+
52+
ๅˆ›ๅปบไธ€ไธชๅŒ…ๅซๅ‘้‡ๆ•ฐๆฎ็š„่กจ๏ผš
53+
54+
```sql
55+
CREATE OR REPLACE TABLE vectors (
56+
id INT,
57+
vec VECTOR(3),
58+
VECTOR INDEX idx_vec(vec) distance='l2'
59+
);
60+
61+
INSERT INTO vectors VALUES
62+
(1, [1.0000, 2.0000, 3.0000]),
63+
(2, [1.0000, 2.2000, 3.0000]),
64+
(3, [4.0000, 5.0000, 6.0000]);
65+
```
66+
67+
ไฝฟ็”จ L2 ่ท็ฆปๆŸฅๆ‰พๆœ€ๆŽฅ่ฟ‘ [1, 2, 3] ็š„ๅ‘้‡๏ผš
68+
69+
```sql
70+
SELECT
71+
id,
72+
vec,
73+
L2_DISTANCE(vec, [1.0000, 2.0000, 3.0000]::VECTOR(3)) AS distance
74+
FROM
75+
vectors
76+
ORDER BY
77+
distance ASC;
78+
```
79+
80+
```
81+
+----+-------------------------+----------+
82+
| id | vec | distance |
83+
+----+-------------------------+----------+
84+
| 1 | [1.0000,2.0000,3.0000] | 0.0 |
85+
| 2 | [1.0000,2.2000,3.0000] | 0.2 |
86+
| 3 | [4.0000,5.0000,6.0000] | 5.196152 |
87+
+----+-------------------------+----------+
88+
```

0 commit comments

Comments
ย (0)