Como usar modelos Cohere Embed V3 com o Azure AI Studio
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.
Neste artigo, você aprenderá sobre os modelos Cohere Embed V3 e como usá-los com o Azure AI Studio. A família de modelos Cohere inclui vários modelos otimizados para diferentes casos de uso, incluindo conclusão de bate-papo, incorporações e reclassificação. Os modelos Cohere são otimizados para vários casos de uso que incluem raciocínio, sumarização e resposta a perguntas.
Importante
Os modelos que estão em pré-visualização são marcados como pré-visualização nos respetivos cartões de modelo no catálogo de modelos.
Modelos de incorporação de cohere
A família de modelos Cohere para incorporações inclui os seguintes modelos:
Cohere Embed English é um modelo de representação multimodal (texto e imagem) usado para pesquisa semântica, geração aumentada de recuperação (RAG), classificação e clustering. O inglês incorporado tem um bom desempenho no benchmark MTEB HuggingFace (incorporação massiva de texto) e em casos de uso para vários setores, como Finanças, Jurídico e Corpora de Uso Geral. Incorporar inglês também tem os seguintes atributos:
- O inglês incorporado tem 1.024 dimensões
- A janela de contexto do modelo é de 512 tokens
- Embed English aceita imagens como um url de dados codificados base64
As incorporações de imagens consomem um número fixo de tokens por imagem — 1.000 tokens por imagem — o que se traduz em um preço de US$ 0,0001 por imagem incorporada. O tamanho ou a resolução da imagem não afeta o número de tokens consumidos, desde que a imagem esteja dentro das dimensões, tamanho do arquivo e formatos aceitos.
Pré-requisitos
Para usar modelos Cohere Embed V3 com o Azure AI Studio, você precisa dos seguintes pré-requisitos:
Uma implantação de modelo
Implantação em APIs sem servidor
Os modelos Cohere Embed V3 podem ser implantados em pontos de extremidade de API sem servidor com faturamento pré-pago. Esse tipo de implantação fornece uma maneira de consumir modelos como uma API sem hospedá-los em sua assinatura, mantendo a segurança e a conformidade corporativas de que as organizações precisam.
A implantação em um ponto de extremidade de API sem servidor não requer cota da sua assinatura. Se o seu modelo ainda não estiver implantado, use o Azure AI Studio, o SDK do Azure Machine Learning para Python, a CLI do Azure ou os modelos ARM para implantar o modelo como uma API sem servidor.
O pacote de inferência instalado
Você pode consumir previsões desse modelo usando o azure-ai-inference
pacote com Python. Para instalar este pacote, você precisa dos seguintes pré-requisitos:
- Python 3.8 ou posterior instalado, incluindo pip.
- O URL do ponto de extremidade. Para construir a biblioteca do cliente, você precisa passar a URL do ponto de extremidade. A URL do ponto de extremidade tem o formato
https://your-host-name.your-azure-region.inference.ai.azure.com
, ondeyour-host-name
é o nome exclusivo do host de implantação do modelo eyour-azure-region
é a região do Azure onde o modelo é implantado (por exemplo, eastus2). - Dependendo da implantação do modelo e da preferência de autenticação, você precisa de uma chave para autenticar no serviço ou credenciais de ID do Microsoft Entra. A chave é uma cadeia de caracteres de 32 caracteres.
Depois de ter esses pré-requisitos, instale o pacote de inferência do Azure AI com o seguinte comando:
pip install azure-ai-inference
Leia mais sobre o pacote de inferência e a referência da IA do Azure.
Gorjeta
Além disso, Cohere suporta o uso de uma API personalizada para uso com recursos específicos do modelo. Para usar a API específica do provedor de modelos, consulte a documentação do Cohere.
Trabalhar com incorporações
Nesta seção, você usa a API de inferência de modelo de IA do Azure com um modelo de incorporação.
Criar um cliente para consumir o modelo
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"]),
)
Obtenha as capacidades do modelo
A /info
rota retorna informações sobre o modelo implantado no ponto de extremidade. Retorne as informações do modelo chamando o seguinte método:
model_info = model.get_model_info()
A resposta é a seguinte:
print("Model name:", model_info.model_name)
print("Model type:", model_info.model_type)
print("Model provider name:", model_info.model_provider)
Model name: Cohere-embed-v3-english
Model type": embeddings
Model provider name": Cohere
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
A janela de contexto para os modelos Cohere Embed V3 é 512. Certifique-se de não exceder esse limite ao criar incorporações.
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
Os modelos Cohere Embed V3 podem levar lotes de 1024 de cada vez. Ao criar lotes, certifique-se de não exceder esse limite.
Crie diferentes tipos de incorporações
Os modelos Cohere Embed V3 podem gerar várias incorporações para a mesma entrada, dependendo de como você planeja usá-los. 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,
)
Os modelos Cohere Embed V3 podem otimizar as incorporações com base no seu caso de uso.
Modelos de incorporação de cohere
A família de modelos Cohere para incorporações inclui os seguintes modelos:
Cohere Embed English é um modelo de representação multimodal (texto e imagem) usado para pesquisa semântica, geração aumentada de recuperação (RAG), classificação e clustering. O inglês incorporado tem um bom desempenho no benchmark MTEB HuggingFace (incorporação massiva de texto) e em casos de uso para vários setores, como Finanças, Jurídico e Corpora de Uso Geral. Incorporar inglês também tem os seguintes atributos:
- O inglês incorporado tem 1.024 dimensões
- A janela de contexto do modelo é de 512 tokens
- Embed English aceita imagens como um url de dados codificados base64
As incorporações de imagens consomem um número fixo de tokens por imagem — 1.000 tokens por imagem — o que se traduz em um preço de US$ 0,0001 por imagem incorporada. O tamanho ou a resolução da imagem não afeta o número de tokens consumidos, desde que a imagem esteja dentro das dimensões, tamanho do arquivo e formatos aceitos.
Pré-requisitos
Para usar modelos Cohere Embed V3 com o Azure AI Studio, você precisa dos seguintes pré-requisitos:
Uma implantação de modelo
Implantação em APIs sem servidor
Os modelos Cohere Embed V3 podem ser implantados em pontos de extremidade de API sem servidor com faturamento pré-pago. Esse tipo de implantação fornece uma maneira de consumir modelos como uma API sem hospedá-los em sua assinatura, mantendo a segurança e a conformidade corporativas de que as organizações precisam.
A implantação em um ponto de extremidade de API sem servidor não requer cota da sua assinatura. Se o seu modelo ainda não estiver implantado, use o Azure AI Studio, o SDK do Azure Machine Learning para Python, a CLI do Azure ou os modelos ARM para implantar o modelo como uma API sem servidor.
O pacote de inferência instalado
Você pode consumir previsões desse modelo usando o @azure-rest/ai-inference
pacote de npm
. Para instalar este pacote, você precisa dos seguintes pré-requisitos:
- Versões LTS do
Node.js
comnpm
. - O URL do ponto de extremidade. Para construir a biblioteca do cliente, você precisa passar a URL do ponto de extremidade. A URL do ponto de extremidade tem o formato
https://your-host-name.your-azure-region.inference.ai.azure.com
, ondeyour-host-name
é o nome exclusivo do host de implantação do modelo eyour-azure-region
é a região do Azure onde o modelo é implantado (por exemplo, eastus2). - Dependendo da implantação do modelo e da preferência de autenticação, você precisa de uma chave para autenticar no serviço ou credenciais de ID do Microsoft Entra. A chave é uma cadeia de caracteres de 32 caracteres.
Depois de ter esses pré-requisitos, instale a biblioteca de inferência do Azure para JavaScript com o seguinte comando:
npm install @azure-rest/ai-inference
Gorjeta
Além disso, Cohere suporta o uso de uma API personalizada para uso com recursos específicos do modelo. Para usar a API específica do provedor de modelos, consulte a documentação do Cohere.
Trabalhar com incorporações
Nesta seção, você usa a API de inferência de modelo de IA do Azure com um modelo de incorporação.
Criar um cliente para consumir o modelo
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)
);
Obtenha as capacidades do modelo
A /info
rota retorna informações sobre o modelo implantado no ponto de extremidade. Retorne as informações do modelo chamando o seguinte método:
await client.path("/info").get()
A resposta é a seguinte:
console.log("Model name: ", model_info.body.model_name);
console.log("Model type: ", model_info.body.model_type);
console.log("Model provider name: ", model_info.body.model_provider_name);
Model name: Cohere-embed-v3-english
Model type": embeddings
Model provider name": Cohere
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
A janela de contexto para os modelos Cohere Embed V3 é 512. Certifique-se de não exceder esse limite ao criar incorporações.
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
Os modelos Cohere Embed V3 podem levar lotes de 1024 de cada vez. Ao criar lotes, certifique-se de não exceder esse limite.
Crie diferentes tipos de incorporações
Os modelos Cohere Embed V3 podem gerar várias incorporações para a mesma entrada, dependendo de como você planeja usá-los. 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",
}
});
Os modelos Cohere Embed V3 podem otimizar as incorporações com base no seu caso de uso.
Modelos de incorporação de cohere
A família de modelos Cohere para incorporações inclui os seguintes modelos:
Cohere Embed English é um modelo de representação multimodal (texto e imagem) usado para pesquisa semântica, geração aumentada de recuperação (RAG), classificação e clustering. O inglês incorporado tem um bom desempenho no benchmark MTEB HuggingFace (incorporação massiva de texto) e em casos de uso para vários setores, como Finanças, Jurídico e Corpora de Uso Geral. Incorporar inglês também tem os seguintes atributos:
- O inglês incorporado tem 1.024 dimensões
- A janela de contexto do modelo é de 512 tokens
- Embed English aceita imagens como um url de dados codificados base64
As incorporações de imagens consomem um número fixo de tokens por imagem — 1.000 tokens por imagem — o que se traduz em um preço de US$ 0,0001 por imagem incorporada. O tamanho ou a resolução da imagem não afeta o número de tokens consumidos, desde que a imagem esteja dentro das dimensões, tamanho do arquivo e formatos aceitos.
Pré-requisitos
Para usar modelos Cohere Embed V3 com o Azure AI Studio, você precisa dos seguintes pré-requisitos:
Uma implantação de modelo
Implantação em APIs sem servidor
Os modelos Cohere Embed V3 podem ser implantados em pontos de extremidade de API sem servidor com faturamento pré-pago. Esse tipo de implantação fornece uma maneira de consumir modelos como uma API sem hospedá-los em sua assinatura, mantendo a segurança e a conformidade corporativas de que as organizações precisam.
A implantação em um ponto de extremidade de API sem servidor não requer cota da sua assinatura. Se o seu modelo ainda não estiver implantado, use o Azure AI Studio, o SDK do Azure Machine Learning para Python, a CLI do Azure ou os modelos ARM para implantar o modelo como uma API sem servidor.
Um cliente REST
Os modelos implantados com a API de inferência de modelo de IA do Azure podem ser consumidos usando qualquer cliente REST. Para usar o cliente REST, você precisa dos seguintes pré-requisitos:
- Para construir as solicitações, você precisa passar a URL do ponto de extremidade. A URL do ponto de extremidade tem o formato
https://your-host-name.your-azure-region.inference.ai.azure.com
, ondeyour-host-name
é o nome exclusivo do host de implantação do modelo eyour-azure-region
é a região do Azure onde o modelo é implantado (por exemplo, eastus2). - Dependendo da implantação do modelo e da preferência de autenticação, você precisa de uma chave para autenticar no serviço ou credenciais de ID do Microsoft Entra. A chave é uma cadeia de caracteres de 32 caracteres.
Gorjeta
Além disso, Cohere suporta o uso de uma API personalizada para uso com recursos específicos do modelo. Para usar a API específica do provedor de modelos, consulte a documentação do Cohere.
Trabalhar com incorporações
Nesta seção, você usa a API de inferência de modelo de IA do Azure com um modelo de incorporação.
Criar um cliente para consumir o modelo
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.
Obtenha as capacidades do modelo
A /info
rota retorna informações sobre o modelo implantado no ponto de extremidade. Retorne as informações do modelo chamando o seguinte método:
GET /info HTTP/1.1
Host: <ENDPOINT_URI>
Authorization: Bearer <TOKEN>
Content-Type: application/json
A resposta é a seguinte:
{
"model_name": "Cohere-embed-v3-english",
"model_type": "embeddings",
"model_provider_name": "Cohere"
}
Criar incorporações
Crie uma solicitação de incorporação para ver a saída do modelo.
{
"input": [
"The ultimate answer to the question of life"
]
}
Gorjeta
A janela de contexto para os modelos Cohere Embed V3 é 512. Certifique-se de não exceder esse limite ao criar incorporações.
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": "Cohere-embed-v3-english",
"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.
{
"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": "Cohere-embed-v3-english",
"usage": {
"prompt_tokens": 19,
"completion_tokens": 0,
"total_tokens": 19
}
}
Gorjeta
Os modelos Cohere Embed V3 podem levar lotes de 1024 de cada vez. Ao criar lotes, certifique-se de não exceder esse limite.
Crie diferentes tipos de incorporações
Os modelos Cohere Embed V3 podem gerar várias incorporações para a mesma entrada, dependendo de como você planeja usá-los. 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:
{
"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.
{
"input": [
"What's the ultimate meaning of life?"
],
"input_type": "query"
}
Os modelos Cohere Embed V3 podem otimizar as incorporações com base no seu caso de uso.
Mais exemplos de inferência
Description | Linguagem | Exemplo |
---|---|---|
Pedidos Web | Bash | cohere-embed.ipynb |
Pacote Azure AI Inference para JavaScript | JavaScript | Ligação |
Pacote de inferência do Azure AI para Python | Python | Ligação |
OpenAI SDK (experimental) | Python | Ligação |
LangChain | Python | Ligação |
Cohere SDK | Python | Ligação |
LiteLLM SDK | Python | Ligação |
Geração aumentada de recuperação (RAG) e amostras de uso de ferramentas
Description | Pacote | Exemplo |
---|---|---|
Crie um índice vetorial local de pesquisa de semelhança de IA do Facebook (FAISS), usando incorporações Cohere - Langchain | langchain , langchain_cohere |
cohere_faiss_langchain_embed.ipynb |
Use o comando Cohere R/R+ para responder a perguntas de dados no índice vetorial FAISS local - Langchain | langchain , langchain_cohere |
command_faiss_langchain.ipynb |
Use o comando Cohere R/R+ para responder a perguntas de dados no índice vetorial de pesquisa de IA - Langchain | langchain , langchain_cohere |
cohere-aisearch-langchain-rag.ipynb |
Use o Cohere Command R/R+ para responder a perguntas de dados no índice de vetores de pesquisa de IA - Cohere SDK | cohere , azure_search_documents |
cohere-aisearch-rag.ipynb |
Chamada de ferramenta/função Command R+, usando LangChain | cohere , langchain , langchain_cohere |
command_tools-langchain.ipynb |
Considerações sobre custo e cota para a família Cohere de modelos implantados como pontos de extremidade de API sem servidor
Os modelos Cohere implantados como uma API sem servidor são oferecidos pela Cohere por meio do Azure Marketplace e integrados ao Azure AI Studio para uso. Pode obter os preços do Azure Marketplace quando implementar o modelo.
Sempre que um projeto subscreve uma determinada oferta do Azure Marketplace, é criado um novo recurso para controlar os custos associados ao seu consumo. O mesmo recurso é usado para monitorizar os custos associados à inferência; no entanto, estão disponíveis vários medidores para monitorizar cada cenário de forma independente.
Para obter mais informações sobre como monitorizar os custos, consulte Monitorizar custos dos modelos oferecidos através do Azure Marketplace.
A quota é gerida por implementação. Cada implementação tem um limite de taxa de 200 000 tokens por minuto e 1000 pedidos de API por minuto. No entanto, atualmente, limitamos uma implementação por modelo por projeto. Contacte o Suporte do Microsoft Azure se os limites de taxa atuais não forem suficientes para os seus cenários.
Conteúdos relacionados
- API de Inferência de Modelos do Azure AI
- Implantar modelos como APIs sem servidor
- Consumir pontos de extremidade de API sem servidor de um projeto ou hub diferente do Azure AI Studio
- Disponibilidade de região para modelos em pontos de extremidade de API sem servidor
- Planear e gerir custos (marketplace)