Retriever Pipeline Targets#
Retriever pipelines are used to retrieve relevant documents based on a query. For more information, refer to Retriever Evaluation Type.
Embedding Only#
In an embedding-only scenario, an embedding model is used to perform dense retrieval of documents.
To Create an Embedding-Only Retriever Target#
Choose one of the following options to create an embedding-only retriever target.
import os
from nemo_microservices import NeMoMicroservices
# Initialize the client
client = NeMoMicroservices(
base_url=os.environ['EVALUATOR_BASE_URL']
)
# Create an embedding-only retriever target
client.evaluation.targets.create(
type="retriever",
name="my-target-retriever-1",
namespace="my-organization",
retriever={
"pipeline": {
"query_embedding_model": {
"api_endpoint": {
"url": "<my-query-embedding-url>",
"model_id": "<my-query-embedding-model>"
}
},
"index_embedding_model": {
"api_endpoint": {
"url": "<my-index-embedding-url>",
"model_id": "<my-index-embedding-model>"
}
},
"top_k": 5
}
}
)
print("Embedding-only retriever target created successfully")
curl -X "POST" "${EVALUATOR_BASE_URL}/evaluation/targets" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"type": "retriever",
"name": "my-target-retriever-1",
"namespace": "my-organization",
"retriever": {
"pipeline": {
"query_embedding_model": {
"api_endpoint": {
"url": "<my-query-embedding-url>",
"model_id": "<my-query-embedding-model>"
}
},
"index_embedding_model": {
"api_endpoint": {
"url": "<my-index-embedding-url>",
"model_id": "<my-index-embedding-model>"
}
},
"top_k": 5
}
}
}'
Embedding + Reranking#
In an embedding + reranking scenario, the documents retrieved by the embedding model are reranked by the reranking model.
To Create an Embedding + Reranking Retriever Target#
Choose one of the following options to create an embedding + reranking retriever target.
import os
from nemo_microservices import NeMoMicroservices
# Initialize the client
client = NeMoMicroservices(
base_url=os.environ['EVALUATOR_BASE_URL']
)
# Create an embedding + reranking retriever target
client.evaluation.targets.create(
type="retriever",
name="my-target-retriever-2",
namespace="my-organization",
retriever={
"pipeline": {
"query_embedding_model": {
"api_endpoint": {
"url": "<my-query-embedding-url>",
"model_id": "<my-query-embedding-model>"
}
},
"index_embedding_model": {
"api_endpoint": {
"url": "<my-index-embedding-url>",
"model_id": "<my-index-embedding-model>"
}
},
"reranker_model": {
"api_endpoint": {
"url": "<my-ranker-url>",
"model_id": "<my-ranker-model>"
}
},
"top_k": 5
}
}
)
print("Embedding + reranking retriever target created successfully")
curl -X "POST" "${EVALUATOR_BASE_URL}/evaluation/targets" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"type": "retriever",
"name": "my-target-retriever-2",
"namespace": "my-organization",
"retriever": {
"pipeline": {
"query_embedding_model": {
"api_endpoint": {
"url": "<my-query-embedding-url>",
"model_id": "<my-query-embedding-model>"
}
},
"index_embedding_model": {
"api_endpoint": {
"url": "<my-index-embedding-url>",
"model_id": "<my-index-embedding-model>"
}
},
"reranker_model": {
"api_endpoint": {
"url": "<my-ranker-url>",
"model_id": "<my-ranker-model>"
}
},
"top_k": 5
}
}
}'