Skip to content

Commit 1bdca66

Browse files
committed
Adding a new dense_vector_text CSV datasets and remove semantic_text dependency from text-embedding CSV tests.
1 parent 2dd6de3 commit 1bdca66

File tree

4 files changed

+37
-23
lines changed

4 files changed

+37
-23
lines changed

x-pack/plugin/esql/qa/testFixtures/src/main/java/org/elasticsearch/xpack/esql/CsvTestsDataLoader.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ public class CsvTestsDataLoader {
170170
private static final TestDataset LOGS = new TestDataset("logs");
171171
private static final TestDataset MV_TEXT = new TestDataset("mv_text");
172172
private static final TestDataset DENSE_VECTOR = new TestDataset("dense_vector");
173+
private static final TestDataset DENSE_VECTOR_TEXT = new TestDataset("dense_vector_text");
173174
private static final TestDataset COLORS = new TestDataset("colors");
174175
private static final TestDataset COLORS_CMYK_LOOKUP = new TestDataset("colors_cmyk").withSetting("lookup-settings.json");
175176
private static final TestDataset EXP_HISTO_SAMPLE = new TestDataset("exp_histo_sample");
@@ -241,6 +242,7 @@ public class CsvTestsDataLoader {
241242
Map.entry(COLORS_CMYK_LOOKUP.indexName, COLORS_CMYK_LOOKUP),
242243
Map.entry(MULTI_COLUMN_JOINABLE.indexName, MULTI_COLUMN_JOINABLE),
243244
Map.entry(MULTI_COLUMN_JOINABLE_LOOKUP.indexName, MULTI_COLUMN_JOINABLE_LOOKUP),
245+
Map.entry(DENSE_VECTOR_TEXT.indexName, DENSE_VECTOR_TEXT),
244246
Map.entry(EXP_HISTO_SAMPLE.indexName, EXP_HISTO_SAMPLE)
245247
);
246248

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
_id:keyword,text_field:semantic_text,text_embedding_field:dense_vector
2+
1,live long and prosper,[50.0, 57.0, 56.0]
3+
2,all we have to decide is what to do with the time that is given to us, [45.0, 49.0, 57.0]
4+
3,be excellent to each other,[45.0, 55.0, 54.0]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"properties": {
3+
"text_field": {
4+
"type": "text"
5+
},
6+
"text_embedding_field": {
7+
"type": "dense_vector",
8+
"dims": 3,
9+
"similarity": "l2_norm"
10+
}
11+
}
12+
}

x-pack/plugin/esql/qa/testFixtures/src/main/resources/text-embedding.csv-spec

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,44 +26,42 @@ Who is Victor Hugo? | [56.0, 50.0, 48.0]
2626
;
2727

2828

29-
text_embedding with knn on semantic_text_dense_field
29+
text_embedding with knn on dense vector field
3030
required_capability: text_embedding_function
3131
required_capability: dense_vector_field_type_released
3232
required_capability: knn_function_v5
33-
required_capability: semantic_text_field_caps
3433

3534
// tag::text-embedding-knn[]
36-
FROM semantic_text METADATA _score
35+
FROM dense_vector_text METADATA _score
3736
| EVAL query_embedding = TEXT_EMBEDDING("be excellent to each other", "test_dense_inference")
38-
| WHERE KNN(semantic_text_dense_field, query_embedding)
37+
| WHERE KNN(text_embedding_field, query_embedding)
3938
// end::text-embedding-knn[]
4039
| SORT _score DESC
4140
| LIMIT 10
42-
| KEEP semantic_text_field, query_embedding
41+
| KEEP text_field, query_embedding
4342
;
4443

45-
semantic_text_field:text | query_embedding:dense_vector
44+
text_field:text | query_embedding:dense_vector
4645
be excellent to each other | [45.0, 55.0, 54.0]
4746
live long and prosper | [45.0, 55.0, 54.0]
4847
all we have to decide is what to do with the time that is given to us | [45.0, 55.0, 54.0]
4948
;
5049

