Como gerar inserções com modelos de Microsoft foundry (clássico)

Aplica-se somente a:Portal Foundry (clássico). Este artigo não está disponível para o novo portal do Foundry. Saiba mais sobre o novo portal.

Nota

Links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação da Foundry (clássica) que você está exibindo agora.

Importante

Azure SDK beta de inferência de IA foi preterido e será desativado em 26 de agosto de 2026. Mudar para a API OpenAI/v1 geralmente disponível com um SDK estável da OpenAI. Siga o guia de migração para alternar para OpenAI/v1 usando o SDK para sua linguagem de programação preferida.

Importante

Itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou ter recursos restritos. Para obter mais informações, consulte Supplemental Terms of Use for Microsoft Azure Previews.

Este artigo explica como usar a API de inserções com modelos implantados em modelos Microsoft Foundry.

Pré-requisitos

Para usar modelos de inserção em seu aplicativo, você precisa:

  • Instale o pacote de inferência de IA Azure para Python com o seguinte comando:

    pip install -U azure-ai-inference
    

Usar embeddings

Primeiro, crie o cliente para consumir o modelo. O código a seguir usa uma URL de ponto de extremidade e uma chave que são armazenadas em variáveis de ambiente.

import os
from azure.ai.inference import EmbeddingsClient
from azure.core.credentials import AzureKeyCredential

model = EmbeddingsClient(
    endpoint="https://<resource>.services.ai.azure.com/models",
    credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
    model="text-embedding-3-small"
)

Se você configurou o recurso com suporte Microsoft Entra ID, poderá usar o snippet de código a seguir para criar um cliente.

import os
from azure.ai.inference import EmbeddingsClient
from azure.identity import DefaultAzureCredential

model = EmbeddingsClient(
    endpoint="https://<resource>.services.ai.azure.com/models",
    credential=DefaultAzureCredential(),
    model="text-embedding-3-small"
)

Criar inserções

Crie uma solicitação de inserção para ver a saída do modelo.

response = model.embed(
    input=["The ultimate answer to the question of life"],
)

Dica

Ao criar uma solicitação, leve em conta o limite de entrada do token para o modelo. Se você precisar inserir partes maiores do texto, precisará de uma estratégia de agrupamento.

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

import numpy as np

for embed in response.data:
    print("Embedding of size:", np.asarray(embed.embedding).shape)

print("Model:", response.model)
print("Usage:", response.usage)

Pode ser útil calcular embeddings em lotes de entrada. O parâmetro inputs pode ser uma lista de cadeias de caracteres, em que cada cadeia de caracteres é uma entrada diferente. Por sua vez, a resposta é uma lista de inserções, em que cada inserção corresponde à entrada na mesma posição.

response = model.embed(
    input=[
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter",
    ],
)

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

import numpy as np

for embed in response.data:
    print("Embedding of size:", np.asarray(embed.embedding).shape)

print("Model:", response.model)
print("Usage:", response.usage)

Dica

Ao criar lotes de solicitação, leve em conta o limite do lote para cada um dos modelos. A maioria dos modelos tem um limite de lote de 1024.

Especificar dimensões de inserções

Você pode especificar o número de dimensões para as inserções. O código de exemplo a seguir mostra como criar inserções com dimensões 1024. Observe que nem todos os modelos de inserção são compatíveis indicando o número de dimensões na solicitação e, nesses casos, um erro 422 é retornado.

response = model.embed(
    input=["The ultimate answer to the question of life"],
    dimensions=1024,
)

Criar diferentes tipos de inserções

Alguns modelos podem gerar várias inserções para a mesma entrada, dependendo de como você planeja usá-las. Essa funcionalidade permite que você recupere inserções mais precisas para padrões RAG.

O exemplo a seguir mostra como criar inserções usadas para criar uma inserção para um documento que será armazenado em um banco de dados vetor:

from azure.ai.inference.models import EmbeddingInputType

response = model.embed(
    input=["The answer to the ultimate question of life, the universe, and everything is 42"],
    input_type=EmbeddingInputType.DOCUMENT,
)

