[Code Embeddings] Introduce a generic LLM class for embeddings generation
## Context In AIGW, we are introducing a new `/embeddings` endpoint and moving the Vertex AI `text-embeddings-005` requests there (see https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/work_items/1879). In Rails, we should add a new LLM class that sends requests to this new `/embeddings` endpoint, e.g. `Gitlab::Llm::Embeddings`. ## Proposal - this class must be called like other llm classes, ie: `Gitlab::Llm::Embeddings.new(...).execute` - this class must accept a parameter to indicate whether to use the `cloud_connector` AIGW url (see https://gitlab.com/groups/gitlab-org/-/epics/20110#note_3056730291 for details on default vs cloud_connector AIGW url) - this class must handle the same batch-with-recursive-splitting logic as the `Ai::ActiveContext::Embeddings::Code::VertexText` class - This new class should then be used in place of `Ai::ActiveContext::Embeddings::Code::VertexText` ### POC POC MR: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/224684+
issue