Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
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 de imagem com modelos de Microsoft foundry.
Pré-requisitos
Para usar modelos de inserção em seu aplicativo, você precisa:
Uma assinatura Azure. Se você estiver usando modelos GitHub, poderá atualizar sua experiência e criar uma assinatura Azure no processo. Leia a Atualização dos Modelos do GitHub nos Modelos da Fábrica da Microsoft, se esse for seu caso.
Um projeto do Foundry. Esse tipo de projeto é gerenciado sob um recurso Foundry. Se você não tiver um projeto do Foundry, consulte Criar um projeto Foundry (projetos Foundry).
O endereço do endpoint.
A chave do endpoint (se você optar por usar uma chave de API para autenticação).
Instale o pacote de inferência de IA Azure para Python com o seguinte comando:
pip install -U azure-ai-inference
Uma implantação de modelo de inserções de imagem. Se você não tiver um, leia Adicionar e configurar Modelos do Foundry para adicionar um modelo de embeddings ao seu recurso.
- Este exemplo usa
Cohere-embed-v3-englishdo Cohere.
- Este exemplo usa
Usar inserções de imagem
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 ImageEmbeddingsClient
from azure.core.credentials import AzureKeyCredential
client = ImageEmbeddingsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
model="Cohere-embed-v3-english"
)
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 ImageEmbeddingsClient
from azure.identity import DefaultAzureCredential
client = ImageEmbeddingsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=DefaultAzureCredential(),
model="Cohere-embed-v3-english"
)
Criar inserções
Para criar inserções de imagem, você precisa passar os dados da imagem como parte de sua solicitação. Os dados da imagem devem estar no formato PNG e codificados como base64.
from azure.ai.inference.models import ImageEmbeddingInput
image_input= ImageEmbeddingInput.load(image_file="sample1.png", image_format="png")
response = client.embed(
input=[ image_input ],
)
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)
Importante
Talvez não haja suporte para inserções de computação em lotes para todos os modelos. Por exemplo, para Cohere-embed-v3-english o modelo, você precisa enviar uma imagem por vez.
Inserindo imagens e pares de texto
Alguns modelos podem gerar inserções de imagens e pares de texto. Nesse caso, você pode usar os campos image e text na solicitação para passar a imagem e o texto para o modelo. O exemplo a seguir mostra como criar inserções para imagens e pares de texto:
text_image_input= ImageEmbeddingInput.load(image_file="sample1.png", image_format="png")
text_image_input.text = "A cute baby sea otter"
response = client.embed(
input=[ text_image_input ],
)
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 = client.embed(
input=[ image_input ],
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 = client.embed(
input=[ image_input ],
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.
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 de imagem com modelos de Microsoft foundry.
Pré-requisitos
Para usar modelos de inserção em seu aplicativo, você precisa:
Uma assinatura Azure. Se você estiver usando modelos GitHub, poderá atualizar sua experiência e criar uma assinatura Azure no processo. Leia a Atualização dos Modelos do GitHub nos Modelos da Fábrica da Microsoft, se esse for seu caso.
Um projeto do Foundry. Esse tipo de projeto é gerenciado sob um recurso Foundry. Se você não tiver um projeto do Foundry, consulte Criar um projeto Foundry (projetos Foundry).
O endereço do endpoint.
A chave do endpoint (se você optar por usar uma chave de API para autenticação).
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/identitySe 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";
Uma implantação de modelo de inserções de imagem. Se você não tiver um, leia Adicione e configure modelos Foundry para adicionar um modelo de embeddings ao seu recurso.
- Este exemplo usa
Cohere-embed-v3-englishdo Cohere.
- Este exemplo usa
Usar inserções de imagem
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
Para criar inserções de imagem, você precisa passar os dados da imagem como parte de sua solicitação. Os dados da imagem devem estar no formato PNG e codificados como base64.
var image_path = "sample1.png";
var image_data = fs.readFileSync(image_path);
var image_data_base64 = Buffer.from(image_data).toString("base64");
var response = await client.path("/images/embeddings").post({
body: {
input: [ { image: image_data_base64 } ],
model: "Cohere-embed-v3-english",
}
});
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);
Importante
Talvez não haja suporte para inserções de computação em lotes para todos os modelos. Por exemplo, para Cohere-embed-v3-english o modelo, você precisa enviar uma imagem por vez.
Inserindo imagens e pares de texto
Alguns modelos podem gerar inserções de imagens e pares de texto. Nesse caso, você pode usar os campos image e text na solicitação para passar a imagem e o texto para o modelo. O exemplo a seguir mostra como criar inserções para imagens e pares de texto:
var image_path = "sample1.png";
var image_data = fs.readFileSync(image_path);
var image_data_base64 = Buffer.from(image_data).toString("base64");
var response = await client.path("/images/embeddings").post({
body: {
input: [
{
text: "A cute baby sea otter",
image: image_data_base64
}
],
model: "Cohere-embed-v3-english",
}
});
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("/images/embeddings").post({
body: {
input: [ { image: image_data_base64 } ],
input_type: "document",
model: "Cohere-embed-v3-english",
}
});
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("/images/embeddings").post({
body: {
input: [ { image: image_data_base64 } ],
input_type: "query",
model: "Cohere-embed-v3-english",
}
});
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.
Nota
O uso de inserções de imagem só tem suporte usando solicitações Python, JavaScript, C#ou REST.
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 de imagem com modelos de Microsoft foundry.
Pré-requisitos
Para usar modelos de inserção em seu aplicativo, você precisa:
Uma assinatura Azure. Se você estiver usando modelos GitHub, poderá atualizar sua experiência e criar uma assinatura Azure no processo. Leia a Atualização dos Modelos do GitHub nos Modelos da Fábrica da Microsoft, se esse for seu caso.
Um projeto do Foundry. Esse tipo de projeto é gerenciado sob um recurso Foundry. Se você não tiver um projeto do Foundry, consulte Criar um projeto Foundry (projetos Foundry).
O endereço do endpoint.
A chave do endpoint (se você optar por usar uma chave de API para autenticação).
Instale o pacote de inferência de IA Azure com o seguinte comando:
dotnet add package Azure.AI.Inference --prereleaseSe você estiver usando Entra ID, também precisará do seguinte pacote:
dotnet add package Azure.Identity
Uma implantação de modelo de inserções de imagem. Se você não tiver um, leia Adicionar e configurar Modelos do Foundry para adicionar um modelo de embeddings ao seu recurso.
- Este exemplo usa
Cohere-embed-v3-englishdo Cohere.
- Este exemplo usa
Usar inserções de imagem
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.
ImageEmbeddingsClient client = new ImageEmbeddingsClient(
new Uri("https://<resource>.services.ai.azure.com/models"),
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 includeInteractiveCredentials é configurado para true apenas para fins de demonstração, permitindo que a autenticação aconteça usando o navegador da Web. Para cargas de trabalho de produção, você deve remover o 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);
ImageEmbeddingsClient client = new ImageEmbeddingsClient(
new Uri("https://<resource>.services.ai.azure.com/models"),
credential,
clientOptions
);
Criar inserções
Para criar inserções de imagem, você precisa passar os dados da imagem como parte de sua solicitação. Os dados da imagem devem estar no formato PNG e codificados como base64.
List<ImageEmbeddingInput> input = new List<ImageEmbeddingInput>
{
ImageEmbeddingInput.Load(imageFilePath:"sampleImage.png", imageFormat:"png")
};
var requestOptions = new ImageEmbeddingsOptions()
{
Input = input,
Model = "Cohere-embed-v3-english"
};
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:
foreach (EmbeddingItem item in response.Value.Data)
{
List<float> embedding = item.Embedding.ToObjectFromJson<List<float>>();
Console.WriteLine($"Index: {item.Index}, Embedding: <{string.Join(", ", embedding)}>");
}
Importante
Talvez não haja suporte para inserções de computação em lotes para todos os modelos. Por exemplo, para Cohere-embed-v3-english o modelo, você precisa enviar uma imagem por vez.
Inserindo imagens e pares de texto
Alguns modelos podem gerar inserções de imagens e pares de texto. Nesse caso, você pode usar os campos image e text na solicitação para passar a imagem e o texto para o modelo. O exemplo a seguir mostra como criar inserções para imagens e pares de texto:
var image_input = ImageEmbeddingInput.Load(imageFilePath:"sampleImage.png", imageFormat:"png")
image_input.text = "A cute baby sea otter"
var requestOptions = new ImageEmbeddingsOptions()
{
Input = new List<ImageEmbeddingInput>
{
image_input
},
Model = "Cohere-embed-v3-english"
};
Response<EmbeddingsResult> response = client.Embed(requestOptions);
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 para um documento que será armazenado em um banco de dados de vetor:
var requestOptions = new EmbeddingsOptions()
{
Input = image_input,
InputType = EmbeddingInputType.DOCUMENT,
Model = "Cohere-embed-v3-english"
};
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 requestOptions = new EmbeddingsOptions()
{
Input = image_input,
InputType = EmbeddingInputType.QUERY,
Model = "Cohere-embed-v3-english"
};
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.
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 de imagem com modelos de Microsoft foundry.
Pré-requisitos
Para usar modelos de inserção em seu aplicativo, você precisa:
Uma assinatura Azure. Se você estiver usando modelos GitHub, poderá atualizar sua experiência e criar uma assinatura Azure no processo. Leia a Atualização dos Modelos do GitHub nos Modelos da Fábrica da Microsoft, se esse for seu caso.
Um projeto do Foundry. Esse tipo de projeto é gerenciado sob um recurso Foundry. Se você não tiver um projeto do Foundry, consulte Criar um projeto Foundry (projetos Foundry).
O endereço do endpoint.
A chave do endpoint (se você optar por usar uma chave de API para autenticação).
Uma implantação de modelo de inserções de imagem. Se você não tiver um, leia Adicione e configure modelos Foundry para adicionar um modelo de embeddings ao seu recurso.
- Este exemplo usa
Cohere-embed-v3-englishdo Cohere.
- Este exemplo usa
Usar inserções de imagem
Para usar as inserções de texto, use a rota /images/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/images/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/images/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
Para criar inserções de imagem, você precisa passar os dados da imagem como parte de sua solicitação. Os dados da imagem devem estar no formato PNG e codificados como base64.
{
"model": "Cohere-embed-v3-english",
"input": [
{
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUh..."
}
]
}
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": "Cohere-embed-v3-english",
"usage": {
"prompt_tokens": 9,
"completion_tokens": 0,
"total_tokens": 9
}
}
Importante
Talvez não haja suporte para inserções de computação em lotes para todos os modelos. Por exemplo, para Cohere-embed-v3-english o modelo, você precisa enviar uma imagem por vez.
Inserindo imagens e pares de texto
Alguns modelos podem gerar inserções de imagens e pares de texto. Nesse caso, você pode usar os campos image e text na solicitação para passar a imagem e o texto para o modelo. O exemplo a seguir mostra como criar inserções para imagens e pares de texto:
{
"model": "Cohere-embed-v3-english",
"input": [
{
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUh...",
"text": "A photo of a cat"
}
]
}
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:
{
"model": "Cohere-embed-v3-english",
"input": [
{
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUh..."
}
],
"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.
{
"model": "Cohere-embed-v3-english",
"input": [
{
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUh..."
}
],
"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.