Como implantar modelos Cohere Embed com o Azure AI Studio
Importante
Alguns dos recursos descritos neste artigo podem estar disponíveis apenas na visualização. 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á a usar o Azure AI Studio para implantar os modelos Cohere Embed como APIs sem servidor com cobrança baseada em token pré-pago.
A Cohere oferece dois modelos Embed no Azure AI Studio. Esses modelos estão disponíveis como APIs sem servidor com faturamento baseado em token pré-pago. Você pode navegar pela família de modelos Cohere no Catálogo de modelos filtrando a coleção Cohere.
Modelos Cohere Embed
Nesta seção, você aprenderá sobre os dois modelos Cohere Embed disponíveis no catálogo de modelos:
- Cohere Embed v3 - Português
- Cohere Embed v3 - Multilingue
Você pode navegar pela família de modelos Cohere no Catálogo de modelos filtrando a coleção Cohere.
Cohere Embed v3 - Português
Cohere Embed English é o principal modelo de representação de texto do mercado usado para pesquisa semântica, geração aumentada de recuperação (RAG), classificação e clustering. O Embed English tem o melhor desempenho no benchmark MTEB HuggingFace e tem um bom desempenho 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:
- Embed English tem 1.024 dimensões.
- A janela de contexto do modelo é de 512 tokens
Cohere Embed v3 - Multilingue
Cohere Embed Multilingual é o principal modelo de representação de texto do mercado usado para pesquisa semântica, geração aumentada de recuperação (RAG), classificação e clustering. Incorporar Multilingue suporta 100+ idiomas e pode ser usado para pesquisar dentro de um idioma (por exemplo, pesquisa com uma consulta francesa em documentos franceses) e entre idiomas (por exemplo, pesquisa com uma consulta em inglês em documentos chineses). O Embed multilingual tem um desempenho de última geração em benchmarks multilingues como o Miracl. Embed Multilingual também tem os seguintes atributos:
- O Embed Multilingual tem 1.024 dimensões.
- A janela de contexto do modelo é de 512 tokens
Implantar como uma API sem servidor
Certos modelos no catálogo de modelos podem ser implantados como uma 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. Essa opção de implantação não exige cota da sua assinatura.
Os modelos Cohere mencionados anteriormente podem ser implantados como um serviço com faturamento pré-pago e são oferecidos pela Cohere por meio do Microsoft Azure Marketplace. A Cohere pode alterar ou atualizar os termos de uso e preços desses modelos.
Pré-requisitos
Uma subscrição do Azure com um método de pagamento válido. As subscrições gratuitas ou de avaliação do Azure não funcionarão. Se você não tiver uma assinatura do Azure, crie uma conta paga do Azure para começar.
Um hub AI Studio. A oferta de implantação de modelo de API sem servidor para Cohere Embed só está disponível com hubs criados nestas regiões:
- E.U.A. Leste
- E.U.A. Leste 2
- E.U.A. Centro-Norte
- E.U.A. Centro-Sul
- E.U.A. Oeste
- EUA Oeste 3
- Suécia Central
Para obter uma lista das regiões disponíveis para cada um dos modelos que suportam implementações de ponto final de API sem servidor, consulte Disponibilidade regional para modelos em pontos finais de API sem servidor.
Um projeto do AI Studio no Azure AI Studio.
Os controles de acesso baseados em função do Azure são usados para conceder acesso a operações no Azure AI Studio. Para executar as etapas neste artigo, sua conta de usuário deve receber a função de Desenvolvedor do Azure AI no grupo de recursos. Para obter mais informações sobre permissões, consulte Controle de acesso baseado em função no Azure AI Studio.
Criar uma nova implantação
As etapas a seguir demonstram a implantação do Cohere Embed v3 - English, mas você pode usar as mesmas etapas para implantar o Cohere Embed v3 - Multilingual substituindo o nome do modelo.
Para criar uma implantação:
Entre no Azure AI Studio.
Selecione Catálogo de modelos na barra lateral esquerda.
Procure por Cohere.
Selecione Cohere-embed-v3-english para abrir a página Detalhes do modelo.
Selecione Implantar para abrir uma janela de implantação de API sem servidor para o modelo.
Como alternativa, você pode iniciar uma implantação iniciando a partir do seu projeto no AI Studio.
Na barra lateral esquerda do seu projeto, selecione Implantações de componentes>.
Selecione + Criar implantação.
Procure e selecione Cohere-embed-v3-english. para abrir a página Detalhes do modelo.
Selecione Confirmar para abrir uma janela de implantação de API sem servidor para o modelo.
Selecione o projeto no qual você deseja implantar seu modelo. Para implantar o modelo, seu projeto deve estar na região EastUS2 ou Suécia Central .
No assistente de implantação, selecione o link para Termos do Azure Marketplace para saber mais sobre os termos de uso.
Selecione a guia Preços e termos para saber mais sobre os preços do modelo selecionado.
Selecione o botão Inscrever-se e Implantar . Se esta é a primeira vez que você implanta o modelo no projeto, você tem que inscrever seu projeto para a oferta específica. Esta etapa requer que sua conta tenha as permissões de função Desenvolvedor do Azure AI no grupo de recursos, conforme listado nos pré-requisitos. Cada projeto tem a sua própria subscrição para a oferta específica do Azure Marketplace do modelo, que lhe permite controlar e monitorizar os gastos. Atualmente, você pode ter apenas uma implantação para cada modelo dentro de um projeto.
Depois de inscrever o projeto para a oferta específica do Azure Marketplace, as implantações subsequentes da mesma oferta no mesmo projeto não exigem assinatura novamente. Se esse cenário se aplicar a você, há uma opção Continuar a implantar para selecionar.
Dê um nome à implantação. Esse nome se torna parte da URL da API de implantação. Essa URL deve ser exclusiva em cada região do Azure.
Selecione Implementar. Aguarde até que a implantação esteja pronta e você seja redirecionado para a página Implantações.
Selecione Abrir no playground para começar a interagir com o modelo.
Retorne à página Implantações, selecione a implantação e anote a URL de Destino do ponto de extremidade e a Chave Secreta. Para obter mais informações sobre como usar as APIs, consulte a seção de referência .
Você sempre pode encontrar os detalhes, a URL e as chaves de acesso do ponto de extremidade navegando até a página de visão geral do projeto. Em seguida, na barra lateral esquerda do seu projeto, selecione Implantações de componentes>.
Para saber mais sobre o faturamento para os modelos Cohere implantados como uma API sem servidor com faturamento baseado em token pré-pago, consulte Considerações de custo e cota para modelos Cohere implantados como um serviço.
Consuma os modelos Cohere Embed como um serviço
Esses modelos podem ser consumidos usando a API de incorporação.
Na página Visão geral do projeto, vá para a barra lateral esquerda e selecione Implantações de componentes>.
Localize e selecione a implantação que você criou.
Copie o URL de destino e o valor da chave .
Cohere expõe duas rotas para inferência com os modelos Embed v3 - English e Embed v3 - Multilingual .
v1/embeddings
adere ao esquema da API de Mensagens Generativas da IA do Azure ev1/embed
dá suporte ao esquema de API nativo do Cohere.Para obter mais informações sobre como usar as APIs, consulte a seção de referência .
Incorporar referência de API para modelos Cohere Embed implantados como um serviço
Cohere Embed v3 - Inglês e Embed v3 - Multilingual aceitam a API de Inferência de Modelo de IA do Azure na rota /embeddings
e a API nativa do Cohere Embed v3 em /embed
.
API de Inferência de Modelos do Azure AI
O esquema da API de Inferência de Modelo de IA do Azure pode ser encontrado na referência para o artigo Incorporações e uma especificação OpenAPI pode ser obtida do próprio ponto de extremidade.
Cohere Incorporar v3
O seguinte contém detalhes sobre Cohere Embed v3 API.
Pedir
POST /v1/embed HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Esquema de solicitação v1/embed
Cohere Embed v3 - English e Embed v3 - Multilingual aceitam os seguintes parâmetros para uma v1/embed
chamada de API:
Chave | Type | Predefinido | Description |
---|---|---|---|
texts |
array of strings |
Obrigatório | Uma matriz de cadeias de caracteres para o modelo incorporar. O número máximo de mensagens de texto por chamada é de 96. Recomendamos reduzir o comprimento de cada texto para menos de 512 tokens para uma qualidade ideal. |
input_type |
enum string |
Necessário | Precede tokens especiais para diferenciar cada tipo um do outro. Você não deve misturar diferentes tipos, exceto ao misturar tipos para pesquisa e recuperação. Neste caso, incorpore o seu corpus com o tipo e incorpore as consultas com o search_document tipo de tipo search_query . search_document – Em casos de uso de pesquisa, use search_document quando codificar documentos para incorporações que você armazena em um banco de dados vetorial. search_query – Use search_query ao consultar seu banco de dados vetorial para encontrar documentos relevantes. classification – Use a classificação ao usar incorporações como uma entrada para um classificador de texto. clustering – Use clustering para agrupar as incorporações. |
truncate |
enum string |
NONE |
NONE – Retorna um erro quando a entrada excede o comprimento máximo do token de entrada. START – Descarta o início da entrada. END – Descarta o final da entrada. |
embedding_types |
array of strings |
float |
Especifica os tipos de incorporações que você deseja recuperar. Pode ser um ou mais dos seguintes tipos. float , int8 , uint8 , binary , ubinary |
Esquema de resposta v1/embed
Cohere Embed v3 - English e Embed v3 - Multilingual incluem os seguintes campos na resposta:
Chave | Tipo | Description |
---|---|---|
response_type |
enum |
O tipo de resposta. Retorna embeddings_floats quando embedding_types não é especificado ou retorna embeddings_by_type quando embeddings_types é especificado. |
id |
integer |
Um identificador para a resposta. |
embeddings |
array ou array of objects |
Uma matriz de incorporações, onde cada incorporação é uma matriz de flutuadores com 1.024 elementos. O comprimento da matriz de incorporações é o mesmo que o comprimento da matriz de textos originais. |
texts |
array of strings |
As entradas de texto para as quais as incorporações foram retornadas. |
meta |
string |
Dados de uso da API, incluindo a versão atual e tokens faturáveis. |
Para obter mais informações, veja https://docs.cohere.com/reference/embed.
Exemplos v1/embed
embeddings_floats resposta
Pedido:
{
"input_type": "clustering",
"truncate": "START",
"texts":["hi", "hello"]
}
Resposta:
{
"id": "da7a104c-e504-4349-bcd4-4d69dfa02077",
"texts": [
"hi",
"hello"
],
"embeddings": [
[
...
],
[
...
]
],
"meta": {
"api_version": {
"version": "1"
},
"billed_units": {
"input_tokens": 2
}
},
"response_type": "embeddings_floats"
}
Embeddings_by_types resposta
Pedido:
{
"input_type": "clustering",
"embedding_types": ["int8", "binary"],
"truncate": "START",
"texts":["hi", "hello"]
}
Resposta:
{
"id": "b604881a-a5e1-4283-8c0d-acbd715bf144",
"texts": [
"hi",
"hello"
],
"embeddings": {
"binary": [
[
...
],
[
...
]
],
"int8": [
[
...
],
[
...
]
]
},
"meta": {
"api_version": {
"version": "1"
},
"billed_units": {
"input_tokens": 2
}
},
"response_type": "embeddings_by_type"
}
Mais exemplos de inferência
Pacote | Bloco de notas de exemplo |
---|---|
CLI usando solicitações da Web CURL e Python | cohere-embed.ipynb |
OpenAI SDK (experimental) | openaisdk.ipynb |
LangChain | langchain.ipynb |
Cohere SDK | cohere-sdk.ipynb |
LiteLLM SDK | litellm.ipynb |
Geração aumentada de recuperação (RAG) e amostras de uso de ferramentas
Descrição | Pacote | Bloco de notas de exemplo |
---|---|---|
Crie um índice vetorial local do Facebook AI Similarity Search (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 |
Custo e quotas
Considerações sobre custo e cota para modelos implantados como serviço
Os modelos Cohere implantados como uma API sem servidor com cobrança paga conforme o uso 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.
Filtragem de conteúdos
Os modelos implantados como uma API sem servidor são protegidos pelo Azure AI Content Safety. Com a segurança de conteúdo de IA do Azure, tanto o prompt quanto a conclusão passam por um conjunto de modelos de classificação destinados a detetar e prevenir a saída de conteúdo nocivo. O sistema de filtragem de conteúdo deteta e age em categorias específicas de conteúdo potencialmente nocivo em prompts de entrada e finalizações de saída. Saiba mais sobre filtragem de conteúdo aqui.
Conteúdos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários