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.

curl -X "POST" "${EVALUATOR_SERVICE_URL}/v1/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
         }
      }
   }'
data = {
    "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
        }
    }
}

endpoint = f"{EVALUATOR_SERVICE_URL}/v1/evaluation/targets"

response = requests.post(endpoint, json=data).json()

Embedding + Reranking#

In an embedding + reranking scenario, the documents retrieved by the embedding model are reranked by the reranking model.

curl -X "POST" "${EVALUATOR_SERVICE_URL}/v1/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
         }
      }
   }'
data = {
    "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
        }
    }
}

endpoint = f"{EVALUATOR_SERVICE_URL}/v1/evaluation/targets"

response = requests.post(endpoint, json=data).json()