Ao trabalhar em uma consulta para recuperar esse documento, você pode usar o snippet de código a seguir para criar as inserções para a consulta e maximizar o desempenho de recuperação.

from azure.ai.inference.models import EmbeddingInputType

response = model.embed(
    input=["What's the ultimate meaning of life?"],
    input_type=EmbeddingInputType.QUERY,
)

Observe que nem todos os modelos de inserção dão suporte à indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as inserções do tipo Text são retornadas.

Importante

Itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou ter recursos restritos. Para obter mais informações, consulte Supplemental Terms of Use for Microsoft Azure Previews.

Este artigo explica como usar a API de inserções com modelos implantados em modelos Microsoft Foundry.

Pré-requisitos

Para usar modelos de inserção em seu aplicativo, você precisa:

  • Instale a biblioteca de inferência Azure para JavaScript com o seguinte comando:

    npm install @azure-rest/ai-inference
    npm install @azure/core-auth
    npm install @azure/identity
    

    Se você estiver usando Node.js, poderá configurar as dependências no package.json:

    package.json

    {
      "name": "main_app",
      "version": "1.0.0",
      "description": "",
      "main": "app.js",
      "type": "module",
      "dependencies": {
        "@azure-rest/ai-inference": "1.0.0-beta.6",
        "@azure/core-auth": "1.9.0",
        "@azure/core-sse": "2.2.0",
        "@azure/identity": "4.8.0"
      }
    }
    
  • Importe o seguinte:

    import ModelClient from "@azure-rest/ai-inference";
    import { isUnexpected } from "@azure-rest/ai-inference";
    import { createSseStream } from "@azure/core-sse";
    import { AzureKeyCredential } from "@azure/core-auth";
    import { DefaultAzureCredential } from "@azure/identity";
    

Usar embeddings

Primeiro, crie o cliente para consumir o modelo. O código a seguir usa uma URL de ponto de extremidade e uma chave que são armazenadas em variáveis de ambiente.

const client = ModelClient(
    "https://<resource>.services.ai.azure.com/models", 
    new AzureKeyCredential(process.env.AZURE_INFERENCE_CREDENTIAL)
);

Se você configurou o recurso com suporte Microsoft Entra ID, poderá usar o snippet de código a seguir para criar um cliente.

const clientOptions = { credentials: { "https://cognitiveservices.azure.com" } };

const client = ModelClient(
    "https://<resource>.services.ai.azure.com/models", 
    new DefaultAzureCredential()
    clientOptions,
);

Criar inserções

Crie uma solicitação de inserção para ver a saída do modelo.

var response = await client.path("/embeddings").post({
    body: {
        model: "text-embedding-3-small",
        input: ["The ultimate answer to the question of life"],
    }
});

Dica

Ao criar uma solicitação, leve em conta o limite de entrada do token para o modelo. Se você precisar inserir partes maiores do texto, precisará de uma estratégia de agrupamento.

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

if (isUnexpected(response)) {
    throw response.body.error;
}

console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);

Pode ser útil calcular embeddings em lotes de entrada. O parâmetro inputs pode ser uma lista de cadeias de caracteres, em que cada cadeia de caracteres é uma entrada diferente. Por sua vez, a resposta é uma lista de inserções, em que cada inserção corresponde à entrada na mesma posição.

var response = await client.path("/embeddings").post({
    body: {
        model: "text-embedding-3-small",
        input: [
            "The ultimate answer to the question of life", 
            "The largest planet in our solar system is Jupiter",
        ],
    }
});

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

if (isUnexpected(response)) {
    throw response.body.error;
}

console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);

Dica

Ao criar lotes de solicitação, leve em conta o limite do lote para cada um dos modelos. A maioria dos modelos tem um limite de lote de 1024.

Especificar dimensões de inserções

Você pode especificar o número de dimensões para as inserções. O código de exemplo a seguir mostra como criar inserções com dimensões 1024. Observe que nem todos os modelos de inserção são compatíveis indicando o número de dimensões na solicitação e, nesses casos, um erro 422 é retornado.

var response = await client.path("/embeddings").post({
    body: {
        model: "text-embedding-3-small",
        input: ["The ultimate answer to the question of life"],
        dimensions: 1024,
    }
});

