> [!WARNING]
>
> **Preview**
>
>
> This product is
>
> subject to the "Pre-GA Offerings Terms" in the General Service Terms section of the
> [Service Specific
> Terms](https://docs.cloud.google.com/terms/service-terms#1).
>
> Pre-GA products are available "as is" and might have limited support.
>
> For more information, see the
> [launch stage descriptions](https://cloud.google.com/products/#product-launch-stages).

<br />

This page describes how to register an AI model endpoint
and generate vector embeddings with model endpoint management.

To use AI models in
production environments, see [Build generative AI applications using
Cloud SQL](https://docs.cloud.google.com/sql/docs/postgres/ai-overview) and [Work with vector embeddings](https://docs.cloud.google.com/sql/docs/postgres/work-with-vectors).


After the model endpoints are added and registered in model endpoint management, you can
reference them using the model ID to generate embeddings.

## Before you begin

Make sure that you complete the following actions:

- Register your model endpoint with model endpoint management. For more information, see [Register and call remote AI models using model endpoint management](https://docs.cloud.google.com/sql/docs/postgres/model-endpoint-register-model.md.txt).
- Create or update your Cloud SQL instance so that the instance can integrate with Vertex AI. For more information, see [Enable database integration with Vertex AI](https://docs.cloud.google.com/sql/docs/postgres/integrate-cloud-sql-with-vertex-ai.md.txt#enable-database-integration-with-vertex-ai).

## Generate embeddings

Use the `google_ml.embedding()` SQL function to call the registered model endpoint with
the text embedding model type to generate embeddings.

To call the model and generate embeddings, use the following SQL query:

```sql
SELECT
  google_ml.embedding(
    model_id => 'MODEL_ID',
    content => 'CONTENT');
```

Replace the following:

- `MODEL_ID`: the model ID you defined when registering the model endpoint
- `CONTENT`: the text to translate into a vector embedding

## Examples

Some examples for generating embeddings using registered model endpoints are listed in this section.

### Text embedding models with built-in support

To generate embeddings for a registered `textembedding-gecko@002` model endpoint,
run the following statement:

```sql
    SELECT
      google_ml.embedding(
        model_id => 'textembedding-gecko@002',
        content => 'Cloud SQL is a managed, cloud-hosted SQL database service');
```