Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma incorporação é um formato especial de representação de dados que pode ser facilmente utilizado por modelos e algoritmos de aprendizagem automática. A incorporação é uma representação densa em informação do significado semântico de um texto. Cada embedding é um vetor de números em ponto flutuante, de forma que a distância entre dois embeddings no espaço vetorial está correlacionada com a similaridade semântica entre duas entradas no formato original. Por exemplo, se dois textos são semelhantes, então as suas representações vetoriais também devem ser semelhantes. Embeddings impulsionam a pesquisa de similaridade de vetores em bases de dados Azure como Azure Cosmos DB para NoSQL, Azure Cosmos DB para MongoDB vCore, Base de Dados SQL do Azure ou Base de Dados do Azure para PostgreSQL - Flexible Server.
Pré-requisitos
- Um modelo de embedding Azure OpenAI implementado.
- Os seguintes valores do seu recurso:
- Endpoint, por exemplo,
https://YOUR-RESOURCE-NAME.openai.azure.com/. - Chave API.
- Nome da implementação do modelo.
- Endpoint, por exemplo,
Para orientações de configuração mais específicas da linguagem, consulte Azure Linguagens de programação suportadas pela OpenAI.
Como obter embeddings
Para obter um vetor de incorporação para um trecho de texto, faça um pedido ao endpoint de embeddings, conforme mostrado nos seguintes excertos de código:
Nota
A API de embeddings do Azure OpenAI não suporta atualmente o Microsoft Entra ID com a API v1. Use autenticação por chave API para os exemplos deste artigo.
using OpenAI;
using OpenAI.Embeddings;
using System.ClientModel;
EmbeddingClient client = new(
"text-embedding-3-small",
credential: new ApiKeyCredential("API-KEY"),
options: new OpenAIClientOptions()
{
Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
}
);
string input = "This is a test";
OpenAIEmbedding embedding = client.GenerateEmbedding(input);
ReadOnlyMemory<float> vector = embedding.ToFloats();
Console.WriteLine($"Embeddings: [{string.Join(", ", vector.ToArray())}]");
Melhores práticas
Verifique se as entradas não excedem o comprimento máximo
- O comprimento máximo do texto de entrada para os nossos modelos de embedding mais recentes é de 8.192 tokens. Deves verificar se as tuas entradas não ultrapassam esse limite antes de fazeres um pedido.
- Se enviar um array de entradas num único pedido de embedding, o tamanho máximo do array é 2048.
- Ao enviar um array de entradas num único pedido, lembre-se que o número de tokens por minuto nos seus pedidos deve manter-se abaixo do limite de quota atribuído na implementação do modelo. Por defeito, os modelos de embeddings mais recentes de terceira geração estão sujeitos a um limite de 350 K TPM por região.
Resolução de problemas
- Se aparecer um erro
401ou403, confirme que a chave API é válida para o recurso. - Se aparecer um
404erro, confirme que o endpoint inclui o/openai/v1/caminho e que usou a URL base correta. - Se ocorrer um erro
400, confirme semodelestá definido como o nome da sua implementação e se o corpo do pedido é um JSON válido.
Limitações e riscos
Os nossos modelos de embedding podem ser pouco fiáveis ou representar riscos sociais em certos casos, podendo causar danos na ausência de mitigações. Consulte o nosso conteúdo Responsible AI para mais informações sobre como abordar a sua utilização de forma responsável.
Próximos passos
- Saiba mais sobre a utilização Azure OpenAI e embeddings para realizar pesquisa de documentos com o nosso tutorial embeddings.
- Saiba mais sobre os modelos subjacentes que alimentam Azure OpenAI.
- Armazene os seus embeddings e realize pesquisa vetorial (similaridade) usando o serviço que escolher:
- Pesquisa de IA do Azure
- Azure Cosmos DB para MongoDB vCore
- Base de Dados SQL do Azure
- Azure Cosmos DB para NoSQL
- Azure Cosmos DB para PostgreSQL
- Base de Dados do Azure para PostgreSQL - Servidor Flexível
- Cache do Azure para Redis
- Utiliza o Eventhouse como base de dados vetorial - Inteligência em Tempo Real no Microsoft Fabric