This answer may be needlessly complicated if you don't want such generality, taking the approach of first finding the Fréchet derivative of a bilinear operator.
If $V$, $W$, and $Z$ are normed spaces, and if $T:V\times W\to Z$ is a continuous (real) bilinear operator, meaning that there exists $C\geq 0$ such that $\|T(v,w)\|\leq C\|v\|\|w\|$ for all $v\in V$ and $w\in W$, then the derivative of $T$ at $(v_0,w_0)$ is $DT|_{(v_0,w_0)}(v,w)=T(v,w_0)+T(v_0,w)$. (I am assuming that $V\times W$ is given a norm equivalent with $\|(v,w)\|=\sqrt{\|v\|^2+\|w\|^2}$.) This follows from the straightforward computation
$\frac{\|T(v_0+v,w_0+w)-T(v_0,w_0)-(T(v,w_0)+T(v_0,w))\|}{\|(v,w)\|}=\frac{\|T(v,w)\|}{\|(v,w)\|}\leq C\frac{\|v\|\|w\|}{\|(v,w)\|}\to 0$
as $(v,w)\to 0$.
With $V=W$, $Z=\mathbb R$ or $Z=\mathbb C$, and $T:V\times V\to Z$ the inner product, this gives $DT_{(v_0,w_0)}(v,w)=\langle v,w_0\rangle+\langle v_0,w\rangle$. Now if $f,g:\mathbb R\to V$ are differentiable, then $F:\mathbb R\to V\times V$ defined by $F(t)=(f(t),g(t))$ is differentiable with DF|_t(h)=h(f'(t),g'(t)). By the chain rule,
D(T\circ F)|_{t}(h) =DT|_{F(t)}\circ DF|_t(h)=h(\langle f'(t),g(t)\rangle+\langle f(t),g'(t)\rangle),
which means \frac{d}{dt} \langle f, g \rangle = \langle f'(t),g(t)\rangle+\langle f(t),g'(t)\rangle.