Criar diferentes tipos de inserções

Alguns modelos podem gerar várias inserções para a mesma entrada, dependendo de como você planeja usá-las. Essa funcionalidade permite que você recupere inserções mais precisas para padrões RAG.

O exemplo a seguir mostra como criar inserções usadas para criar uma inserção para um documento que será armazenado em um banco de dados vetor:

var response = await client.path("/embeddings").post({
    body: {
        model: "text-embedding-3-small",
        input: ["The answer to the ultimate question of life, the universe, and everything is 42"],
        input_type: "document",
    }
});

Ao trabalhar em uma consulta para recuperar esse documento, você pode usar o snippet de código a seguir para criar as inserções para a consulta e maximizar o desempenho de recuperação.

var response = await client.path("/embeddings").post({
    body: {
        model: "text-embedding-3-small",
        input: ["What's the ultimate meaning of life?"],
        input_type: "query",
    }
});

Observe que nem todos os modelos de inserção dão suporte à indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as inserções do tipo Text são retornadas.

Importante

Itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou ter recursos restritos. Para obter mais informações, consulte Supplemental Terms of Use for Microsoft Azure Previews.

Este artigo explica como usar a API de inserções com modelos implantados em modelos Microsoft Foundry.

Pré-requisitos

Para usar modelos de inserção em seu aplicativo, você precisa:

  • Adicione o pacote de inferência de IA Azure ao seu projeto:

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-inference</artifactId>
        <version>1.0.0-beta.4</version>
    </dependency>
    
  • Se você estiver usando Entra ID, também precisará do seguinte pacote:

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-identity</artifactId>
        <version>1.15.3</version>
    </dependency>
    
  • Importe o seguinte namespace:

    package com.azure.ai.inference.usage;
    
    import com.azure.ai.inference.EmbeddingsClient;
    import com.azure.ai.inference.EmbeddingsClientBuilder;
    import com.azure.ai.inference.ChatCompletionsClient;
    import com.azure.ai.inference.ChatCompletionsClientBuilder;
    import com.azure.ai.inference.models.EmbeddingsResult;
    import com.azure.ai.inference.models.EmbeddingItem;
    import com.azure.ai.inference.models.ChatCompletions;
    import com.azure.core.credential.AzureKeyCredential;
    import com.azure.core.util.Configuration;
    
    import java.util.ArrayList;
    import java.util.List;
    
  • Importe o seguinte namespace:

    package com.azure.ai.inference.usage;
    
    import com.azure.ai.inference.EmbeddingsClient;
    import com.azure.ai.inference.EmbeddingsClientBuilder;
    import com.azure.ai.inference.models.EmbeddingsResult;
    import com.azure.ai.inference.models.EmbeddingItem;
    import com.azure.core.credential.AzureKeyCredential;
    import com.azure.core.util.Configuration;
    
    import java.util.ArrayList;
    import java.util.List;
    
  • Implantação de um modelo de embeddings. Se você não tiver um, leia Adicione e configure modelos Foundry para adicionar um modelo de embeddings ao seu recurso.

Usar inserções

Primeiro, crie o cliente para consumir o modelo. O código a seguir usa uma URL de ponto de extremidade e uma chave que são armazenadas em variáveis de ambiente.

EmbeddingsClient client = new EmbeddingsClient(
    URI.create(System.getProperty("AZURE_INFERENCE_ENDPOINT")),
    new AzureKeyCredential(System.getProperty("AZURE_INFERENCE_CREDENTIAL")),
    "text-embedding-3-small"
);

Se você configurou o recurso com suporte Microsoft Entra ID, poderá usar o snippet de código a seguir para criar um cliente.

client = new EmbeddingsClient(
    URI.create(System.getProperty("AZURE_INFERENCE_ENDPOINT")),
    new DefaultAzureCredential(),
    "text-embedding-3-small"
);

Criar inserções

Crie uma solicitação de inserção para ver a saída do modelo.

EmbeddingsOptions requestOptions = new EmbeddingsOptions()
    .setInput(Arrays.asList("The ultimate answer to the question of life"));

Response<EmbeddingsResult> response = client.embed(requestOptions);

Dica

