Not sure I know what you mean haha
So here's my understanding. You can enable streaming and query
response = query_engine.query("query")
From there, you can either do
response.print_response_stream()
to print to stdout
Or you can iterate over the generator yourself to handle the tokens
for word in response.response_gen:
<do a thing with word>
At the same time, independent of those things, you can do response.source_nodes to get a list of source nodes and similarity scores. These are not streamed, as they are static and should be set before the response even starts streaming
So you could iterate over the generator, and after the generator is done, do something with the source nodes right?