Como gerar incorporações com inferência de modelo de IA do Azure
Importante
Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Este artigo explica como usar a API de incorporação com modelos implantados na inferência de modelo de IA do Azure nos serviços de IA do Azure.
Pré-requisitos
Para usar modelos de incorporação em seu aplicativo, você precisa:
Uma subscrição do Azure. Se você estiver usando Modelos do GitHub, poderá atualizar sua experiência e criar uma assinatura do Azure no processo. Leia Atualização de modelos do GitHub para inferência de modelo de IA do Azure, se esse for o seu caso.
Um recurso de serviços de IA do Azure. Para obter mais informações, consulte Criar um recurso dos Serviços de IA do Azure.
A URL e a chave do ponto de extremidade.
Uma implantação de modelo de incorporação. Se você não tiver um, leia Adicionar e configurar modelos aos serviços de IA do Azure para adicionar um modelo de incorporação ao seu recurso.
Instale o pacote de inferência do Azure AI com o seguinte comando:
pip install -U azure-ai-inference
Gorjeta
Leia mais sobre o pacote de inferência e a referência da IA do Azure.
Usar incorporaçõ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.
import os
from azure.ai.inference import EmbeddingsClient
from azure.core.credentials import AzureKeyCredential
model = EmbeddingsClient(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
model="text-embedding-3-small"
)
Se você configurou o recurso para com suporte a ID do Microsoft Entra, você pode usar o trecho de código a seguir para criar um cliente.
import os
from azure.ai.inference import EmbeddingsClient
from azure.core.credentials import AzureKeyCredential
model = EmbeddingsClient(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=DefaultAzureCredential(),
model="text-embedding-3-small"
)
Criar incorporações
Crie uma solicitação de incorporação para ver a saída do modelo.
response = model.embed(
input=["The ultimate answer to the question of life"],
)
Gorjeta
Ao criar uma solicitação, leve em consideração o limite de entrada do token para o modelo. Se você precisar incorporar partes maiores de texto, precisará de uma estratégia de fragmentação.
A resposta é a seguinte, onde você pode ver as estatísticas de uso do modelo:
import numpy as np
for embed in response.data:
print("Embeding of size:", np.asarray(embed.embedding).shape)
print("Model:", response.model)
print("Usage:", response.usage)
Pode ser útil calcular incorporações em lotes de entrada. O parâmetro inputs
pode ser uma lista de strings, onde cada string é uma entrada diferente. Por sua vez, a resposta é uma lista de incorporações, onde cada incorporaçã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, onde você pode ver as estatísticas de uso do modelo:
import numpy as np
for embed in response.data:
print("Embeding of size:", np.asarray(embed.embedding).shape)
print("Model:", response.model)
print("Usage:", response.usage)
Gorjeta
Ao criar lotes de solicitação, leve em consideração o limite de lote para cada um dos modelos. A maioria dos modelos tem um limite de lote 1024.
Especificar dimensões de incorporação
Você pode especificar o número de dimensões para as incorporações. O código de exemplo a seguir mostra como criar incorporações com dimensões 1024. Observe que nem todos os modelos de incorporação suportam a indicação do 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,
)
Crie diferentes tipos de incorporações
Alguns modelos podem gerar várias incorporações para a mesma entrada, dependendo de como você planeja usá-las. Esse recurso permite que você recupere incorporações mais precisas para padrões RAG.
O exemplo a seguir mostra como criar incorporações que são usadas para criar uma incorporação para um documento que será armazenado em um banco de dados vetorial:
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 trecho de código a seguir para criar as incorporaçõ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 incorporação suportam a indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as incorporações do tipo Text
são retornadas.
Importante
Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Este artigo explica como usar a API de incorporação com modelos implantados na inferência de modelo de IA do Azure nos serviços de IA do Azure.
Pré-requisitos
Para usar modelos de incorporação em seu aplicativo, você precisa:
Uma subscrição do Azure. Se você estiver usando Modelos do GitHub, poderá atualizar sua experiência e criar uma assinatura do Azure no processo. Leia Atualização de modelos do GitHub para inferência de modelo de IA do Azure, se esse for o seu caso.
Um recurso de serviços de IA do Azure. Para obter mais informações, consulte Criar um recurso dos Serviços de IA do Azure.
A URL e a chave do ponto de extremidade.
Uma implantação de modelo de incorporação. Se você não tiver um, leia Adicionar e configurar modelos aos serviços de IA do Azure para adicionar um modelo de incorporação ao seu recurso.
Instale a biblioteca de inferência do Azure para JavaScript com o seguinte comando:
npm install @azure-rest/ai-inference
Gorjeta
Leia mais sobre o pacote de inferência e a referência da IA do Azure.
Usar incorporaçõ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.
import ModelClient from "@azure-rest/ai-inference";
import { isUnexpected } from "@azure-rest/ai-inference";
import { AzureKeyCredential } from "@azure/core-auth";
const client = new ModelClient(
process.env.AZURE_INFERENCE_ENDPOINT,
new AzureKeyCredential(process.env.AZURE_INFERENCE_CREDENTIAL),
"text-embedding-3-small"
);
Se você configurou o recurso para com suporte a ID do Microsoft Entra, você pode usar o trecho de código a seguir para criar um cliente.
import ModelClient from "@azure-rest/ai-inference";
import { isUnexpected } from "@azure-rest/ai-inference";
import { DefaultAzureCredential } from "@azure/identity";
const client = new ModelClient(
process.env.AZURE_INFERENCE_ENDPOINT,
new DefaultAzureCredential(),
"text-embedding-3-small"
);
Criar incorporações
Crie uma solicitação de incorporação para ver a saída do modelo.
var response = await client.path("/embeddings").post({
body: {
input: ["The ultimate answer to the question of life"],
}
});
Gorjeta
Ao criar uma solicitação, leve em consideração o limite de entrada do token para o modelo. Se você precisar incorporar partes maiores de texto, precisará de uma estratégia de fragmentação.
A resposta é a seguinte, onde 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 incorporações em lotes de entrada. O parâmetro inputs
pode ser uma lista de strings, onde cada string é uma entrada diferente. Por sua vez, a resposta é uma lista de incorporações, onde cada incorporação corresponde à entrada na mesma posição.
var response = await client.path("/embeddings").post({
body: {
input: [
"The ultimate answer to the question of life",
"The largest planet in our solar system is Jupiter",
],
}
});
A resposta é a seguinte, onde 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);
Gorjeta
Ao criar lotes de solicitação, leve em consideração o limite de lote para cada um dos modelos. A maioria dos modelos tem um limite de lote 1024.
Especificar dimensões de incorporação
Você pode especificar o número de dimensões para as incorporações. O código de exemplo a seguir mostra como criar incorporações com dimensões 1024. Observe que nem todos os modelos de incorporação suportam a indicação do número de dimensões na solicitação e, nesses casos, um erro 422 é retornado.
var response = await client.path("/embeddings").post({
body: {
input: ["The ultimate answer to the question of life"],
dimensions: 1024,
}
});
Crie diferentes tipos de incorporações
Alguns modelos podem gerar várias incorporações para a mesma entrada, dependendo de como você planeja usá-las. Esse recurso permite que você recupere incorporações mais precisas para padrões RAG.
O exemplo a seguir mostra como criar incorporações que são usadas para criar uma incorporação para um documento que será armazenado em um banco de dados vetorial:
var response = await client.path("/embeddings").post({
body: {
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 trecho de código a seguir para criar as incorporações para a consulta e maximizar o desempenho de recuperação.
var response = await client.path("/embeddings").post({
body: {
input: ["What's the ultimate meaning of life?"],
input_type: "query",
}
});
Observe que nem todos os modelos de incorporação suportam a indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as incorporações do tipo Text
são retornadas.
Importante
Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Este artigo explica como usar a API de incorporação com modelos implantados na inferência de modelo de IA do Azure nos serviços de IA do Azure.
Pré-requisitos
Para usar modelos de incorporação em seu aplicativo, você precisa:
Uma subscrição do Azure. Se você estiver usando Modelos do GitHub, poderá atualizar sua experiência e criar uma assinatura do Azure no processo. Leia Atualização de modelos do GitHub para inferência de modelo de IA do Azure, se esse for o seu caso.
Um recurso de serviços de IA do Azure. Para obter mais informações, consulte Criar um recurso dos Serviços de IA do Azure.
A URL e a chave do ponto de extremidade.
Uma implantação de modelo de incorporação. Se você não tiver um, leia Adicionar e configurar modelos aos serviços de IA do Azure para adicionar um modelo de incorporação ao seu recurso.
Adicione o pacote de inferência do Azure AI ao seu projeto:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-ai-inference</artifactId> <version>1.0.0-beta.1</version> </dependency>
Gorjeta
Leia mais sobre o pacote de inferência e a referência da IA do Azure.
Se você estiver usando o Entra ID, você também precisa do seguinte pacote:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.13.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.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;
Usar incorporaçõ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 para com suporte a ID do Microsoft Entra, você pode usar o trecho 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 incorporações
Crie uma solicitação de incorporaçã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);
Gorjeta
Ao criar uma solicitação, leve em consideração o limite de entrada do token para o modelo. Se você precisar incorporar partes maiores de texto, precisará de uma estratégia de fragmentação.
A resposta é a seguinte, onde 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 incorporações em lotes de entrada. O parâmetro inputs
pode ser uma lista de strings, onde cada string é uma entrada diferente. Por sua vez, a resposta é uma lista de incorporações, onde cada incorporaçã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, onde você pode ver as estatísticas de uso do modelo:
Gorjeta
Ao criar lotes de solicitação, leve em consideração o limite de lote para cada um dos modelos. A maioria dos modelos tem um limite de lote 1024.
Especificar dimensões de incorporação
Você pode especificar o número de dimensões para as incorporações. O código de exemplo a seguir mostra como criar incorporações com dimensões 1024. Observe que nem todos os modelos de incorporação suportam a indicação do número de dimensões na solicitação e, nesses casos, um erro 422 é retornado.
Crie diferentes tipos de incorporações
Alguns modelos podem gerar várias incorporações para a mesma entrada, dependendo de como você planeja usá-las. Esse recurso permite que você recupere incorporações mais precisas para padrões RAG.
O exemplo a seguir mostra como criar incorporações que são usadas para criar uma incorporação para um documento que será armazenado em um banco de dados vetorial:
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 trecho de código a seguir para criar as incorporaçõ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 incorporação suportam a indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as incorporações do tipo Text
são retornadas.
Importante
Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Este artigo explica como usar a API de incorporação com modelos implantados na inferência de modelo de IA do Azure nos serviços de IA do Azure.
Pré-requisitos
Para usar modelos de incorporação em seu aplicativo, você precisa:
Uma subscrição do Azure. Se você estiver usando Modelos do GitHub, poderá atualizar sua experiência e criar uma assinatura do Azure no processo. Leia Atualização de modelos do GitHub para inferência de modelo de IA do Azure, se esse for o seu caso.
Um recurso de serviços de IA do Azure. Para obter mais informações, consulte Criar um recurso dos Serviços de IA do Azure.
A URL e a chave do ponto de extremidade.
Uma implantação de modelo de incorporação. Se você não tiver um, leia Adicionar e configurar modelos aos serviços de IA do Azure para adicionar um modelo de incorporação ao seu recurso.
Instale o pacote de inferência do Azure AI com o seguinte comando:
dotnet add package Azure.AI.Inference --prerelease
Gorjeta
Leia mais sobre o pacote de inferência e a referência da IA do Azure.
Se você estiver usando o Entra ID, você também precisa do seguinte pacote:
dotnet add package Azure.Identity
Usar incorporaçõ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")),
"text-embedding-3-small"
);
Se você configurou o recurso para com suporte a ID do Microsoft Entra, você pode usar o trecho de código a seguir para criar um cliente.
client = new EmbeddingsClient(
new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
new DefaultAzureCredential(includeInteractiveCredentials: true),
"text-embedding-3-small"
);
Criar incorporações
Crie uma solicitação de incorporação para ver a saída do modelo.
EmbeddingsOptions requestOptions = new EmbeddingsOptions()
{
Input = {
"The ultimate answer to the question of life"
},
};
Response<EmbeddingsResult> response = client.Embed(requestOptions);
Gorjeta
Ao criar uma solicitação, leve em consideração o limite de entrada do token para o modelo. Se você precisar incorporar partes maiores de texto, precisará de uma estratégia de fragmentação.
A resposta é a seguinte, onde 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 incorporações em lotes de entrada. O parâmetro inputs
pode ser uma lista de strings, onde cada string é uma entrada diferente. Por sua vez, a resposta é uma lista de incorporações, onde cada incorporaçã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"
},
};
Response<EmbeddingsResult> response = client.Embed(requestOptions);
A resposta é a seguinte, onde você pode ver as estatísticas de uso do modelo:
Gorjeta
Ao criar lotes de solicitação, leve em consideração o limite de lote para cada um dos modelos. A maioria dos modelos tem um limite de lote 1024.
Especificar dimensões de incorporação
Você pode especificar o número de dimensões para as incorporações. O código de exemplo a seguir mostra como criar incorporações com dimensões 1024. Observe que nem todos os modelos de incorporação suportam a indicação do número de dimensões na solicitação e, nesses casos, um erro 422 é retornado.
Crie diferentes tipos de incorporações
Alguns modelos podem gerar várias incorporações para a mesma entrada, dependendo de como você planeja usá-las. Esse recurso permite que você recupere incorporações mais precisas para padrões RAG.
O exemplo a seguir mostra como criar incorporações que são usadas para criar uma incorporação para um documento que será armazenado em um banco de dados vetorial:
var input = new List<string> {
"The answer to the ultimate question of life, the universe, and everything is 42"
};
var requestOptions = new EmbeddingsOptions(input, EmbeddingInputType.DOCUMENT);
Response<EmbeddingsResult> response = client.Embed(requestOptions);
Ao trabalhar em uma consulta para recuperar esse documento, você pode usar o trecho de código a seguir para criar as incorporaçõ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, EmbeddingInputType.QUERY);
Response<EmbeddingsResult> response = client.Embed(requestOptions);
Observe que nem todos os modelos de incorporação suportam a indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as incorporações do tipo Text
são retornadas.
Importante
Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Este artigo explica como usar a API de incorporação com modelos implantados na inferência de modelo de IA do Azure nos serviços de IA do Azure.
Pré-requisitos
Para usar modelos de incorporação em seu aplicativo, você precisa:
Uma subscrição do Azure. Se você estiver usando Modelos do GitHub, poderá atualizar sua experiência e criar uma assinatura do Azure no processo. Leia Atualização de modelos do GitHub para inferência de modelo de IA do Azure, se esse for o seu caso.
Um recurso de serviços de IA do Azure. Para obter mais informações, consulte Criar um recurso dos Serviços de IA do Azure.
A URL e a chave do ponto de extremidade.
- Uma implantação de modelo de incorporação. Se você não tiver um, leia Adicionar e configurar modelos aos serviços de IA do Azure para adicionar um modelo de incorporação ao seu recurso.
Usar incorporações
Para usar as incorporações de texto, use a rota /embeddings
anexada à URL base junto com sua credencial indicada em api-key
.
Authorization
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 ao Microsoft Entra ID , passe o Authorization
token no cabeçalho:
POST https://<resource>.services.ai.azure.com/models/embeddings?api-version=2024-05-01-preview
Content-Type: application/json
Authorization: Bearer <token>
Criar incorporações
Crie uma solicitação de incorporação para ver a saída do modelo.
{
"model": "text-embedding-3-small",
"input": [
"The ultimate answer to the question of life"
]
}
Gorjeta
Ao criar uma solicitação, leve em consideração o limite de entrada do token para o modelo. Se você precisar incorporar partes maiores de texto, precisará de uma estratégia de fragmentação.
A resposta é a seguinte, onde 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 incorporações em lotes de entrada. O parâmetro inputs
pode ser uma lista de strings, onde cada string é uma entrada diferente. Por sua vez, a resposta é uma lista de incorporações, onde cada incorporaçã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, onde 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
}
}
Gorjeta
Ao criar lotes de solicitação, leve em consideração o limite de lote para cada um dos modelos. A maioria dos modelos tem um limite de lote 1024.
Especificar dimensões de incorporação
Você pode especificar o número de dimensões para as incorporações. O código de exemplo a seguir mostra como criar incorporações com dimensões 1024. Observe que nem todos os modelos de incorporação suportam a indicação do 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
}
Crie diferentes tipos de incorporações
Alguns modelos podem gerar várias incorporações para a mesma entrada, dependendo de como você planeja usá-las. Esse recurso permite que você recupere incorporações mais precisas para padrões RAG.
O exemplo a seguir mostra como criar incorporações que são usadas para criar uma incorporação para um documento que será armazenado em um banco de dados vetorial. Como text-embedding-3-small
não suporta esse recurso, estamos usando um modelo de incorporação da 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 trecho de código a seguir para criar as incorporações para a consulta e maximizar o desempenho de recuperação. Como text-embedding-3-small
não suporta esse recurso, estamos usando um modelo de incorporação da 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 incorporação suportam a indicação do tipo de entrada na solicitação e, nesses casos, um erro 422 é retornado. Por padrão, as incorporações do tipo Text
são retornadas.