51-
text_embedding with knn (inline) on semantic_text_dense_field
50+
text_embedding with knn (inline) on dense vector field
5251
required_capability: text_embedding_function
5352
required_capability: dense_vector_field_type_released
5453
required_capability: knn_function_v5
55-
required_capability: semantic_text_field_caps
5654

5755
// tag::text-embedding-knn-inline[]
58-
FROM semantic_text METADATA _score
59-
| WHERE KNN(semantic_text_dense_field, TEXT_EMBEDDING("be excellent to each other", "test_dense_inference"))
56+
FROM dense_vector_text METADATA _score
57+
| WHERE KNN(text_embedding_field, TEXT_EMBEDDING("be excellent to each other", "test_dense_inference"))
6058
// end::text-embedding-knn-inline[]
6159
| SORT _score DESC
6260
| LIMIT 10
63-
| KEEP semantic_text_field
61+
| KEEP text_field
6462
;
6563

66-
semantic_text_field:text
64+
text_field:text
6765
be excellent to each other
6866
live long and prosper
6967
all we have to decide is what to do with the time that is given to us
@@ -74,16 +72,15 @@ required_capability: text_embedding_function
7472
required_capability: dense_vector_field_type_released
7573
required_capability: knn_function_v5
7674
required_capability: fork_v9
77-
required_capability: semantic_text_field_caps
7875

79-
FROM semantic_text METADATA _score, _id
80-
| WHERE KNN(semantic_text_dense_field, TEXT_EMBEDDING("be excellent to each other", "test_dense_inference")) OR KNN(semantic_text_dense_field, TEXT_EMBEDDING("live long and prosper", "test_dense_inference"))
76+
FROM dense_vector_text METADATA _score, _id
77+
| WHERE KNN(text_embedding_field, TEXT_EMBEDDING("be excellent to each other", "test_dense_inference")) OR KNN(text_embedding_field, TEXT_EMBEDDING("live long and prosper", "test_dense_inference"))
8178
| SORT _score DESC, _id
8279
| LIMIT 10
83-
| KEEP semantic_text_field
80+
| KEEP text_field
8481
;
8582

86-
semantic_text_field:text
83+
text_field:text
8784
live long and prosper
8885
be excellent to each other
8986
all we have to decide is what to do with the time that is given to us
@@ -94,17 +91,16 @@ required_capability: text_embedding_function
9491
required_capability: dense_vector_field_type_released
9592
required_capability: knn_function_v5
9693
required_capability: fork_v9
97-
required_capability: semantic_text_field_caps
9894

99-
FROM semantic_text METADATA _score
100-
| FORK (EVAL query_embedding = TEXT_EMBEDDING("be excellent to each other", "test_dense_inference") | WHERE KNN(semantic_text_dense_field, query_embedding))
101-
(EVAL query_embedding = TEXT_EMBEDDING("live long and prosper", "test_dense_inference") | WHERE KNN(semantic_text_dense_field, query_embedding))
95+
FROM dense_vector_text METADATA _score
96+
| FORK (EVAL query_embedding = TEXT_EMBEDDING("be excellent to each other", "test_dense_inference") | WHERE KNN(text_embedding_field, query_embedding))
97+
(EVAL query_embedding = TEXT_EMBEDDING("live long and prosper", "test_dense_inference") | WHERE KNN(text_embedding_field, query_embedding))
10298
| SORT _score DESC, _fork ASC
10399
| LIMIT 10
104-
| KEEP semantic_text_field, query_embedding, _fork
100+
| KEEP text_field, query_embedding, _fork
105101
;
106102

107-
semantic_text_field:text | query_embedding:dense_vector | _fork:keyword
103+
text_field:text | query_embedding:dense_vector | _fork:keyword
108104
be excellent to each other | [45.0, 55.0, 54.0] | fork1
109105
live long and prosper | [50.0, 57.0, 56.0] | fork2
110106
live long and prosper | [45.0, 55.0, 54.0] | fork1

0 commit comments

Comments
 (0)