Ao criar uma solicitação, leve em conta o limite de entrada do token para o modelo. Se você precisar inserir partes maiores do texto, precisará de uma estratégia de agrupamento.

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

System.out.println("Embedding: " + response.getValue().getData());
System.out.println("Model: " + response.getValue().getModel());
System.out.println("Usage:");
System.out.println("\tPrompt tokens: " + response.getValue().getUsage().getPromptTokens());
System.out.println("\tTotal tokens: " + response.getValue().getUsage().getTotalTokens());

Pode ser útil calcular embeddings em lotes de entrada. O parâmetro inputs pode ser uma lista de cadeias de caracteres, em que cada cadeia de caracteres é uma entrada diferente. Por sua vez, a resposta é uma lista de inserções, em que cada inserção corresponde à entrada na mesma posição.

requestOptions = new EmbeddingsOptions()
    .setInput(Arrays.asList(
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter"
    ));

response = client.embed(requestOptions);

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

Dica

Ao criar lotes de solicitação, leve em conta o limite do lote para cada um dos modelos. A maioria dos modelos tem um limite de lote de 1024.

Especificar dimensões de inserções

Você pode especificar o número de dimensões para as inserções. O código de exemplo a seguir mostra como criar inserções com dimensões 1024. Observe que nem todos os modelos de inserção são compatíveis indicando o número de dimensões na solicitação e, nesses casos, um erro 422 é retornado.

Criar diferentes tipos de inserções

Alguns modelos podem gerar várias inserções para a mesma entrada, dependendo de como você planeja usá-las. Essa funcionalidade permite que você recupere inserções mais precisas para padrões RAG.

O exemplo a seguir mostra como criar inserções usadas para criar uma inserção para um documento que será armazenado em um banco de dados vetor:

List<String> input = Arrays.asList("The answer to the ultimate question of life, the universe, and everything is 42");
requestOptions = new EmbeddingsOptions(input, EmbeddingInputType.DOCUMENT);

response = client.embed(requestOptions);

Ao trabalhar em uma consulta para recuperar esse documento, você pode usar o snippet de código a seguir para criar as inserções para a consulta e maximizar o desempenho de recuperação.

input = Arrays.asList("What's the ultimate meaning of life?");
requestOptions = new EmbeddingsOptions(input, EmbeddingInputType.QUERY);

response = client.embed(requestOptions);

Observe que nem todos os modelos de inserção dão suporte à indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as inserções do tipo Text são retornadas.

Importante

Itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou ter recursos restritos. Para obter mais informações, consulte Supplemental Terms of Use for Microsoft Azure Previews.

Este artigo explica como usar a API de inserções com modelos implantados em modelos Microsoft Foundry.

Pré-requisitos

Para usar modelos de inserção em seu aplicativo, você precisa:

  • Instale o pacote de inferência de IA Azure com o seguinte comando:

    dotnet add package Azure.AI.Inference --prerelease
    
  • Se você estiver usando Entra ID, também precisará do seguinte pacote:

    dotnet add package Azure.Identity
    

Usar inserções

Primeiro, crie o cliente para consumir o modelo. O código a seguir usa uma URL de ponto de extremidade e uma chave que são armazenadas em variáveis de ambiente.

EmbeddingsClient client = new EmbeddingsClient(
    new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
    new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL"))
);

Se você configurou o recurso com suporte Microsoft Entra ID, poderá usar o snippet de código a seguir para criar um cliente. Observe que aqui includeInteractiveCredentials é definido como true apenas para fins de demonstração, para que a autenticação possa ocorrer usando o navegador da web. Nas cargas de trabalho de produção, você deve remover esse parâmetro.

TokenCredential credential = new DefaultAzureCredential(includeInteractiveCredentials: true);
AzureAIInferenceClientOptions clientOptions = new AzureAIInferenceClientOptions();
BearerTokenAuthenticationPolicy tokenPolicy = new BearerTokenAuthenticationPolicy(credential, new string[] { "https://cognitiveservices.azure.com/.default" });

clientOptions.AddPolicy(tokenPolicy, HttpPipelinePosition.PerRetry);

