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
        }
     }
  }'