internal/gemini: implement llm.Embedder

Package gemini implements llm.Embedder using Google's Gemini model.
Also change llm.Embedder to add a context to the EmbedDocs method call.

Copied from https://github.com/rsc/gaby/commit/aa80c62.

Change-Id: Ieee516d00390e03e94c52a641a46ed0bb03417b9
Reviewed-on: https://go-review.googlesource.com/c/oscar/+/597147
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Russ Cox <rsc@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
9 files changed
tree: ebb73f951931b47459baf5b68247ede2922f5438
  1. internal/
  2. codereview.cfg
  3. CONTRIBUTING.md
  4. go.mod
  5. go.sum
  6. LICENSE
  7. PATENTS
  8. README.md
README.md

Open source contributor agent architecture code. More to come.