If users apply paid API searches like Tavily or Serper, we should cache the query results locally somehow (or maybe even centrally?) so that they don't have to pay for repeated searches. The cache can be invalidated after some time, which can also be controlled by the user.