hunk.code_window:                 chat_stream=response_gen_from_query_engine(query_response.response_gen),
                   sources=[tool_output],
               )
               thread = Thread(
                   target=response.write_response_to_history, args=(self._memory,)
               )
               thread.start()
           else:
  
hunk.labels: keep keep keep keep replace keep keep keep
hunk.after_edit:                 target=response.write_response_to_history, args=(self._memory, True)
  
hunk.file_path: llama_index/chat_engine/condense_question.py
hunk.type: replace
file: # Retriever Modes
  
  Here we show the mapping from `retriever_mode` configuration to the selected retriever class.
  
  > Note that `retriever_mode` can mean different thing for different index classes.
  
  ## Vector Index
  
  Specifying `retriever_mode` has no effect (silently ignored).
  `vector_index.as_retriever(...)` always returns a VectorIndexRetriever.
  
  ## Summary Index
  
  - `default`: SummaryIndexRetriever
  - `embedding`: SummaryIndexEmbeddingRetriever
  - `llm`: SummaryIndexLLMRetriever
  
  ## Tree Index
  
  - `select_leaf`: TreeSelectLeafRetriever
  - `select_leaf_embedding`: TreeSelectLeafEmbeddingRetriever
  - `all_leaf`: TreeAllLeafRetriever
  - `root`: TreeRootRetriever
  
  ## Keyword Table Index
  
  - `default`: KeywordTableGPTRetriever
  - `simple`: KeywordTableSimpleRetriever
  - `rake`: KeywordTableRAKERetriever
  
  ## Knowledge Graph Index
  
  - `keyword`: KGTableRetriever
  - `embedding`: KGTableRetriever
  - `hybrid`: KGTableRetriever
  
  ## Document Summary Index
  
  - `llm`: DocumentSummaryIndexLLMRetriever
  - `embedding`: DocumentSummaryIndexEmbeddingRetrievers
  