{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--RetrieverAgent.json",
  "title": "RetrieverAgent",
  "description": "A RetrieverAgent is an agent that will take a query, rewrite it for better similarity vector search, and then perform the vector search on the document store.\nThe agent will dynamically load and embed files, so it is not performant for loading large bodies of files, but performs very well for small to medium-sized document stores (hundreds to thousands of documents) which are updating frequently.",
  "x-lintel": {
    "source": "https://www.eidolonai.com/json_schema/v1/schemas/Agent/RetrieverAgent.json",
    "sourceSha256": "935d622e7f5f5419c29438a0404b6751f9c7d4780abb522d8bbe3384344d8c3b"
  },
  "type": "object",
  "properties": {
    "implementation": {
      "const": "RetrieverAgent",
      "title": "Implementation"
    },
    "max_num_results": {
      "default": 10,
      "description": "The maximum number of results to consider.",
      "title": "Max Num Results",
      "type": "integer"
    },
    "question_transformer": {
      "$ref": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--overview.json"
    },
    "document_retriever": {
      "$ref": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--overview.json"
    },
    "document_reranker": {
      "$ref": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--overview.json"
    },
    "result_summarizer": {
      "$ref": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--overview.json"
    },
    "name": {
      "description": "The name of the document store to use.",
      "title": "Name",
      "type": "string"
    },
    "description": {
      "description": "A detailed description of the the retriever including all necessary information for the calling agent to decide to call this agent, i.e. file type or location or etc...",
      "title": "Description",
      "type": "string"
    },
    "loader_root_location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A URL specifying the root location of the loader.",
      "title": "Loader Root Location"
    },
    "loader_pattern": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": "**/*",
      "description": "The search pattern to use when loading files.",
      "title": "Loader Pattern"
    },
    "document_manager": {
      "anyOf": [
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--overview.json"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "apu": {
      "$ref": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--overview.json",
      "description": "The APU to use for question transformation."
    }
  },
  "additionalProperties": false,
  "required": [
    "name",
    "description",
    "implementation"
  ],
  "reference_details": {
    "clz": "eidolon_ai_sdk.agent.retriever_agent.retriever_agent.RetrieverAgent",
    "groups": [
      "Agent"
    ],
    "name": "RetrieverAgent",
    "overrides": {}
  }
}
