code: def search_records(
      client: httpx.Client,
      id: UUID,
      vector_query: FeedbackRecordsSearchVectorQuery,
      include: Union[None, List[str]] = None,
      response_status: Optional[
          List[FeedbackResponseStatusFilter]
      ] = None,
      metadata_filters: Optional[List[str]] = None,
      limit: int = 50,
  ) -> Response[
      Union[
          FeedbackRecordsSearchModel, ErrorMessage, HTTPValidationError
      ]
  ]:
      """Sends a POST request to `/api/v1/datasets/{id}/records/search` endpoint to search for records inside an specific dataset.
  
      Args:
          client: the authenticated Argilla client to be used to send the request to the API.
          id: the id of the dataset to add the records to.
          include: the fields to be included in the response.
          vector_query: the vector query to be used to search for records.
          response_status: the status of the responses to be retrieved.
              Can either be `draft`, `missing`, `discarded`, or `submitted`. Defaults to None.
          metadata_filters: the metadata filters to be applied to the records. Defaults to None.
          limit: an optional value to limit the number of returned records by the search.
  
      Returns:
          A `Response` object with the response itself, and/or the error codes if applicable.
      """
      url = f"/api/v1/datasets/{id}/records/search"
  
      params = {"limit": limit}
      if include:
          params["include"] = include
      if response_status:
          params["response_status"] = response_status
      if metadata_filters:
          params["metadata"] = metadata_filters
  
      vector_json = {"name": vector_query.name}
      if vector_query.value:
          vector_json["value"] = vector_query.value
      if vector_query.record_id:
          vector_json["record_id"] = str(vector_query.record_id)
  
      json = {"query": {"vector": vector_json}}
  
      response = client.post(url=url, params=params, json=json)
  
      if response.status_code == 200:
          response_obj = Response.from_httpx_response(response)
          response_obj.parsed = FeedbackRecordsSearchModel(
              **response.json()
          )
  
          return response_obj
  
      return handle_response_error(response)
  
imports: import warnings
  from typing import Any, Dict, List, Optional, Union
  from uuid import UUID
  import httpx
  from argilla.client.sdk.commons.errors_handler import handle_response_error
  from argilla.client.sdk.commons.models import ErrorMessage, HTTPValidationError, Response
  from argilla.client.sdk.v1.datasets.models import FeedbackDatasetModel, FeedbackFieldModel, FeedbackListVectorSettingsModel, FeedbackMetadataPropertyModel, FeedbackMetricsModel, FeedbackQuestionModel, FeedbackRecordsModel, FeedbackRecordsSearchModel, FeedbackRecordsSearchVectorQuery, FeedbackResponseStatusFilter, FeedbackVectorSettingsModel
label_desc: Use image node_id 7 for calling a global function with example usage: search_records(client, id, vector_query, include, response_status, metadata_filters, limit) and returns: handle_response_error, response_obj