# Retriever

## Retrieve

`CompositeRetrievalResult Retrievers.Retriever.Search(RetrieverSearchParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/retrievers/{retriever_id}/retrieve`

Retrieve data using a Retriever.

### Parameters

- `RetrieverSearchParams parameters`

  - `required string retrieverID`

    Path param

  - `required string query`

    Body param: The query to retrieve against.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `CompositeRetrievalMode mode`

    Body param: The mode of composite retrieval.

  - `ReRankConfig rerankConfig`

    Body param: The rerank configuration for composite retrieval.

  - `Long? rerankTopN`

    Body param: (use rerank_config.top_n instead) The number of nodes to retrieve after reranking over retrieved nodes from all retrieval tools.

### Returns

- `class CompositeRetrievalResult:`

  - `IReadOnlyList<PageScreenshotNodeWithScore> ImageNodes`

    The image nodes retrieved by the pipeline for the given query. Deprecated - will soon be replaced with 'page_screenshot_nodes'.

    - `required Node Node`

      - `required string FileID`

        The ID of the file that the page screenshot was taken from

      - `required Long ImageSize`

        The size of the image in bytes

      - `required Long PageIndex`

        The index of the page for which the screenshot is taken (0-indexed)

      - `IReadOnlyDictionary<string, JsonElement>? Metadata`

        Metadata for the screenshot

    - `required Double Score`

      The score of the screenshot node

    - `string ClassName`

  - `IReadOnlyList<Node> Nodes`

    The retrieved nodes from the composite retrieval.

    - `required Node Node`

      - `required string ID`

        The ID of the retrieved node.

      - `required Long? EndCharIdx`

        The end character index of the retrieved node in the document

      - `required string PipelineID`

        The ID of the pipeline this node was retrieved from.

      - `required string RetrieverID`

        The ID of the retriever this node was retrieved from.

      - `required string RetrieverPipelineName`

        The name of the retrieval pipeline this node was retrieved from.

      - `required Long? StartCharIdx`

        The start character index of the retrieved node in the document

      - `required string Text`

        The text of the retrieved node.

      - `IReadOnlyDictionary<string, JsonElement> Metadata`

        Metadata associated with the retrieved node.

    - `string ClassName`

    - `Double? Score`

  - `IReadOnlyList<PageFigureNodeWithScore> PageFigureNodes`

    The page figure nodes retrieved by the pipeline for the given query.

    - `required Node Node`

      - `required Double Confidence`

        The confidence of the figure

      - `required string FigureName`

        The name of the figure

      - `required Long FigureSize`

        The size of the figure in bytes

      - `required string FileID`

        The ID of the file that the figure was taken from

      - `required Long PageIndex`

        The index of the page for which the figure is taken (0-indexed)

      - `Boolean IsLikelyNoise`

        Whether the figure is likely to be noise

      - `IReadOnlyDictionary<string, JsonElement>? Metadata`

        Metadata for the figure

    - `required Double Score`

      The score of the figure node

    - `string ClassName`

### Example

```csharp
RetrieverSearchParams parameters = new()
{
    RetrieverID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    Query = "x",
};

var compositeRetrievalResult = await client.Retrievers.Retriever.Search(parameters);

Console.WriteLine(compositeRetrievalResult);
```

#### Response

```json
{
  "image_nodes": [
    {
      "node": {
        "file_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "image_size": 0,
        "page_index": 0,
        "metadata": {
          "foo": "bar"
        }
      },
      "score": 0,
      "class_name": "class_name"
    }
  ],
  "nodes": [
    {
      "node": {
        "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "end_char_idx": 0,
        "pipeline_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "retriever_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "retriever_pipeline_name": "retriever_pipeline_name",
        "start_char_idx": 0,
        "text": "text",
        "metadata": {
          "foo": "bar"
        }
      },
      "class_name": "class_name",
      "score": 0
    }
  ],
  "page_figure_nodes": [
    {
      "node": {
        "confidence": 0,
        "figure_name": "figure_name",
        "figure_size": 0,
        "file_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "page_index": 0,
        "is_likely_noise": true,
        "metadata": {
          "foo": "bar"
        }
      },
      "score": 0,
      "class_name": "class_name"
    }
  ]
}
```