client = new EmbeddingsClient(
    new Uri("https://<resource>.services.ai.azure.com/models"),
    credential,
    clientOptions,
);

Criar inserções

Crie uma solicitação de inserção para ver a saída do modelo.

EmbeddingsOptions requestOptions = new EmbeddingsOptions()
{
    Input = {
        "The ultimate answer to the question of life"
    },
    Model = "text-embedding-3-small"
};

Response<EmbeddingsResult> response = client.Embed(requestOptions);

Dica

Ao criar uma solicitação, leve em conta o limite de entrada do token para o modelo. Se você precisar inserir partes maiores do texto, precisará de uma estratégia de agrupamento.

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

Console.WriteLine($"Embedding: {response.Value.Data}");
Console.WriteLine($"Model: {response.Value.Model}");
Console.WriteLine("Usage:");
Console.WriteLine($"\tPrompt tokens: {response.Value.Usage.PromptTokens}");
Console.WriteLine($"\tTotal tokens: {response.Value.Usage.TotalTokens}");

Pode ser útil calcular embeddings em lotes de entrada. O parâmetro inputs pode ser uma lista de cadeias de caracteres, em que cada cadeia de caracteres é uma entrada diferente. Por sua vez, a resposta é uma lista de inserções, em que cada inserção corresponde à entrada na mesma posição.

EmbeddingsOptions requestOptions = new EmbeddingsOptions()
{
    Input = {
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter"
    },
    Model = "text-embedding-3-small"
};

Response<EmbeddingsResult> response = client.Embed(requestOptions);

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

Dica

Ao criar lotes de solicitação, leve em conta o limite do lote para cada um dos modelos. A maioria dos modelos tem um limite de lote de 1024.

Especificar dimensões de inserções

Você pode especificar o número de dimensões para as inserções. O código de exemplo a seguir mostra como criar inserções com dimensões 1024. Observe que nem todos os modelos de inserção são compatíveis indicando o número de dimensões na solicitação e, nesses casos, um erro 422 é retornado.

Criar diferentes tipos de inserções

Alguns modelos podem gerar várias inserções para a mesma entrada, dependendo de como você planeja usá-las. Essa funcionalidade permite que você recupere inserções mais precisas para padrões RAG.

O exemplo a seguir mostra como criar inserções usadas para criar uma inserção para um documento que será armazenado em um banco de dados vetor:

var input = new List<string> { 
    "The answer to the ultimate question of life, the universe, and everything is 42"
};
var requestOptions = new EmbeddingsOptions()
{
    Input = input,
    InputType = EmbeddingInputType.DOCUMENT, 
    Model = "text-embedding-3-small"
};

Response<EmbeddingsResult> response = client.Embed(requestOptions);

Ao trabalhar em uma consulta para recuperar esse documento, você pode usar o snippet de código a seguir para criar as inserções para a consulta e maximizar o desempenho de recuperação.

var input = new List<string> { 
    "What's the ultimate meaning of life?"
};
var requestOptions = new EmbeddingsOptions()
{
    Input = input,
    InputType = EmbeddingInputType.QUERY,
    Model = "text-embedding-3-small"
};

Response<EmbeddingsResult> response = client.Embed(requestOptions);

Observe que nem todos os modelos de inserção dão suporte à indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as inserções do tipo Text são retornadas.

Importante

Itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou ter recursos restritos. Para obter mais informações, consulte Supplemental Terms of Use for Microsoft Azure Previews.

Este artigo explica como usar a API de inserções com modelos implantados em modelos Microsoft Foundry.

Pré-requisitos

Para usar modelos de inserção em seu aplicativo, você precisa:

Usar inserções

Para usar as inserções de texto, use a rota /embeddings acrescentada à URL base junto com a credencial indicada em api-key. Authorization o cabeçalho é também suportado com o formato Bearer <key>.

POST https://<resource>.services.ai.azure.com/models/embeddings?api-version=2024-05-01-preview
Content-Type: application/json
api-key: <key>

Se você configurou o recurso com suporte Microsoft Entra ID, passe o token no cabeçalho Authorization com o formato Bearer <token>. Use o escopo https://ai.azure.com/.default.

