Så här använder du Cohere Embed V3-modeller med Azure AI Studio
Viktigt!
Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
I den här artikeln får du lära dig mer om Cohere Embed V3-modeller och hur du använder dem med Azure AI Studio. Cohere-serien med modeller innehåller olika modeller som är optimerade för olika användningsfall, inklusive chattavslut, inbäddningar och omrankning. Sammanhållna modeller är optimerade för olika användningsfall som inkluderar resonemang, sammanfattning och frågesvar.
Viktigt!
Modeller som är i förhandsversion markeras som förhandsversioner på sina modellkort i modellkatalogen.
Sammanhängande inbäddningsmodeller
Cohere-serien med modeller för inbäddningar innehåller följande modeller:
Cohere Embed English är en multimodal (text och bild) representationsmodell som används för semantisk sökning, hämtningsförhöjd generation (RAG), klassificering och klustring. Embed English presterar bra på HuggingFace (massiv textbäddning) MTEB-benchmark och i användningsfall för olika branscher, till exempel Finance, Legal och General-Purpose Corpora. Bädda in engelska har också följande attribut:
- Bädda in engelska har 1 024 dimensioner
- Kontextfönstret för modellen är 512 tokens
- Bädda in engelska accepterar bilder som en base64-kodad data-URL
Inbäddningar av bilder förbrukar ett fast antal token per bild – 1 000 token per bild – vilket innebär ett pris på 0,0001 USD per inbäddad bild. Bildens storlek eller upplösning påverkar inte antalet förbrukade token, förutsatt att bilden ligger inom de godkända dimensionerna, filstorleken och formaten.
Förutsättningar
Om du vill använda Cohere Embed V3-modeller med Azure AI Studio behöver du följande förutsättningar:
En modelldistribution
Distribution till serverlösa API:er
Cohere Embed V3-modeller kan distribueras till serverlösa API-slutpunkter med betala per användning-fakturering. Den här typen av distribution ger ett sätt att använda modeller som ett API utan att vara värd för dem i din prenumeration, samtidigt som den företagssäkerhet och efterlevnad som organisationer behöver bevaras.
Distribution till en serverlös API-slutpunkt kräver inte kvot från din prenumeration. Om din modell inte redan har distribuerats använder du Azure AI Studio, Azure Machine Learning SDK för Python, Azure CLI eller ARM-mallar för att distribuera modellen som ett serverlöst API.
Inferenspaketet installerat
Du kan använda förutsägelser från den här modellen med hjälp azure-ai-inference
av paketet med Python. För att installera det här paketet behöver du följande krav:
- Python 3.8 eller senare installerat, inklusive pip.
- Slutpunkts-URL:en. Om du vill skapa klientbiblioteket måste du skicka in slutpunkts-URL:en. Slutpunkts-URL:en har formuläret
https://your-host-name.your-azure-region.inference.ai.azure.com
, däryour-host-name
är värdnamnet för din unika modelldistribution ochyour-azure-region
är den Azure-region där modellen distribueras (till exempel eastus2). - Beroende på din modelldistribution och autentiseringsinställning behöver du antingen en nyckel för att autentisera mot tjänsten eller autentiseringsuppgifter för Microsoft Entra-ID. Nyckeln är en sträng på 32 tecken.
När du har dessa förutsättningar installerar du Azure AI-slutsatsdragningspaketet med följande kommando:
pip install azure-ai-inference
Läs mer om Azure AI-slutsatsdragningspaketet och referensen.
Dricks
Dessutom stöder Cohere användning av ett skräddarsytt API för användning med specifika funktioner i modellen. Om du vill använda det specifika API:et för modellprovidern går du till dokumentationen för Cohere.
Arbeta med inbäddningar
I det här avsnittet använder du Azure AI-modellinferens-API :et med en inbäddningsmodell.
Skapa en klient för att använda modellen
Skapa först klienten för att använda modellen. I följande kod används en slutpunkts-URL och nyckel som lagras i miljövariabler.
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"]),
)
Hämta modellens funktioner
Vägen /info
returnerar information om den modell som distribueras till slutpunkten. Returnera modellens information genom att anropa följande metod:
model_info = model.get_model_info()
Svaret är följande:
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
Skapa inbäddningar
Skapa en inbäddningsbegäran för att se modellens utdata.
response = model.embed(
input=["The ultimate answer to the question of life"],
)
Dricks
Kontextfönstret för Cohere Embed V3-modeller är 512. Se till att du inte överskrider den här gränsen när du skapar inbäddningar.
Svaret är följande, där du kan se modellens användningsstatistik:
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)
Det kan vara användbart att beräkna inbäddningar i indatabatch. Parametern inputs
kan vara en lista över strängar, där varje sträng är olika indata. Svaret är i sin tur en lista över inbäddningar, där varje inbäddning motsvarar indata i samma position.
response = model.embed(
input=[
"The ultimate answer to the question of life",
"The largest planet in our solar system is Jupiter",
],
)
Svaret är följande, där du kan se modellens användningsstatistik:
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)
Dricks
Cohere Embed V3-modeller kan ta batchar på 1024 åt gången. När du skapar batchar kontrollerar du att du inte överskrider den här gränsen.
Skapa olika typer av inbäddningar
Cohere Embed V3-modeller kan generera flera inbäddningar för samma indata beroende på hur du planerar att använda dem. Med den här funktionen kan du hämta mer exakta inbäddningar för RAG-mönster.
I följande exempel visas hur du skapar inbäddningar som används för att skapa en inbäddning för ett dokument som ska lagras i en vektordatabas:
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,
)
När du arbetar med en fråga för att hämta ett sådant dokument kan du använda följande kodfragment för att skapa inbäddningarna för frågan och maximera hämtningsprestandan.
from azure.ai.inference.models import EmbeddingInputType
response = model.embed(
input=["What's the ultimate meaning of life?"],
input_type=EmbeddingInputType.QUERY,
)
Cohere Embed V3-modeller kan optimera inbäddningarna baserat på dess användningsfall.
Sammanhängande inbäddningsmodeller
Cohere-serien med modeller för inbäddningar innehåller följande modeller:
Cohere Embed English är en multimodal (text och bild) representationsmodell som används för semantisk sökning, hämtningsförhöjd generation (RAG), klassificering och klustring. Embed English presterar bra på HuggingFace (massiv textbäddning) MTEB-benchmark och i användningsfall för olika branscher, till exempel Finance, Legal och General-Purpose Corpora. Bädda in engelska har också följande attribut:
- Bädda in engelska har 1 024 dimensioner
- Kontextfönstret för modellen är 512 tokens
- Bädda in engelska accepterar bilder som en base64-kodad data-URL
Inbäddningar av bilder förbrukar ett fast antal token per bild – 1 000 token per bild – vilket innebär ett pris på 0,0001 USD per inbäddad bild. Bildens storlek eller upplösning påverkar inte antalet förbrukade token, förutsatt att bilden ligger inom de godkända dimensionerna, filstorleken och formaten.
Förutsättningar
Om du vill använda Cohere Embed V3-modeller med Azure AI Studio behöver du följande förutsättningar:
En modelldistribution
Distribution till serverlösa API:er
Cohere Embed V3-modeller kan distribueras till serverlösa API-slutpunkter med betala per användning-fakturering. Den här typen av distribution ger ett sätt att använda modeller som ett API utan att vara värd för dem i din prenumeration, samtidigt som den företagssäkerhet och efterlevnad som organisationer behöver bevaras.
Distribution till en serverlös API-slutpunkt kräver inte kvot från din prenumeration. Om din modell inte redan har distribuerats använder du Azure AI Studio, Azure Machine Learning SDK för Python, Azure CLI eller ARM-mallar för att distribuera modellen som ett serverlöst API.
Inferenspaketet installerat
Du kan använda förutsägelser från den här modellen med hjälp @azure-rest/ai-inference
av paketet från npm
. För att installera det här paketet behöver du följande krav:
- LTS-versioner av
Node.js
mednpm
. - Slutpunkts-URL:en. Om du vill skapa klientbiblioteket måste du skicka in slutpunkts-URL:en. Slutpunkts-URL:en har formuläret
https://your-host-name.your-azure-region.inference.ai.azure.com
, däryour-host-name
är värdnamnet för din unika modelldistribution ochyour-azure-region
är den Azure-region där modellen distribueras (till exempel eastus2). - Beroende på din modelldistribution och autentiseringsinställning behöver du antingen en nyckel för att autentisera mot tjänsten eller autentiseringsuppgifter för Microsoft Entra-ID. Nyckeln är en sträng på 32 tecken.
När du har dessa förutsättningar installerar du Azure Inference-biblioteket för JavaScript med följande kommando:
npm install @azure-rest/ai-inference
Dricks
Dessutom stöder Cohere användning av ett skräddarsytt API för användning med specifika funktioner i modellen. Om du vill använda det specifika API:et för modellprovidern går du till dokumentationen för Cohere.
Arbeta med inbäddningar
I det här avsnittet använder du Azure AI-modellinferens-API :et med en inbäddningsmodell.
Skapa en klient för att använda modellen
Skapa först klienten för att använda modellen. I följande kod används en slutpunkts-URL och nyckel som lagras i miljövariabler.
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)
);
Hämta modellens funktioner
Vägen /info
returnerar information om den modell som distribueras till slutpunkten. Returnera modellens information genom att anropa följande metod:
await client.path("/info").get()
Svaret är följande:
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
Skapa inbäddningar
Skapa en inbäddningsbegäran för att se modellens utdata.
var response = await client.path("/embeddings").post({
body: {
input: ["The ultimate answer to the question of life"],
}
});
Dricks
Kontextfönstret för Cohere Embed V3-modeller är 512. Se till att du inte överskrider den här gränsen när du skapar inbäddningar.
Svaret är följande, där du kan se modellens användningsstatistik:
if (isUnexpected(response)) {
throw response.body.error;
}
console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);
Det kan vara användbart att beräkna inbäddningar i indatabatch. Parametern inputs
kan vara en lista över strängar, där varje sträng är olika indata. Svaret är i sin tur en lista över inbäddningar, där varje inbäddning motsvarar indata i samma position.
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",
],
}
});
Svaret är följande, där du kan se modellens användningsstatistik:
if (isUnexpected(response)) {
throw response.body.error;
}
console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);
Dricks
Cohere Embed V3-modeller kan ta batchar på 1024 åt gången. När du skapar batchar kontrollerar du att du inte överskrider den här gränsen.
Skapa olika typer av inbäddningar
Cohere Embed V3-modeller kan generera flera inbäddningar för samma indata beroende på hur du planerar att använda dem. Med den här funktionen kan du hämta mer exakta inbäddningar för RAG-mönster.
I följande exempel visas hur du skapar inbäddningar som används för att skapa en inbäddning för ett dokument som ska lagras i en vektordatabas:
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",
}
});
När du arbetar med en fråga för att hämta ett sådant dokument kan du använda följande kodfragment för att skapa inbäddningarna för frågan och maximera hämtningsprestandan.
var response = await client.path("/embeddings").post({
body: {
input: ["What's the ultimate meaning of life?"],
input_type: "query",
}
});
Cohere Embed V3-modeller kan optimera inbäddningarna baserat på dess användningsfall.
Sammanhängande inbäddningsmodeller
Cohere-serien med modeller för inbäddningar innehåller följande modeller:
Cohere Embed English är en multimodal (text och bild) representationsmodell som används för semantisk sökning, hämtningsförhöjd generation (RAG), klassificering och klustring. Embed English presterar bra på HuggingFace (massiv textbäddning) MTEB-benchmark och i användningsfall för olika branscher, till exempel Finance, Legal och General-Purpose Corpora. Bädda in engelska har också följande attribut:
- Bädda in engelska har 1 024 dimensioner
- Kontextfönstret för modellen är 512 tokens
- Bädda in engelska accepterar bilder som en base64-kodad data-URL
Inbäddningar av bilder förbrukar ett fast antal token per bild – 1 000 token per bild – vilket innebär ett pris på 0,0001 USD per inbäddad bild. Bildens storlek eller upplösning påverkar inte antalet förbrukade token, förutsatt att bilden ligger inom de godkända dimensionerna, filstorleken och formaten.
Förutsättningar
Om du vill använda Cohere Embed V3-modeller med Azure AI Studio behöver du följande förutsättningar:
En modelldistribution
Distribution till serverlösa API:er
Cohere Embed V3-modeller kan distribueras till serverlösa API-slutpunkter med betala per användning-fakturering. Den här typen av distribution ger ett sätt att använda modeller som ett API utan att vara värd för dem i din prenumeration, samtidigt som den företagssäkerhet och efterlevnad som organisationer behöver bevaras.
Distribution till en serverlös API-slutpunkt kräver inte kvot från din prenumeration. Om din modell inte redan har distribuerats använder du Azure AI Studio, Azure Machine Learning SDK för Python, Azure CLI eller ARM-mallar för att distribuera modellen som ett serverlöst API.
En REST-klient
Modeller som distribueras med Azure AI-modellinferens-API :et kan användas med valfri REST-klient. Om du vill använda REST-klienten behöver du följande krav:
- Om du vill skapa begäranden måste du skicka in slutpunkts-URL:en. Slutpunkts-URL:en har formuläret
https://your-host-name.your-azure-region.inference.ai.azure.com
, däryour-host-name
är värdnamnet för din unika modelldistribution ochyour-azure-region
är den Azure-region där modellen distribueras (till exempel eastus2). - Beroende på din modelldistribution och autentiseringsinställning behöver du antingen en nyckel för att autentisera mot tjänsten eller autentiseringsuppgifter för Microsoft Entra-ID. Nyckeln är en sträng på 32 tecken.
Dricks
Dessutom stöder Cohere användning av ett skräddarsytt API för användning med specifika funktioner i modellen. Om du vill använda det specifika API:et för modellprovidern går du till dokumentationen för Cohere.
Arbeta med inbäddningar
I det här avsnittet använder du Azure AI-modellinferens-API :et med en inbäddningsmodell.
Skapa en klient för att använda modellen
Skapa först klienten för att använda modellen. I följande kod används en slutpunkts-URL och nyckel som lagras i miljövariabler.
Hämta modellens funktioner
Vägen /info
returnerar information om den modell som distribueras till slutpunkten. Returnera modellens information genom att anropa följande metod:
GET /info HTTP/1.1
Host: <ENDPOINT_URI>
Authorization: Bearer <TOKEN>
Content-Type: application/json
Svaret är följande:
{
"model_name": "Cohere-embed-v3-english",
"model_type": "embeddings",
"model_provider_name": "Cohere"
}
Skapa inbäddningar
Skapa en inbäddningsbegäran för att se modellens utdata.
{
"input": [
"The ultimate answer to the question of life"
]
}
Dricks
Kontextfönstret för Cohere Embed V3-modeller är 512. Se till att du inte överskrider den här gränsen när du skapar inbäddningar.
Svaret är följande, där du kan se modellens användningsstatistik:
{
"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
}
}
Det kan vara användbart att beräkna inbäddningar i indatabatch. Parametern inputs
kan vara en lista över strängar, där varje sträng är olika indata. Svaret är i sin tur en lista över inbäddningar, där varje inbäddning motsvarar indata i samma position.
{
"input": [
"The ultimate answer to the question of life",
"The largest planet in our solar system is Jupiter"
]
}
Svaret är följande, där du kan se modellens användningsstatistik:
{
"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
}
}
Dricks
Cohere Embed V3-modeller kan ta batchar på 1024 åt gången. När du skapar batchar kontrollerar du att du inte överskrider den här gränsen.
Skapa olika typer av inbäddningar
Cohere Embed V3-modeller kan generera flera inbäddningar för samma indata beroende på hur du planerar att använda dem. Med den här funktionen kan du hämta mer exakta inbäddningar för RAG-mönster.
I följande exempel visas hur du skapar inbäddningar som används för att skapa en inbäddning för ett dokument som ska lagras i en vektordatabas:
{
"input": [
"The answer to the ultimate question of life, the universe, and everything is 42"
],
"input_type": "document"
}
När du arbetar med en fråga för att hämta ett sådant dokument kan du använda följande kodfragment för att skapa inbäddningarna för frågan och maximera hämtningsprestandan.
{
"input": [
"What's the ultimate meaning of life?"
],
"input_type": "query"
}
Cohere Embed V3-modeller kan optimera inbäddningarna baserat på dess användningsfall.
Fler slutsatsdragningsexempel
beskrivning | Språk | Exempel |
---|---|---|
Webbbegäranden | Bash | cohere-embed.ipynb |
Azure AI-slutsatsdragningspaket för JavaScript | JavaScript | Länk |
Azure AI-slutsatsdragningspaket för Python | Python | Länk |
OpenAI SDK (experimentell) | Python | Länk |
LangChain | Python | Länk |
Cohere SDK | Python | Länk |
LiteLLM SDK | Python | Länk |
Exempel på hämtning av utökad generation (RAG) och verktyg
beskrivning | Paket | Exempel |
---|---|---|
Skapa ett vektorindex för lokal Facebook AI-likhetssökning (FAISS) med hjälp av cohere-inbäddningar – Langchain | langchain , langchain_cohere |
cohere_faiss_langchain_embed.ipynb |
Använd Cohere Command R/R+ för att besvara frågor från data i det lokala FAISS-vektorindexet – Langchain | langchain , langchain_cohere |
command_faiss_langchain.ipynb |
Använd Cohere Command R/R+ för att besvara frågor från data i AI-sökvektorindex – Langchain | langchain , langchain_cohere |
cohere-aisearch-langchain-rag.ipynb |
Använd Cohere Command R/R+ för att besvara frågor från data i AI-sökvektorindex – Cohere SDK | cohere , azure_search_documents |
cohere-aisearch-rag.ipynb |
Kommando-R+-verktyg/funktionsanrop med Hjälp av LangChain | cohere , , langchain langchain_cohere |
command_tools-langchain.ipynb |
Kostnads- och kvotöverväganden för cohere-serien med modeller som distribueras som serverlösa API-slutpunkter
Enhetliga modeller som distribueras som ett serverlöst API erbjuds av Cohere via Azure Marketplace och integreras med Azure AI Studio för användning. Du hittar prissättningen för Azure Marketplace när du distribuerar modellen.
Varje gång ett projekt prenumererar på ett visst erbjudande från Azure Marketplace skapas en ny resurs för att spåra de kostnader som är kopplade till förbrukningen. Samma resurs används för att spåra kostnader som är associerade med slutsatsdragning. Flera mätare är dock tillgängliga för att spåra varje scenario oberoende av varandra.
Mer information om hur du spårar kostnader finns i Övervaka kostnader för modeller som erbjuds i hela Azure Marketplace.
Kvot hanteras per distribution. Varje distribution har en hastighetsgräns på 200 000 token per minut och 1 000 API-begäranden per minut. För närvarande begränsar vi dock en distribution per modell per projekt. Kontakta Microsoft Azure Support om de aktuella hastighetsgränserna inte räcker för dina scenarier.