It depends.
Neighbor Discovery Protocol (NDP) serves various functions on a network. Multiple of those functions require sending a Neighbor Solicitation message, and the structure of that message, and the underlying IP Header are different depending on what specific function NDP is performing.
**If NDP is performing Address Resolution** (aka, IPv6's version of ARP), the Source IP address of the Neighbor Solicitation message will be the Link-Layer address of the sending host (typically starting with `FE80`).
**If NDP is performing Duplicate Address Detection** , the Source IP address of the Neighbor Solicitation message will be the unspecified address: `::`
All this is outlined in section 4.3 of RFC 4861.