Skip to content

Commit aa6934d

Browse files
Merge remote-tracking branch 'origin/Update-Inference-specification-for-Hugging-Face's-rerank-task' into Update-Inference-specification-for-Hugging-Face's-rerank-task
# Conflicts: # output/openapi/elasticsearch-openapi.json # output/openapi/elasticsearch-serverless-openapi.json # output/schema/schema-serverless.json # output/schema/schema.json # output/typescript/types.ts # package-lock.json # specification/inference/_types/CommonTypes.ts # specification/inference/put_hugging_face/PutHuggingFaceRequest.ts
2 parents b48894f + 6a71574 commit aa6934d

File tree

11 files changed

+98
-6
lines changed

11 files changed

+98
-6
lines changed

output/openapi/elasticsearch-openapi.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

output/openapi/elasticsearch-serverless-openapi.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

output/schema/schema-serverless.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

output/schema/schema.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

specification/inference/_types/CommonTypes.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
* under the License.
1818
*/
1919

20-
import { Id } from '@_types/common'
21-
import { float, integer, long } from '@_types/Numeric'
2220
import { RateLimitSetting } from '@inference/_types/Services'
2321
import { UserDefinedValue } from '@spec_utils/UserDefinedValue'
22+
import { Id } from '@_types/common'
23+
import { float, integer, long } from '@_types/Numeric'
2424

2525
export class RequestChatCompletion {
2626
/**
@@ -911,6 +911,7 @@ export class HuggingFaceServiceSettings {
911911
export enum HuggingFaceTaskType {
912912
chat_completion,
913913
completion,
914+
rerank,
914915
text_embedding
915916
}
916917

specification/inference/put_hugging_face/PutHuggingFaceRequest.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,16 @@ import { InferenceChunkingSettings } from '@inference/_types/Services'
5656
* * `Mistral-7B-Instruct-v0.2`
5757
* * `QwQ-32B`
5858
* * `Phi-3-mini-128k-instruct`
59+
*
60+
* For Elastic's `rerank` task:
61+
* The selected model must support the `sentence-ranking` task and expose OpenAI API.
62+
* HuggingFace supports only dedicated (not serverless) endpoints for `Rerank` so far.
63+
* After the endpoint is initialized, copy the full endpoint URL for use.
64+
* Tested models for `rerank` task:
65+
*
66+
* * `bge-reranker-base`
67+
* * `jina-reranker-v1-turbo-en-GGUF`
68+
*
5969
* @rest_spec_name inference.put_hugging_face
6070
* @availability stack since=8.12.0 stability=stable visibility=public
6171
* @availability serverless stability=stable visibility=public
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
summary: A rerank task
2+
description: Run `PUT _inference/rerank/hugging-face-rerank` to create an inference endpoint that performs a `rerank` task type.
3+
# method_request: "PUT _inference/rerank/hugging-face-rerank"
4+
# type: "request"
5+
value: |-
6+
{
7+
"service": "hugging_face",
8+
"service_settings": {
9+
"api_key": "hugging-face-access-token",
10+
"url": "url-endpoint"
11+
},
12+
"task_settings": {
13+
"return_documents": true,
14+
"top_n": 3
15+
}
16+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
summary: Rerank task
2+
description: Run `POST _inference/rerank/bge-reranker-base-mkn` to perform reranking on the example input via Hugging Face
3+
# method_request: "POST _inference/rerank/bge-reranker-base-mkn"
4+
# type: "request"
5+
value: |-
6+
{
7+
"input": ["luke", "like", "leia", "chewy","r2d2", "star", "wars"],
8+
"query": "star wars main character",
9+
"return_documents": false,
10+
"top_n": 2
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
summary: Rerank task
2+
description: Run `POST _inference/rerank/bge-reranker-base-mkn` to perform reranking on the example input via Hugging Face
3+
# method_request: "POST _inference/rerank/bge-reranker-base-mkn"
4+
# type: "request"
5+
value: |-
6+
{
7+
"input": ["luke", "like", "leia", "chewy","r2d2", "star", "wars"],
8+
"query": "star wars main character",
9+
"return_documents": true,
10+
"top_n": 3
11+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
summary: Rerank task
2+
description: >
3+
A successful response from `POST _inference/rerank/bge-reranker-base-mkn`.
4+
# type: "response"
5+
# response_code:
6+
value: |-
7+
{
8+
"rerank": [
9+
{
10+
"index": 6,
11+
"relevance_score": 0.50955844
12+
},
13+
{
14+
"index": 5,
15+
"relevance_score": 0.084341794
16+
}
17+
]
18+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
summary: Rerank task
2+
description: >
3+
A successful response from `POST _inference/rerank/bge-reranker-base-mkn`.
4+
# type: "response"
5+
# response_code:
6+
value: |-
7+
{
8+
"rerank": [
9+
{
10+
"index": 6,
11+
"relevance_score": 0.50955844,
12+
"text": "wars"
13+
},
14+
{
15+
"index": 5,
16+
"relevance_score": 0.084341794,
17+
"text": "star"
18+
},
19+
{
20+
"index": 3,
21+
"relevance_score": 0.004520818,
22+
"text": "chewy"
23+
}
24+
]
25+
}

0 commit comments

Comments
 (0)