Those are the nodes that the model read to create the answer. If you need to know EXACTLY which node/piece of text was used, you can try the citation engine I built, that tries to get the LLM to write in-text citations (the prompt for this is customizable, if you encounter issues)
The citation query engine is basically taking the existing nodes in your index and breaking them into smaller numbered pieces, so that the LLM can cite sources.
You can leave both at their defaults, or optionally lower the chunk_size to get more granular sources (although with really low chunk_sizes, like less than 256, it might negatively effect the response quality)
Definitely possible, especially with the new openai function calling api (could define a citation/response object using pydantic that has content and highlights)
Just need to implement the query engine for it π