code: import asyncio
  from llama_index.core import KeywordTableIndex
  from llama_index.core import SimpleDirectoryReader
  
  async def retrieve(retriever, query, label):
      response = await retriever.aretrieve(query)
      print(f"{label} retrieved {str(len(response))} nodes")
  
  async def main():
      reader = SimpleDirectoryReader('files')
      documents = reader.load_data()
      index = KeywordTableIndex.from_documents(documents)
      retriever1 = index.as_retriever(
  retriever_mode='default'
  )
      retriever2 = index.as_retriever(
  retriever_mode='simple'
  )
      query = "Where is the Colosseum?"
  
      await asyncio.gather(
          retrieve(retriever1, query, '<llm>'),
          retrieve(retriever2, query, '<simple>')
      )
  asyncio.run(main())
  
apis: llama_index.core.KeywordTableIndex.from_documents llama_index.core.SimpleDirectoryReader
extract_api: [((298, 328), 'llama_index.core.SimpleDirectoryReader', 'SimpleDirectoryReader', (['"""files"""'], {}), "('files')\n", (319, 328), False, 'from llama_index.core import SimpleDirectoryReader\n'), ((376, 419), 'llama_index.core.KeywordTableIndex.from_documents', 'KeywordTableIndex.from_documents', (['documents'], {}), '(documents)\n', (408, 419), False, 'from llama_index.core import KeywordTableIndex\n')]