<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Mark Hoy - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Mark Hoy - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/search-labs/author/mark-hoy</link>
    </image>
    <link>https://www.elastic.co/search-labs/author/mark-hoy</link>
    <atom:link href="https://www.elastic.co/search-labs/rss/author/mark-hoy.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[en]]></language>
    <lastBuildDate>Fri, 18 Sep 2026 18:49:31 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Elasticsearch open inference API adds support for Azure OpenAI embeddings]]></title>
    <description><![CDATA[Elasticsearch open inference API adds support for Azure OpenAI embeddings to be stored in the world's most downloaded vector database.]]></description>
    <content:encoded><![CDATA[<p>We're happy to announce that Elasticsearch now supports <a href="https://learn.microsoft.com/en-us/azure/ai-services/openai/overview">Azure OpenAI embeddings</a> in our <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/inference-apis.html">open inference API</a>, enabling developers to store generated embeddings into our highly scalable and performant <a href="https://www.elastic.co/search-labs/blog/elasticsearch-lucene-vector-database-gains">vector database</a>.</p><p>This new functionality further solidifies our commitment to not only working with Microsoft and the Azure platform, but also toward our commitment to offering our customers more flexibility with their AI solutions.</p><h2>Ongoing Investment in AI at Elastic</h2><p>This is the latest in a series of additional features and integrations on AI enablement for Elasticsearch following on from:</p><ul><li><p><a href="https://www.elastic.co/search-labs/blog/elasticsearch-azure-ai-studio-support">Elasticsearch open inference API adds Azure AI Studio support</a></p></li><li><p><a href="https://www.elastic.co/search-labs/blog/elasticsearch-azure-openai-completion-support">Elasticsearch open inference API adds support for Azure OpenAI chat completions</a></p></li><li><p><a href="https://www.elastic.co/search-labs/blog/elasticsearch-openai-completion-support">Elasticsearch open inference API adds support for OpenAI chat completions</a></p></li><li><p><a href="https://www.elastic.co/search-labs/blog/elasticsearch-cohere-embeddings-support">Elasticsearch open inference API adds support for Cohere Embeddings</a></p></li><li><p><a href="https://www.elastic.co/search-labs/blog/azure-openai-on-your-data-elasticsearch-vector-database">Introducing Elasticsearch vector database to Azure OpenAI Service On Your Data (preview)</a></p></li></ul><p>The new <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/inference-apis.html">inference</a> embeddings service provider for Azure OpenAI is already available in our <a href="https://www.elastic.co/search-labs/blog/building-elastic-cloud-serverless">stateless offering</a> on Elastic Cloud, and will be soon available to everyone in an upcoming Elastic release.</p><h2>Using Azure OpenAI Embeddings with the Elasticsearch Inference API</h2><h3>Deploying an Azure OpenAI Embeddings Model</h3><p>To get started, you will need a <a href="https://azure.microsoft.com/">Microsoft Azure Subscription</a> as well as access to <a href="https://aka.ms/oai/access">Azure OpenAI service</a>. Once you have registered and have access, you will need to create a resource in your <a href="https://azure.microsoft.com/en-us/get-started/azure-portal">Azure Portal</a>, and then deploy an embedding model to <a href="https://oai.azure.com/">Azure OpenAI Studio</a>. To do this, if you do not already have an Azure OpenAI resource in your Azure Portal, create a new one from the “Azure OpenAI” type which can be found in the Azure Marketplace, and take note of your resource name as you will need this later. When you create your resource, the region you choose may impact what models you have access to. See the Azure OpenAI deployment <a href="https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models#standard-deployment-model-availability">model availability table</a> for additional details.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt35aedf6095d45d06/6a17d706abe0f20405dfe854/53dfbc95b12448541a816f78f8d996c2a3c24399-416x220.png" alt="Azure OpenAI on Marketplace" /><p>Once you have your resource, you will also need one of your API keys which can be found in the “Keys and Endpoint” information from the Azure Portal's left side navigation:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt2d58e5f2c964df0a/6a17d707e31791350e2d5678/c45e937ec65b16818168264b30e0ec419f0f7eac-724x404.png" alt="Keys and Endpoint" /><p>Now, to deploy your Azure OpenAI Embedding model, go into your <a href="https://oai.azure.com/">Azure OpenAI Studio's</a> console and create your deployment using an <a href="https://platform.openai.com/docs/guides/embeddings/embedding-models">OpenAI Embeddings model</a> such as <code>text-embedding-ada-002</code>. Once your deployment is created, you should see the deployment overview. Also take note of the deployment name, in the example below it is “example-embeddings-model”.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9541eda646e4cfb3/6a17d709be608642de004594/ab8c1d64aaa3a41436f5c6be5a2ea867c648ae11-938x311.png" alt="Example Deployment" /><h3>Using your deployed Azure OpenAI embeddings model with the Elasticsearch Inference API</h3><p>With an Azure OpenAI embeddings model deployed, we can now configure your Elasticsearch deployment's <code>_inference</code> API and create a pipeline to index embeddings vectors in your documents. Please refer to the <a href="https://github.com/elastic/elasticsearch-labs/">Elastic Search Labs GitHub repository</a> for more in-depth guides and interactive notebooks.</p><p>To perform these tasks, you can use the Kibana Dev Console, or any REST console of your choice.</p><p>First, configure your inference endpoint using the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/8.14/put-inference-api.html">create inference model endpoint</a> - we'll call this “example_model”:</p>PUT _inference/text_embedding/example_model
{
    "service": "azureopenai",
    "service_settings": {
        "api_key": "&lt;api-key&gt;",
        "resource_name": "&lt;resource-name&gt;",
        "deployment_id": "&lt;deployment-id&gt;",
        "api_version": "2024-02-01"
    },
    "task_settings": {
        "user": "&lt;optional-username&gt;"
    }
}
<p>For your inference endpoint, you will need your API key, your resource name, and the deployment id that you created above. For the “api_version”, you will want to use an available API version from the <a href="https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#embeddings">Azure OpenAI embeddings documentation</a> - we suggest always using the latest version which is “2024-02-01” as of this writing. You can also optionally add a username in the task setting's “user” field which should be a unique identifier representing your end-user to help Azure OpenAI to monitor and detect abuse. If you do not want to do this, omit the entire “task_settings” object.</p><p>After running this command you should receive a <code>200 OK</code> status indicating that the model is properly set up.</p><p>Using the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/8.14/post-inference-api.html">perform inference endpoint</a>, we can see an example of your inference endpoint at work:</p>POST _inference/text_embedding/example_model
{
  "input": "What is Elastic?"
}
<p>The output from the above command should provide the embeddings vector for the input text:</p>{
    "text_embedding": [
        {
            "embedding": [
                -0.0038039694,
                0.0054465225,
                -0.0018359756,
                -0.02274399,
                -0.01969836,
                ...
            ]
        }
    ]
}
<p>Now that we know our inference endpoint works, we can create a pipeline that uses it:</p>PUT _ingest/pipeline/azureopenai_embeddings
{
  "processors": [
    {
      "inference": {
        "model_id": "example_model", 
        "input_output": { 
          "input_field": "name",
          "output_field": "name_embedding"
        }
      }
    }
  ]
}
<p>This will create an ingestion pipeline named “azureopenai_embeddings” that will read the contents of the “name” field upon ingestion and apply the embeddings inference from our model to the “name_embedding” output field. You can then use this ingestion pipeline when documents are ingested (e.g. via the _bulk ingest endpoint), or when reindexing an index that is already populated.</p><p>This is currently available through the open inference API in our <a href="https://www.elastic.co/search-labs/blog/building-elastic-cloud-serverless">stateless offering</a> on Elastic Cloud. It'll also be soon available to everyone in an upcoming versioned Elasticsearch release, with additional semantic text capabilites that will make this step even simpler to integrate into your existing workflows.</p><p>For an additional use case, you can walk through the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/8.14/semantic-search-inference.html">semantic search with inference tutorial</a> for how to perform ingestion and semantic search on a larger scale with Azure OpenAI and other services such as reranking or chat completions.</p><h2>Plenty more on the horizon</h2><p>This new extensibility is only one of many new features we are bringing to the AI table from Elastic. Bookmark <a href="https://www.elastic.co/search-labs">Elastic Search Labs</a> now to stay up to date! Ready to build RAG into your apps? Want to try different LLMs with a vector database? Check out our sample notebooks for LangChain, Cohere and more <a href="https://github.com/elastic/elasticsearch-labs">on Github</a>, and join the Elasticsearch <a href="https://www.elastic.co/training/elasticsearch-engineer">Engineer training</a> starting soon!</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-azure-openai-embeddings-support</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-azure-openai-embeddings-support</guid>
    <category><![CDATA[Vector Database]]></category>
    <category><![CDATA[AI]]></category>
    <dc:creator><![CDATA[Mark Hoy]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltdf867d9327b3b843/6a17d70b3e9e450670ba12da/1ea2acd6fcfea41d4f57ce576c0aebd416724129-1440x660.png" length="0" type="image/png"/>
    <pubDate>Wed, 22 May 2024 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Elasticsearch open inference API adds Azure AI Studio support]]></title>
    <description><![CDATA[Elasticsearch open inference API now supports Azure AI Studio. Learn how to use Azure AI Studio capabilities with Elasticsearch in this blog.]]></description>
    <content:encoded><![CDATA[<p>As part of our ongoing commitment to serve the Microsoft Azure developers with the tools of their choice, we are happy to announce that Elasticsearch now provides integration of the <a href="https://learn.microsoft.com/en-us/azure/ai-studio/how-to/model-catalog-overview">hosted model catalog</a> on Microsoft Azure AI Studio into our open inference API. This complements the ability for developers to bring their<a href="https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/azure-openai-service-expands-quot-on-your-data-quot-with/ba-p/4097023"> Elasticsearch vector database to be used in Azure OpenAI</a>.</p><p>Developers can use the capabilities of the world's most downloaded vector database to store and utilize embeddings generated from OpenAI models from Azure AI studio or access the wide array of chat completion model deployments for quick access to conversational models like <code>mistral-small</code>.</p><p>Just recently we've added support for Azure OpenAI <a href="https://www.elastic.co/search-labs/blog/elasticsearch-azure-openai-embeddings-support">text embeddings</a> and <a href="https://www.elastic.co/search-labs/blog/elasticsearch-azure-openai-completion-support">completion</a>, and now we've added support for utilizing Azure AI Studio. Microsoft Azure developers have complete access to Azure OpenAI &amp; Microsoft Azure AI Studio service capabilities and can <a href="https://www.elastic.co/search-labs/blog/azure-openai-on-your-data-elasticsearch-vector-database">bring their Elasticsearch</a> data to <a href="https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/azure-openai-service-expands-quot-on-your-data-quot-with/ba-p/4097023">revolutionize conversational search</a>.</p><p>Let's walk you through just how easily you can use these capabilities with Elasticsearch.</p><h2>Deploying a model in Azure AI Studio</h2><p>To get started, you'll need a <a href="https://azure.microsoft.com/">Microsoft Azure</a> subscription as well as access to <a href="https://ai.azure.com/">Azure AI Studio</a>. Once you are set up, you'll need to deploy either a text embedding model or a chat completion model from the <a href="https://ai.azure.com/explore/models">Azure AI Studio model catalog</a>. Once your model is deployed, on the deployment overview page take note of the target URL and your deployment's API key - you'll need these later to create your inference endpoint in Elasticsearch.</p><p>Furthermore, when you deploy your model, Azure offers two different types of deployment options - a “pay as you go” model (where you pay by the token), and a “realtime” deployment which is a dedicated VM that is billed by the hour. Not all models will have both deployment types available, so be sure to take note as well as which deployment type is used.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt51abed9b55573072/6a17d7016864a46975b685d7/fb111aa1bb5cf45f78b7eabb1c2eb0498c441773-763x319.png" alt="Azure AI Studio Deployment" /><h2>Creating an Inference API Endpoint in Elasticsearch</h2><p>Once your model is deployed, we can now create an endpoint for your inference task in Elasticsearch. For the examples below we are using the <a href="https://ai.azure.com/explore/models/Cohere-command-r/version/3/registry/azureml-cohere">Cohere Command R model</a> to perform chat completion.</p><p>In Elasticsearch, create your endpoint by providing the service as “azureaistudio”, and the service settings including your API key and target from your deployed model. You'll also need to provide the model provider, as well as the endpoint type from before (either “token” or “realtime”). In our example, we've deployed a Cohere model with a token type endpoint.</p>PUT _inference/completion/test_cohere_chat_completion
{
  "service": "azureaistudio",
  "service_settings": {
    "api_key": "&lt;&lt;API_KEY&gt;&gt;",
    "target": "&lt;&lt;TARGET_URL&gt;&gt;",
    "provider": "cohere",
    "endpoint_type": "token"
  }
}
<p>When you send Elasticsearch the command, it should return back the created model to confirm that it was successful. Note that the API key will never be returned and is stored in Elasticsearch's secure settings.</p>{
    "model_id": "test_cohere_chat_completion",
    "task_type": "completion",
    "service": "azureaistudio",
    "service_settings": {
        "target": "&lt;&lt;TARGET_URL&gt;&gt;",
        "provider": "cohere",
        "endpoint_type": "token"
    },
    "task_settings": {}
}
<p>Adding a model for using text embeddings is just as easy. For reference, if we had deployed the <a href="https://ai.azure.com/explore/models/Cohere-embed-v3-english/version/3/registry/azureml-cohere">Cohere-embed-v3-english model</a>, we can create our inference model in Elasticsearch with the “text_embeddings” task type by providing the appropriate API key and target URL from that deployment's overview page:</p>PUT _inference/text_embeddings/test_cohere_embeddings
{
  "service": "azureaistudio",
  "service_settings": {
    "api_key": "&lt;&lt;API_KEY&gt;&gt;",
    "target": "&lt;&lt;TARGET_URL&gt;&gt;",
    "provider": "cohere",
    "endpoint_type": "token"
  }
}
<h2>Let's perform some inference</h2><p>That's all there is to setting up your model. Now that that's out of the way, we can use the model. First, let's test the model out by asking it to provide some text given a simple prompt. To do this, we'll call the _inference API with our input text:</p>POST _inference/completion/test_cohere_chat_completion
{
  "input": "The answer to the universe is"
}
<p>And we should see Elasticsearch provide a response. Behind the scenes, Elasticsearch is calling out to Azure AI Studio with the input text and processes the results from the inference. In this case, we received the response:</p>{
    "completion": [
        {
            "result": "42. \n\nIn Douglas Adams' *The Hitchhiker's Guide to the Galaxy*, a super-computer named Deep Thought is asked what the answer to the ultimate question of life, the universe, and everything is. After calculating for 7.5-million years, Deep Thought announces that the answer is 42. \n\nThe number 42 has since become a reference to the novel, and many fans of the book series speculate as to what the actual question might be."
        }
    ]
}
<p>We've tried to make it easy for the end user to not have to deal with all the technical details behind the scenes, but we can also control our inference a bit more by providing additional parameters to control the processing such as sampling temperature and requesting the maximum number of tokens to be generated:</p>POST _inference/completion/test_cohere_chat_completion
{
  "input": "The answer to the universe is",
  "task_settings": {
    "temperature": 1.0,
    "do_sample": true,
    "max_new_tokens": 50
  }
}
<h2>That was easy. What else can we do?</h2><p>This becomes even more powerful when we are able to use our new model in other ways such as adding additional text to a document when it's used in an Elasticsearch ingestion pipeline. For example, the following pipeline definition will use our model and anytime a document using this pipeline is ingested, any text in the field “question_field” will be sent through the inference API and the response will be written to the “completed_text_answer” field in the document. This allows large batches of documents to be augmented.</p>PUT _ingest/pipeline/azure_ai_studio_cohere_completions
{
  "processors": [
    {
      "inference": {
        "model_id": "test_cohere_chat_completion", 
        "input_output": { 
          "input_field": "question_field",
          "output_field": "completed_text_answer"
        }
      }
    }
  ]
}
<h2>Limitless possibilities</h2><p>By harnessing the power of Azure AI Studio deployed models in your Elasticsearch inference pipelines, you can enhance your search experience's natural language processing and predictive analytics capabilities.</p><p>In upcoming versions of Elasticsearch, users can take advantage of new field mapping types that simplify the process even further where designing an ingest pipeline would no longer be necessary. Also, as alluded to in our <a href="https://www.elastic.co/search-labs/blog/elasticsearch-cohere-rerank#elasticsearchs-accelerated-roadmap-to-semantic-reranking-and-retrievers">accelerated roadmap for semantic search</a> the future will provide dramatically simplified support for inference tasks with Elasticsearch retrievers at query time.</p><p>These capabilities are available through the open inference API in our <a href="https://www.elastic.co/search-labs/blog/building-elastic-cloud-serverless">stateless offering</a> on Elastic Cloud. It'll also be soon available to everyone in an upcoming versioned Elasticsearch release.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-azure-ai-studio-support</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-azure-ai-studio-support</guid>
    <category><![CDATA[AI]]></category>
    <category><![CDATA[Vector Database]]></category>
    <dc:creator><![CDATA[Mark Hoy]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt857508512ce282f5/6a17d703e9ea87a89fa9c415/d5cfda5d59f5812a9819831938219a34c11a0bd9-1440x962.jpg" length="0" type="image/jpeg"/>
    <pubDate>Wed, 22 May 2024 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>