POST https://<resource>.services.ai.azure.com/models/embeddings?api-version=2024-05-01-preview
Content-Type: application/json
Authorization: Bearer <token>

Usar Microsoft Entra ID pode exigir uma configuração adicional em seu recurso para conceder acesso. Saiba como configure autenticação sem chave com Microsoft Entra ID.

Criar inserções

Crie uma solicitação de inserção para ver a saída do modelo.

{
    "model": "text-embedding-3-small",
    "input": [
        "The ultimate answer to the question of life"
    ]
}

Dica

Ao criar uma solicitação, leve em conta o limite de entrada do token para o modelo. Se você precisar inserir partes maiores do texto, precisará de uma estratégia de agrupamento.

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

{
    "id": "0ab1234c-d5e6-7fgh-i890-j1234k123456",
    "object": "list",
    "data": [
        {
            "index": 0,
            "object": "embedding",
            "embedding": [
                0.017196655,
                // ...
                -0.000687122,
                -0.025054932,
                -0.015777588
            ]
        }
    ],
    "model": "text-embedding-3-small",
    "usage": {
        "prompt_tokens": 9,
        "completion_tokens": 0,
        "total_tokens": 9
    }
}

Pode ser útil calcular embeddings em lotes de entrada. O parâmetro inputs pode ser uma lista de cadeias de caracteres, em que cada cadeia de caracteres é uma entrada diferente. Por sua vez, a resposta é uma lista de inserções, em que cada inserção corresponde à entrada na mesma posição.

{
    "model": "text-embedding-3-small",
    "input": [
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter"
    ]
}

A resposta é a seguinte, em que você pode ver as estatísticas de uso do modelo:

{
    "id": "0ab1234c-d5e6-7fgh-i890-j1234k123456",
    "object": "list",
    "data": [
        {
            "index": 0,
            "object": "embedding",
            "embedding": [
                0.017196655,
                // ...
                -0.000687122,
                -0.025054932,
                -0.015777588
            ]
        },
        {
            "index": 1,
            "object": "embedding",
            "embedding": [
                0.017196655,
                // ...
                -0.000687122,
                -0.025054932,
                -0.015777588
            ]
        }
    ],
    "model": "text-embedding-3-small",
    "usage": {
        "prompt_tokens": 19,
        "completion_tokens": 0,
        "total_tokens": 19
    }
}

Dica

Ao criar lotes de solicitação, leve em conta o limite do lote para cada um dos modelos. A maioria dos modelos tem um limite de lote de 1024.

Especificar dimensões de inserções

Você pode especificar o número de dimensões para as inserções. O código de exemplo a seguir mostra como criar inserções com dimensões 1024. Observe que nem todos os modelos de inserção são compatíveis indicando o número de dimensões na solicitação e, nesses casos, um erro 422 é retornado.

{
    "model": "text-embedding-3-small",
    "input": [
        "The ultimate answer to the question of life"
    ],
    "dimensions": 1024
}

Criar diferentes tipos de inserções

Alguns modelos podem gerar várias inserções para a mesma entrada, dependendo de como você planeja usá-las. Essa funcionalidade permite que você recupere inserções mais precisas para padrões RAG.

O exemplo a seguir mostra como criar inserções usadas para criar uma inserção para um documento que será armazenado em um banco de dados de vetor. Como text-embedding-3-small não há suporte para essa funcionalidade, estamos usando um modelo de inserção do Cohere no exemplo a seguir:

{
    "model": "cohere-embed-v3-english",
    "input": [
        "The answer to the ultimate question of life, the universe, and everything is 42"
    ],
    "input_type": "document"
}

Ao trabalhar em uma consulta para recuperar esse documento, você pode usar o snippet de código a seguir para criar as inserções para a consulta e maximizar o desempenho de recuperação. Como text-embedding-3-small não há suporte para essa funcionalidade, estamos usando um modelo de inserção do Cohere no exemplo a seguir:

{
    "model": "cohere-embed-v3-english",
    "input": [
        "What's the ultimate meaning of life?"
    ],
    "input_type": "query"
}

Observe que nem todos os modelos de inserção dão suporte à indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as inserções do tipo Text são retornadas.