{"id":47089,"date":"2026-09-24T08:17:15","date_gmt":"2026-09-24T06:17:15","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=47089"},"modified":"2026-09-24T08:17:18","modified_gmt":"2026-09-24T06:17:18","slug":"goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/","title":{"rendered":"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I sometimes get asked how the new <strong>AI Service<\/strong> of GoldenGate 26ai works, and the best way to show it is to see it in action. In this blog, I will <strong>set up the AI Service with Google Gemini<\/strong>, using a free API key in Google AI Studio. Most of what will be said here can be applied to the other providers supported by GoldenGate 26ai.<\/p>\n\n\n\n<h2 id=\"new-ai-service-in-goldengate-26ai\" class=\"wp-block-heading\">New AI Service in GoldenGate 26ai<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The AI Service is a <strong>Service Manager-level microservice<\/strong>, not a deployment-level one. Extract, replicat, Distribution and Receiver services belong to a deployment. The AI Service belongs to the Service Manager and is shared by every deployment on the host.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you already use GoldenGate 26ai, you probably know that the AI Service has its own binary:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;oracle@vmogg bin]$ ps -ef|grep AIService\noracle     60905   60721  0 20:50 ?        00:00:00 \/u01\/app\/oracle\/product\/ogg_23.26.3.0.3\/bin\/AIService<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The AI Service holds two kinds of objects:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Providers<\/strong> (one per external AI service): a base URL and authentication details.<\/li>\n\n\n\n<li><strong>Models<\/strong> (one per embedding model you want to call): attached to a provider.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>None of this is stored in a deployment<\/strong>. This means that when configuring the AI Service, you only need to configure it once for all your deployments. It also means that every deployment can access every AI model you register.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Four providers are supported with GoldenGate 26ai: <strong>Google Gemini, OpenAI, OCI Generative AI and Voyage AI<\/strong>. They can all do the same thing with GoldenGate. On top of this, you can also configure local models.<\/p>\n\n\n\n<h2 id=\"getting-a-free-gemini-api-key\" class=\"wp-block-heading\">Getting a free Gemini API key<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first step when setting up a Gemini AI Service in GoldenGate is to retrieve the Gemini API key. You can create one for free in <strong>Google AI Studio<\/strong>, at <a href=\"https:\/\/aistudio.google.com\/apikey\" target=\"_blank\" rel=\"noopener noreferrer\">aistudio.google.com\/apikey<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sign in with a Google account and open the API keys page.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"212\" height=\"443\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/001_gemini-ai-service-aistudio-nav-api-keys.png\" alt=\"\" class=\"wp-image-47091\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/001_gemini-ai-service-aistudio-nav-api-keys.png 212w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/001_gemini-ai-service-aistudio-nav-api-keys-144x300.png 144w\" sizes=\"auto, (max-width: 212px) 100vw, 212px\" \/><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Click on <strong>Create API key<\/strong>.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"487\" height=\"261\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/002_gemini-ai-service-aistudio-create-a-key-dialog.png\" alt=\"\" class=\"wp-image-47092\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/002_gemini-ai-service-aistudio-create-a-key-dialog.png 487w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/002_gemini-ai-service-aistudio-create-a-key-dialog-300x161.png 300w\" sizes=\"auto, (max-width: 487px) 100vw, 487px\" \/><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Copy the key.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1426\" height=\"261\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/003_gemini-ai-service-aistudio-api-keys-list.png\" alt=\"\" class=\"wp-image-47096\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/003_gemini-ai-service-aistudio-api-keys-list.png 1426w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/003_gemini-ai-service-aistudio-api-keys-list-1024x187.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/003_gemini-ai-service-aistudio-api-keys-list-765x140.png 765w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/003_gemini-ai-service-aistudio-api-keys-list-300x55.png 300w\" sizes=\"auto, (max-width: 1426px) 100vw, 1426px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">There are two things you should know before using this key for GoldenGate.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Every Gemini API key is associated with a Google Cloud project.<\/strong> If you have multiple projects, make sure to select a project where the Gemini API is enabled (see below):<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"733\" height=\"566\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/004_gemini-ai-service-google-cloud-api-enabled-dashboard-1.png\" alt=\"\" class=\"wp-image-47095\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/004_gemini-ai-service-google-cloud-api-enabled-dashboard-1.png 733w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/004_gemini-ai-service-google-cloud-api-enabled-dashboard-1-300x232.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Check the rate limits at <a href=\"https:\/\/aistudio.google.com\/rate-limit\" target=\"_blank\" rel=\"noopener noreferrer\">aistudio.google.com\/rate-limit<\/a><\/strong> before sizing anything. Requests per minute, tokens per minute or requests per day are all important metrics that you should keep an eye on.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"849\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/005_gemini-ai-service-aistudio-rate-limit-page-1024x849.png\" alt=\"\" class=\"wp-image-47097\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/005_gemini-ai-service-aistudio-rate-limit-page-1024x849.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/005_gemini-ai-service-aistudio-rate-limit-page-300x249.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/005_gemini-ai-service-aistudio-rate-limit-page-767x636.png 767w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/005_gemini-ai-service-aistudio-rate-limit-page.png 1437w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">On the free tier, the daily request will most likely be the limited factor. But if the data you are embedding is large, you will be affected by the tokens limit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a lab, the default project and the key you just created are enough. For anything else, create the key in a dedicated Google Cloud project so quota and billing are isolated. A key created through AI Studio is already restricted to the Gemini API by default, so there is nothing extra to configure there.<\/p>\n\n\n\n<h2 id=\"goldengate-prerequisites-before-using-the-ai-service\" class=\"wp-block-heading\">GoldenGate prerequisites before using the AI Service<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Outbound connectivity<\/strong>: An HTTP proxy should be used for an AI service outside your network. If your GoldenGate host reaches the Internet through one, set <code>HTTPS_PROXY<\/code> from the Service Manager <strong>Configuration<\/strong> page (in <em><strong>Deployments &gt; ServiceManager &gt; Configuration<\/strong><\/em>), as an Environment Variable.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"168\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/006_goldengate-26ai-ai-service-https-proxy-config-1024x168.png\" alt=\"\" class=\"wp-image-47098\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/006_goldengate-26ai-ai-service-https-proxy-config-1024x168.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/006_goldengate-26ai-ai-service-https-proxy-config-764x125.png 764w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/006_goldengate-26ai-ai-service-https-proxy-config-300x49.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/006_goldengate-26ai-ai-service-https-proxy-config.png 1100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CA certificates<\/strong>: Oracle <strong>requires the use of CA certificates when connecting to any AI service provider<\/strong>, so the provider\u2019s TLS chain has to be trusted by the Service Manager. Pull the chain with the following command:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl s_client -showcerts -connect generativelanguage.googleapis.com:443<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then, add the CA certificates from the Service Manager certificate management page. The procedure is described in a blog about <a href=\"https:\/\/www.dbi-services.com\/blog\/ogg-30007-how-to-register-certificates-in-goldengate\/\" target=\"_blank\" rel=\"noopener noreferrer\">registering certificate in GoldenGate from the web UI<\/a>. If you skip this step, you will receive the following error when trying to use the AI Service from a replicat:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2026-09-12T08:20:54.578+0000  WARNING OGG-30679  Oracle GoldenGate Delivery for Oracle, REPAI.prm:  Response from EMBED endpoint using model gemini_embed returned error: code REMOTE_INFERENCE_FAILED, message 'SSL connection unexpectedly closed'.<\/code><\/pre>\n\n\n\n<h2 id=\"registering-the-provider\" class=\"wp-block-heading\">Registering the provider<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Again, everything happens in the <strong>Service Manager<\/strong> web UI.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Log in to the Service Manager and open the <strong>AI Service<\/strong> page.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"277\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/007_goldengate-26ai-ai-service-nav-left-panel-1024x277.png\" alt=\"\" class=\"wp-image-47099\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/007_goldengate-26ai-ai-service-nav-left-panel-1024x277.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/007_goldengate-26ai-ai-service-nav-left-panel-300x81.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/007_goldengate-26ai-ai-service-nav-left-panel-768x208.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/007_goldengate-26ai-ai-service-nav-left-panel.png 1440w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>In the <strong>Providers<\/strong> section, click <strong>+<\/strong> and pick the provider type. For this blog, we will use <code>Gemini<\/code>. Fill in the form and submit.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"400\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/008_goldengate-26ai-ai-service-add-provider-gemini-form.png\" alt=\"\" class=\"wp-image-47100\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/008_goldengate-26ai-ai-service-add-provider-gemini-form.png 720w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/008_goldengate-26ai-ai-service-add-provider-gemini-form-300x167.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"261\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/009_goldengate-26ai-ai-service-provider-added-1024x261.png\" alt=\"\" class=\"wp-image-47101\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/009_goldengate-26ai-ai-service-provider-added-1024x261.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/009_goldengate-26ai-ai-service-provider-added-766x195.png 766w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/009_goldengate-26ai-ai-service-provider-added-300x76.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/009_goldengate-26ai-ai-service-provider-added.png 1100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">For Gemini, you just need a URL and a key:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field<\/th><th>Value<\/th><\/tr><\/thead><tbody><tr><td>Provider ID<\/td><td><code>gemini<\/code><\/td><\/tr><tr><td>Provider Name<\/td><td><code>GeminiAiStudio<\/code><\/td><\/tr><tr><td>Base URL<\/td><td><code>https:\/\/generativelanguage.googleapis.com\/v1beta<\/code><\/td><\/tr><tr><td>API Key<\/td><td>the key from Google AI Studio<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Keep the base URL<\/strong>, ending with <code>\/v1beta<\/code>. Gemini embedding calls are a <code>POST<\/code> to <code>\/v1beta\/models\/&lt;model&gt;:embedContent<\/code>, so the model-specific part of the path belongs to the model definition, not the provider.<\/p>\n\n\n\n<h2 id=\"registering-the-model\" class=\"wp-block-heading\">Registering the model<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Still on the same <strong>AI Service<\/strong> page, in the <strong>Models<\/strong> section, click <strong>+<\/strong>, fill in the form and submit:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"560\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/010_goldengate-26ai-ai-service-add-model-gemini-form.png\" alt=\"\" class=\"wp-image-47102\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/010_goldengate-26ai-ai-service-add-model-gemini-form.png 720w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/010_goldengate-26ai-ai-service-add-model-gemini-form-300x233.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"146\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/011_goldengate-26ai-ai-service-model-added-1024x146.png\" alt=\"\" class=\"wp-image-47103\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/011_goldengate-26ai-ai-service-model-added-1024x146.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/011_goldengate-26ai-ai-service-model-added-300x43.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/011_goldengate-26ai-ai-service-model-added-764x109.png 764w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/011_goldengate-26ai-ai-service-model-added.png 1100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field<\/th><th>Value<\/th><\/tr><\/thead><tbody><tr><td>Model ID<\/td><td><code>gemini_embed<\/code><\/td><\/tr><tr><td>Model Name<\/td><td><code>gemini-embedding<\/code><\/td><\/tr><tr><td>Remote Model Name<\/td><td><code>gemini-embedding-001<\/code><\/td><\/tr><tr><td>Provider ID<\/td><td><code>gemini<\/code><\/td><\/tr><tr><td>Capabilities<\/td><td><code>Embedding<\/code><\/td><\/tr><tr><td>Enabled<\/td><td>on<\/td><\/tr><tr><td>Maximum Input Characters<\/td><td>see below<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the meaning of each name given above:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Remote Model Name<\/strong> is the name known by the provider.<\/li>\n\n\n\n<li><strong>Model ID<\/strong> is what will be used in the replicat when using <code>@AISERVICE<\/code>.<\/li>\n\n\n\n<li><strong>Model Name<\/strong> is just there for you to organize your models.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><code>gemini-embedding-001<\/code> is the current general embedding model from Google. It defaults to <strong>3072 dimensions<\/strong> and accepts anything from 128 to 3072 through the request\u2019s <code>output_dimensionality<\/code>, with 768, 1536 and 3072 as the recommended values. Querying the model directly (<code>GET \/v1beta\/models\/gemini-embedding-001<\/code>) gives its input limit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"name\": \"models\/gemini-embedding-001\",\n    \"inputTokenLimit\": 2048,\n    \"outputTokenLimit\": 1,\n    \"supportedGenerationMethods\": &#091;\n        \"embedContent\",\n        \"countTextTokens\",\n        \"countTokens\",\n        \"asyncBatchEmbedContent\"\n    ]\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">One note on <strong>Maximum Input Characters<\/strong>: when I write these lines (September 2026, version <code>23.26.3<\/code>), I still have an ongoing support request with Oracle about this parameter. The description of the parameter is straightforward, but the feature does not work. No matter the size of the input, everything will be passed to the AI Service, and to the AI model. This means that you could very quickly reach token limits if you don\u2019t pay attention. Until this bug is resolved, do not expect this feature to work as intended.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once a provider is enabled, the <strong>AI Service appears in the Services list<\/strong> on the Service Manager home page, the models become visible under the <strong>AI Service<\/strong> entry of the Microservices portal navigation, and they show up on a replicat\u2019s <strong>Parameters<\/strong> page.<\/p>\n\n\n\n<h2 id=\"calling-gemini-from-a-goldengate-replicat\" class=\"wp-block-heading\">Calling Gemini from a GoldenGate replicat<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the syntax for the <code>AISERVICE<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@AISERVICE(embed, &lt;model_id&gt;, &lt;column_name&gt;)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Three arguments are needed:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The capability, <code>embed<\/code>, is the only option available for now.<\/li>\n\n\n\n<li>The <strong>Model ID<\/strong>, as registered in the AI Service (not the Model Name!)<\/li>\n\n\n\n<li><strong>One source column<\/strong>. It cannot be a concatenation of columns. If you try to pass <code>first_column || ' ' || second_column<\/code> through the AI Service, you will get this error:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>2026-09-12 08:00:12  WARNING OGG-30081  Error in COLMAP clause. Invalid column mapping function or argument found in the COLMAP clause..\n..._embed', name || ' - ' || desc...\n                 ^.\n2026-09-12 08:00:12  ERROR   OGG-00919  Error in COLMAP clause.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Here is an example of a replicat parameter file using <code>AISERVICE<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>REPLICAT repai\nUSERIDALIAS target_pdb26 DOMAIN OracleGoldenGate\nDDL INCLUDE MAPPED\nMAP PDB1.APP_PDB1.products, TARGET PDB26.APP_PDB26.products,\nCOLMAP (\n    USEDEFAULTS,\n    desc_vector = @AISERVICE(embed, 'gemini_embed', description));<\/code><\/pre>\n\n\n\n<h2 id=\"the-target-column-has-to-exist-first\" class=\"wp-block-heading\">The target column has to exist first<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you edit an existing replicat file to add an embedding, you must create the column on the target first. The AI Service will not create it. The column should be an Oracle <code>VECTOR<\/code>, and its dimension count has to match what the model returns.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALTER TABLE app_pdb26.products\nADD (desc_vector VECTOR(3072, FLOAT32));<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Using the default output of <code>gemini-embedding-001<\/code> gives <code>VECTOR(3072, FLOAT32)<\/code>. The dimension shouldn\u2019t be changed later.<\/p>\n\n\n\n<h2 id=\"ogg-30679-when-the-key-is-wrong\" class=\"wp-block-heading\"><code>OGG-30679<\/code> when the key is wrong<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Registering a provider or a model with a bad key produces no error at all, since nothing calls the provider at that point. Starting a replicat does not call it either, if there is no data waiting to be applied. It only happens <strong>when an <code>@AISERVICE<\/code> mapping processes a row.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An invalid key comes back as <strong>HTTP 400, not 401<\/strong>, with <code>API_KEY_INVALID<\/code> in the details. This is the full record from <code>ggserr.log<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2026-09-12T09:26:59.205+0000  WARNING OGG-30679  Oracle GoldenGate Delivery for Oracle, REPAI.prm:  Response from EMBED endpoint using model gemini_badkey_model returned error: code REMOTE_INFERENCE_FAILED, message 'HTTP 400 - Bad Request: {\n    \"error\": {\n        \"code\": 400,\n        \"message\": \"API key not valid. Please pass a valid API key.\",\n        \"status\": \"INVALID_ARGUMENT\",\n        \"details\": &#091;\n        {\n            \"@type\": \"type.googleapis.com\/google.rpc.ErrorInfo\",\n            \"reason\": \"API_KEY_INVALID\",\n            \"domain\": \"googleapis.com\",\n            \"metadata\": {\n            \"service\": \"generativelanguage.googleapis.com\"\n            }\n        },\n        {\n            \"@type\": \"type.googleapis.com\/google.rpc.LocalizedMessage\",\n            \"locale\": \"en-US\",\n            \"message\": \"API key not valid. Please pass a valid API key.\"\n        }\n        ]\n    }\n    }\n    '.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">An <code>OGG-30679<\/code> error also happens when a key is in a Google Cloud project which has not enabled the Generative Language API. This returns <code>PERMISSION_DENIED<\/code> (403). Here is the full <code>ggserr.log<\/code> record:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2026-09-12T09:27:16.666+0000  WARNING OGG-30679  Oracle GoldenGate Delivery for Oracle, REPAI.prm:  Response from EMBED endpoint using model gemini_noaccess_model returned error: code REMOTE_INFERENCE_FAILED, message 'HTTP 403 - Forbidden: {\n    \"error\": {\n        \"code\": 403,\n        \"message\": \"Gemini API has not been used in project 293237196494 before or it is disabled. Enable it by visiting https:\/\/console.developers.google.com\/apis\/api\/generativelanguage.googleapis.com\/overview?project=293237196494 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.\",\n        \"status\": \"PERMISSION_DENIED\",\n        \"details\": &#091;\n        {\n            \"@type\": \"type.googleapis.com\/google.rpc.ErrorInfo\",\n            \"reason\": \"SERVICE_DISABLED\",\n            \"domain\": \"googleapis.com\",\n            \"metadata\": {\n            \"serviceTitle\": \"Gemini API\",\n            \"consumer\": \"projects\/293237196494\",\n            \"containerInfo\": \"293237196494\",\n            \"activationUrl\": \"https:\/\/console.developers.google.com\/apis\/api\/generativelanguage.googleapis.com\/overview?project=293237196494\",\n            \"service\": \"generativelanguage.googleapis.com\"\n            }\n        },\n        {\n            \"@type\": \"type.googleapis.com\/google.rpc.LocalizedMessage\",\n            \"locale\": \"en-US\",\n            \"message\": \"Gemini API has not been used in project 293237196494 before or it is disabled. Enable it by visiting https:\/\/console.developers.google.com\/apis\/api\/generativelanguage.googleapis.com\/overview?project=293237196494 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.\"\n        }\n        ]\n    }\n    }\n    '.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">When registering a model\/provider, you will not get an error if it is not correctly configured. Running a replicat with an <code>@AISERVICE<\/code> mapping is the only test which can validate your model registration.<\/p>\n\n\n\n<h2 id=\"replication-example\" class=\"wp-block-heading\">Replication example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here is an <code>EXTAI<\/code>\/<code>REPAI<\/code> replication example, inserting into <code>APP_PDB26.products_src<\/code> on the source:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO app_pdb26.products_src (id, name, description)\nVALUES (9701, 'GoldenGate 26ai Live Demo Mug', 'A ceramic mug for GoldenGate engineers, printed with the AI Service architecture diagram.');\nCOMMIT;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On the target, a <code>VECTOR(3072, FLOAT32)<\/code> column is populated by Gemini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT id, name, VECTOR_DIMS(desc_vector) AS dims FROM app_pdb26.products WHERE id = 9701;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>        ID NAME                            DIMS\n---------- ------------------------------ -----\n      9701 GoldenGate 26ai Live Demo Mug   3072\n\n# Vector content\n&#091;-1.34540349E-002,1.69963725E-002,2.44766194E-002,-6.56813234E-002,-5.2943374E-003,-2.17550527E-003,1.45018185E-002,-1.24750044E-002,1.46362577E-002,...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The vector has 3072 dimensions, matching the default output of <code>gemini-embedding-001<\/code>.<\/p>\n\n\n\n<h2 id=\"to-summarize\" class=\"wp-block-heading\">To summarize<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To set up Gemini in GoldenGate 26ai, you need to:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create the API key at <a href=\"https:\/\/aistudio.google.com\/apikey\" target=\"_blank\" rel=\"noopener noreferrer\">aistudio.google.com\/apikey<\/a>. The project must have the Gemini API enabled.<\/li>\n\n\n\n<li>Set <code>HTTPS_PROXY<\/code> for the Service Manager if the host goes out through a proxy, and register the provider\u2019s CA chain in the Service Manager.<\/li>\n\n\n\n<li>Add the provider in <strong>AI Service<\/strong>, with the base URL <code>https:\/\/generativelanguage.googleapis.com\/v1beta<\/code> and the API key.<\/li>\n\n\n\n<li>Add the model, with <code>gemini-embedding-001<\/code> as the <em>Remote Model Name<\/em><\/li>\n\n\n\n<li>Add the <code>VECTOR<\/code> column to the target table <strong>before<\/strong> altering the replicat parameter file, sized based on the dimension of the model output.<\/li>\n\n\n\n<li>Add one <code>COLMAP<\/code> line, <code>USEDEFAULTS<\/code> and <code>col = @AISERVICE(embed, &lt;model_id&gt;, &lt;column_name&gt;)<\/code>, with a single column as the third argument.<\/li>\n\n\n\n<li>Apply one row and check the target column. Until this happens, you cannot be sure that your replicat will behave as intended.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>I sometimes get asked how the new AI Service of GoldenGate 26ai works, and the best way to show it is to see it in action. In this blog, I will set up the AI Service with Google Gemini, using a free API key in Google AI Studio. Most of what will be said here [&hellip;]<\/p>\n","protected":false},"author":152,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[3787,59],"tags":[3827,3804,3825,979,3652,4243,328,3229,3730,1521,3767,4242,4244],"type_dbi":[3828,3823,4245,3801,4248,4247,3740,3231,3881,3800,3769,4246],"class_list":["post-47089","post","type-post","status-publish","format-standard","hentry","category-goldengate","category-oracle","tag-3827","tag-26ai","tag-ai-service","tag-api","tag-embeddings","tag-gemini","tag-goldengate","tag-microservices","tag-ogg","tag-rest","tag-restapi","tag-vector","tag-web-ui","type-3828","type-26ai","type-ai-service","type-api","type-embeddings","type-gemini","type-goldengate","type-microservices","type-ogg","type-rest","type-restapi","type-vector"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key - dbi Blog<\/title>\n<meta name=\"description\" content=\"Set up the GoldenGate 26ai AI Service with a free Google Gemini key: provider, model, the @AISERVICE mapping and the VECTOR column.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key\" \/>\n<meta property=\"og:description\" content=\"Set up the GoldenGate 26ai AI Service with a free Google Gemini key: provider, model, the @AISERVICE mapping and the VECTOR column.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-24T06:17:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-24T06:17:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/001_gemini-ai-service-aistudio-nav-api-keys.png\" \/>\n\t<meta property=\"og:image:width\" content=\"212\" \/>\n\t<meta property=\"og:image:height\" content=\"443\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Julien Delattre\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Julien Delattre\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/\"},\"author\":{\"name\":\"Julien Delattre\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/764ab019cc9dec42655b4c6b9b8e474e\"},\"headline\":\"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key\",\"datePublished\":\"2026-09-24T06:17:15+00:00\",\"dateModified\":\"2026-09-24T06:17:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/\"},\"wordCount\":1381,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/09\\\/001_gemini-ai-service-aistudio-nav-api-keys.png\",\"keywords\":[\"26\",\"26ai\",\"ai service\",\"api\",\"embeddings\",\"gemini\",\"GoldenGate\",\"microservices\",\"ogg\",\"rest\",\"restapi\",\"vector\",\"web ui\"],\"articleSection\":[\"GoldenGate\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/\",\"name\":\"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/09\\\/001_gemini-ai-service-aistudio-nav-api-keys.png\",\"datePublished\":\"2026-09-24T06:17:15+00:00\",\"dateModified\":\"2026-09-24T06:17:18+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/764ab019cc9dec42655b4c6b9b8e474e\"},\"description\":\"Set up the GoldenGate 26ai AI Service with a free Google Gemini key: provider, model, the @AISERVICE mapping and the VECTOR column.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/09\\\/001_gemini-ai-service-aistudio-nav-api-keys.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/09\\\/001_gemini-ai-service-aistudio-nav-api-keys.png\",\"width\":212,\"height\":443},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/764ab019cc9dec42655b4c6b9b8e474e\",\"name\":\"Julien Delattre\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g\",\"caption\":\"Julien Delattre\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/juliendelattre\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key - dbi Blog","description":"Set up the GoldenGate 26ai AI Service with a free Google Gemini key: provider, model, the @AISERVICE mapping and the VECTOR column.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/","og_locale":"en_US","og_type":"article","og_title":"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key","og_description":"Set up the GoldenGate 26ai AI Service with a free Google Gemini key: provider, model, the @AISERVICE mapping and the VECTOR column.","og_url":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/","og_site_name":"dbi Blog","article_published_time":"2026-09-24T06:17:15+00:00","article_modified_time":"2026-09-24T06:17:18+00:00","og_image":[{"width":212,"height":443,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/001_gemini-ai-service-aistudio-nav-api-keys.png","type":"image\/png"}],"author":"Julien Delattre","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Julien Delattre","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/"},"author":{"name":"Julien Delattre","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/764ab019cc9dec42655b4c6b9b8e474e"},"headline":"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key","datePublished":"2026-09-24T06:17:15+00:00","dateModified":"2026-09-24T06:17:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/"},"wordCount":1381,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/001_gemini-ai-service-aistudio-nav-api-keys.png","keywords":["26","26ai","ai service","api","embeddings","gemini","GoldenGate","microservices","ogg","rest","restapi","vector","web ui"],"articleSection":["GoldenGate","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/","url":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/","name":"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/001_gemini-ai-service-aistudio-nav-api-keys.png","datePublished":"2026-09-24T06:17:15+00:00","dateModified":"2026-09-24T06:17:18+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/764ab019cc9dec42655b4c6b9b8e474e"},"description":"Set up the GoldenGate 26ai AI Service with a free Google Gemini key: provider, model, the @AISERVICE mapping and the VECTOR column.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/001_gemini-ai-service-aistudio-nav-api-keys.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/09\/001_gemini-ai-service-aistudio-nav-api-keys.png","width":212,"height":443},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/goldengate-26ai-ai-service-full-setup-with-a-free-gemini-key\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"GoldenGate 26ai AI Service: Full Setup With a Free Gemini Key"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/764ab019cc9dec42655b4c6b9b8e474e","name":"Julien Delattre","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g","caption":"Julien Delattre"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/juliendelattre\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/47089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/152"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=47089"}],"version-history":[{"count":2,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/47089\/revisions"}],"predecessor-version":[{"id":47104,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/47089\/revisions\/47104"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=47089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=47089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=47089"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=47089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}