Partilhar via


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, onde your-host-name é o nome exclusivo do host de implantação do modelo e your-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 com npm.
  • 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, onde your-host-name é o nome exclusivo do host de implantação do modelo e your-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, onde your-host-name é o nome exclusivo do host de implantação do modelo e your-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.