Jak používat modely Cohere Embed V3 s studio Azure Machine Learning
V tomto článku se dozvíte o modelech Cohere Embed V3 a o tom, jak je používat s studio Azure Machine Learning. Řada modelů Cohere zahrnuje různé modely optimalizované pro různé případy použití, včetně dokončování chatu, vkládání a opětovného pořadí. Modely cohere jsou optimalizované pro různé případy použití, mezi které patří odůvodnění, shrnutí a odpovědi na otázky.
Důležité
Tato funkce je v současné době ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti.
Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Kohere embedding models
Řada modelů Cohere pro vkládání zahrnuje následující modely:
Cohere Embed English je multimodální model reprezentace (text a obrázek) používaný pro sémantické vyhledávání, načítání rozšířené generace (RAG), klasifikaci a clustering. Vkládání angličtiny funguje dobře na srovnávacím testu MTEB HuggingFace (masivní vkládání textu) a na případy použití pro různá odvětví, jako jsou finance, právní a obecné korpory. Vložená angličtina má také následující atributy:
- Vložit angličtinu má 1 024 dimenzí
- Kontextové okno modelu je 512 tokenů
- Vložení angličtiny přijímá obrázky jako adresu URL dat s kódováním base64.
Vkládání obrázků spotřebovává pevný počet tokenů na image – 1 000 tokenů na obrázek – což se přeloží na cenu 0,0001 USD za vložený obrázek. Velikost nebo rozlišení obrázku nemá vliv na počet spotřebovaných tokenů za předpokladu, že obrázek spadá do přijatých dimenzí, velikosti souboru a formátů.
Požadavky
Pokud chcete používat modely Cohere Embed V3 s studio Azure Machine Learning, potřebujete následující požadavky:
Nasazení modelu
Nasazení do bezserverových rozhraní API
Modely Cohere Embed V3 je možné nasadit do koncových bodů bezserverového rozhraní API s průběžnými platbami. Tento druh nasazení poskytuje způsob, jak využívat modely jako rozhraní API bez jejich hostování ve vašem předplatném a současně udržovat podnikové zabezpečení a dodržování předpisů, které organizace potřebují.
Nasazení do koncového bodu bezserverového rozhraní API nevyžaduje kvótu z vašeho předplatného. Pokud váš model ještě není nasazený, nasaďte model jako bezserverové rozhraní API pomocí studio Azure Machine Learning, studio Azure Machine Learning, sady Azure Machine Learning SDK pro Python, Azure CLI nebo šablon ARM.
Nainstalovaný balíček odvození
Predikce z tohoto modelu můžete využívat pomocí azure-ai-inference
balíčku s Pythonem. K instalaci tohoto balíčku potřebujete následující požadavky:
- Nainstalovaný Python 3.8 nebo novější, včetně pipu.
- Adresa URL koncového bodu. Pokud chcete vytvořit klientskou knihovnu, musíte předat adresu URL koncového bodu. Adresa URL koncového bodu má formulář
https://your-host-name.your-azure-region.inference.ai.azure.com
, kdeyour-host-name
je jedinečný název hostitele nasazení modelu ayour-azure-region
oblast Azure, ve které je model nasazený (například eastus2). - V závislosti na nasazení modelu a předvolbě ověřování potřebujete klíč k ověření ve službě nebo přihlašovací údaje Microsoft Entra ID. Klíč je řetězec s 32 znaky.
Jakmile budete mít tyto požadavky, nainstalujte balíček odvození Azure AI pomocí následujícího příkazu:
pip install azure-ai-inference
Přečtěte si další informace o balíčku a referenci pro odvození AI v Azure.
Tip
Společnost Cohere navíc podporuje použití přizpůsobeného rozhraní API pro použití s konkrétními funkcemi modelu. Pokud chcete použít rozhraní API specifické pro zprostředkovatele modelu, projděte si dokumentaci ke službě Cohere.
Práce se vkládáním
V této části použijete rozhraní API pro odvozování modelu Azure AI s modelem vkládání.
Vytvoření klienta pro využívání modelu
Nejprve vytvořte klienta, který bude model využívat. Následující kód používá adresu URL koncového bodu a klíč, které jsou uložené v proměnných prostředí.
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"]),
)
Získání možností modelu
Trasa /info
vrátí informace o modelu, který je nasazený do koncového bodu. Informace o modelu vrátíte voláním následující metody:
model_info = model.get_model_info()
Odpověď je následující:
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
Vytváření vložených objektů
Vytvořte požadavek pro vložení, abyste viděli výstup modelu.
response = model.embed(
input=["The ultimate answer to the question of life"],
)
Tip
Kontextové okno pro modely Cohere Embed V3 je 512. Při vytváření vkládání se ujistěte, že tento limit nepřekračujete.
Odpověď je následující, kde vidíte statistiku využití modelu:
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)
Může být užitečné vypočítat vkládání do vstupních dávek. inputs
Parametr může být seznam řetězců, kde každý řetězec je jiný vstup. Odpověď je seznam vkládání, kde každé vložení odpovídá vstupu ve stejné pozici.
response = model.embed(
input=[
"The ultimate answer to the question of life",
"The largest planet in our solar system is Jupiter",
],
)
Odpověď je následující, kde vidíte statistiku využití modelu:
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)
Tip
Modely Cohere Embed V3 mohou najednou trvat dávky 1024. Při vytváření dávek se ujistěte, že tento limit nepřekračujete.
Vytváření různých typů vkládání
Modely Cohere Embed V3 můžou generovat více vkládání pro stejný vstup v závislosti na tom, jak je plánujete používat. Tato funkce umožňuje načíst přesnější vkládání pro vzory RAG.
Následující příklad ukazuje, jak vytvořit vkládání, které se používají k vytvoření vkládání pro dokument, který bude uložen ve vektorové databázi:
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,
)
Když pracujete na dotazu na načtení takového dokumentu, můžete pomocí následujícího fragmentu kódu vytvořit vkládání pro dotaz a maximalizovat výkon načítání.
from azure.ai.inference.models import EmbeddingInputType
response = model.embed(
input=["What's the ultimate meaning of life?"],
input_type=EmbeddingInputType.QUERY,
)
Modely Cohere Embed V3 můžou optimalizovat vkládání na základě případu použití.
Kohere embedding models
Řada modelů Cohere pro vkládání zahrnuje následující modely:
Cohere Embed English je multimodální model reprezentace (text a obrázek) používaný pro sémantické vyhledávání, načítání rozšířené generace (RAG), klasifikaci a clustering. Vkládání angličtiny funguje dobře na srovnávacím testu MTEB HuggingFace (masivní vkládání textu) a na případy použití pro různá odvětví, jako jsou finance, právní a obecné korpory. Vložená angličtina má také následující atributy:
- Vložit angličtinu má 1 024 dimenzí
- Kontextové okno modelu je 512 tokenů
- Vložení angličtiny přijímá obrázky jako adresu URL dat s kódováním base64.
Vkládání obrázků spotřebovává pevný počet tokenů na image – 1 000 tokenů na obrázek – což se přeloží na cenu 0,0001 USD za vložený obrázek. Velikost nebo rozlišení obrázku nemá vliv na počet spotřebovaných tokenů za předpokladu, že obrázek spadá do přijatých dimenzí, velikosti souboru a formátů.
Požadavky
Pokud chcete používat modely Cohere Embed V3 s studio Azure Machine Learning, potřebujete následující požadavky:
Nasazení modelu
Nasazení do bezserverových rozhraní API
Modely Cohere Embed V3 je možné nasadit do koncových bodů bezserverového rozhraní API s průběžnými platbami. Tento druh nasazení poskytuje způsob, jak využívat modely jako rozhraní API bez jejich hostování ve vašem předplatném a současně udržovat podnikové zabezpečení a dodržování předpisů, které organizace potřebují.
Nasazení do koncového bodu bezserverového rozhraní API nevyžaduje kvótu z vašeho předplatného. Pokud váš model ještě není nasazený, nasaďte model jako bezserverové rozhraní API pomocí sady studio Azure Machine Learning, sady Azure Machine Learning SDK pro Python, Azure CLI nebo šablon ARM.
Nainstalovaný balíček odvození
Predikce z tohoto modelu můžete využívat pomocí @azure-rest/ai-inference
balíčku z npm
. K instalaci tohoto balíčku potřebujete následující požadavky:
- VERZE LTS s
Node.js
npm
. - Adresa URL koncového bodu. Pokud chcete vytvořit klientskou knihovnu, musíte předat adresu URL koncového bodu. Adresa URL koncového bodu má formulář
https://your-host-name.your-azure-region.inference.ai.azure.com
, kdeyour-host-name
je jedinečný název hostitele nasazení modelu ayour-azure-region
oblast Azure, ve které je model nasazený (například eastus2). - V závislosti na nasazení modelu a předvolbě ověřování potřebujete klíč k ověření ve službě nebo přihlašovací údaje Microsoft Entra ID. Klíč je řetězec s 32 znaky.
Jakmile budete mít tyto požadavky, nainstalujte knihovnu Azure Inference pro JavaScript pomocí následujícího příkazu:
npm install @azure-rest/ai-inference
Tip
Společnost Cohere navíc podporuje použití přizpůsobeného rozhraní API pro použití s konkrétními funkcemi modelu. Pokud chcete použít rozhraní API specifické pro zprostředkovatele modelu, projděte si dokumentaci ke službě Cohere.
Práce se vkládáním
V této části použijete rozhraní API pro odvozování modelu Azure AI s modelem vkládání.
Vytvoření klienta pro využívání modelu
Nejprve vytvořte klienta, který bude model využívat. Následující kód používá adresu URL koncového bodu a klíč, které jsou uložené v proměnných prostředí.
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)
);
Získání možností modelu
Trasa /info
vrátí informace o modelu, který je nasazený do koncového bodu. Informace o modelu vrátíte voláním následující metody:
await client.path("/info").get()
Odpověď je následující:
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
Vytváření vložených objektů
Vytvořte požadavek pro vložení, abyste viděli výstup modelu.
var response = await client.path("/embeddings").post({
body: {
input: ["The ultimate answer to the question of life"],
}
});
Tip
Kontextové okno pro modely Cohere Embed V3 je 512. Při vytváření vkládání se ujistěte, že tento limit nepřekračujete.
Odpověď je následující, kde vidíte statistiku využití modelu:
if (isUnexpected(response)) {
throw response.body.error;
}
console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);
Může být užitečné vypočítat vkládání do vstupních dávek. inputs
Parametr může být seznam řetězců, kde každý řetězec je jiný vstup. Odpověď je seznam vkládání, kde každé vložení odpovídá vstupu ve stejné pozici.
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",
],
}
});
Odpověď je následující, kde vidíte statistiku využití modelu:
if (isUnexpected(response)) {
throw response.body.error;
}
console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);
Tip
Modely Cohere Embed V3 mohou najednou trvat dávky 1024. Při vytváření dávek se ujistěte, že tento limit nepřekračujete.
Vytváření různých typů vkládání
Modely Cohere Embed V3 můžou generovat více vkládání pro stejný vstup v závislosti na tom, jak je plánujete používat. Tato funkce umožňuje načíst přesnější vkládání pro vzory RAG.
Následující příklad ukazuje, jak vytvořit vkládání, které se používají k vytvoření vkládání pro dokument, který bude uložen ve vektorové databázi:
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",
}
});
Když pracujete na dotazu na načtení takového dokumentu, můžete pomocí následujícího fragmentu kódu vytvořit vkládání pro dotaz a maximalizovat výkon načítání.
var response = await client.path("/embeddings").post({
body: {
input: ["What's the ultimate meaning of life?"],
input_type: "query",
}
});
Modely Cohere Embed V3 můžou optimalizovat vkládání na základě případu použití.
Kohere embedding models
Řada modelů Cohere pro vkládání zahrnuje následující modely:
Cohere Embed English je multimodální model reprezentace (text a obrázek) používaný pro sémantické vyhledávání, načítání rozšířené generace (RAG), klasifikaci a clustering. Vkládání angličtiny funguje dobře na srovnávacím testu MTEB HuggingFace (masivní vkládání textu) a na případy použití pro různá odvětví, jako jsou finance, právní a obecné korpory. Vložená angličtina má také následující atributy:
- Vložit angličtinu má 1 024 dimenzí
- Kontextové okno modelu je 512 tokenů
- Vložení angličtiny přijímá obrázky jako adresu URL dat s kódováním base64.
Vkládání obrázků spotřebovává pevný počet tokenů na image – 1 000 tokenů na obrázek – což se přeloží na cenu 0,0001 USD za vložený obrázek. Velikost nebo rozlišení obrázku nemá vliv na počet spotřebovaných tokenů za předpokladu, že obrázek spadá do přijatých dimenzí, velikosti souboru a formátů.
Požadavky
Pokud chcete používat modely Cohere Embed V3 se službou Azure Machine Learning, potřebujete následující požadavky:
Nasazení modelu
Nasazení do bezserverových rozhraní API
Modely Cohere Embed V3 je možné nasadit do koncových bodů bezserverového rozhraní API s průběžnými platbami. Tento druh nasazení poskytuje způsob, jak využívat modely jako rozhraní API bez jejich hostování ve vašem předplatném a současně udržovat podnikové zabezpečení a dodržování předpisů, které organizace potřebují.
Nasazení do koncového bodu bezserverového rozhraní API nevyžaduje kvótu z vašeho předplatného. Pokud váš model ještě není nasazený, nasaďte model jako bezserverové rozhraní API pomocí sady studio Azure Machine Learning, sady Azure Machine Learning SDK pro Python, Azure CLI nebo šablon ARM.
Klient REST
Modely nasazené s rozhraním API pro odvozování modelů Azure AI je možné využívat pomocí libovolného klienta REST. Pokud chcete použít klienta REST, potřebujete následující požadavky:
- K vytvoření požadavků je potřeba předat adresu URL koncového bodu. Adresa URL koncového bodu má formulář
https://your-host-name.your-azure-region.inference.ai.azure.com
, kdeyour-host-name
je jedinečný název hostitele nasazení modelu ayour-azure-region
oblast Azure, ve které je model nasazený (například eastus2). - V závislosti na nasazení modelu a předvolbě ověřování potřebujete klíč k ověření ve službě nebo přihlašovací údaje Microsoft Entra ID. Klíč je řetězec s 32 znaky.
Tip
Společnost Cohere navíc podporuje použití přizpůsobeného rozhraní API pro použití s konkrétními funkcemi modelu. Pokud chcete použít rozhraní API specifické pro zprostředkovatele modelu, projděte si dokumentaci ke službě Cohere.
Práce se vkládáním
V této části použijete rozhraní API pro odvozování modelu Azure AI s modelem vkládání.
Vytvoření klienta pro využívání modelu
Nejprve vytvořte klienta, který bude model využívat. Následující kód používá adresu URL koncového bodu a klíč, které jsou uložené v proměnných prostředí.
Získání možností modelu
Trasa /info
vrátí informace o modelu, který je nasazený do koncového bodu. Informace o modelu vrátíte voláním následující metody:
GET /info HTTP/1.1
Host: <ENDPOINT_URI>
Authorization: Bearer <TOKEN>
Content-Type: application/json
Odpověď je následující:
{
"model_name": "Cohere-embed-v3-english",
"model_type": "embeddings",
"model_provider_name": "Cohere"
}
Vytváření vložených objektů
Vytvořte požadavek pro vložení, abyste viděli výstup modelu.
{
"input": [
"The ultimate answer to the question of life"
]
}
Tip
Kontextové okno pro modely Cohere Embed V3 je 512. Při vytváření vkládání se ujistěte, že tento limit nepřekračujete.
Odpověď je následující, kde vidíte statistiku využití modelu:
{
"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
}
}
Může být užitečné vypočítat vkládání do vstupních dávek. inputs
Parametr může být seznam řetězců, kde každý řetězec je jiný vstup. Odpověď je seznam vkládání, kde každé vložení odpovídá vstupu ve stejné pozici.
{
"input": [
"The ultimate answer to the question of life",
"The largest planet in our solar system is Jupiter"
]
}
Odpověď je následující, kde vidíte statistiku využití modelu:
{
"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
}
}
Tip
Modely Cohere Embed V3 mohou najednou trvat dávky 1024. Při vytváření dávek se ujistěte, že tento limit nepřekračujete.
Vytváření různých typů vkládání
Modely Cohere Embed V3 můžou generovat více vkládání pro stejný vstup v závislosti na tom, jak je plánujete používat. Tato funkce umožňuje načíst přesnější vkládání pro vzory RAG.
Následující příklad ukazuje, jak vytvořit vkládání, které se používají k vytvoření vkládání pro dokument, který bude uložen ve vektorové databázi:
{
"input": [
"The answer to the ultimate question of life, the universe, and everything is 42"
],
"input_type": "document"
}
Když pracujete na dotazu na načtení takového dokumentu, můžete pomocí následujícího fragmentu kódu vytvořit vkládání pro dotaz a maximalizovat výkon načítání.
{
"input": [
"What's the ultimate meaning of life?"
],
"input_type": "query"
}
Modely Cohere Embed V3 můžou optimalizovat vkládání na základě případu použití.
Další příklady odvození
Popis | Jazyk | Vzorek |
---|---|---|
Webové požadavky | Bash | cohere-embed.ipynb |
Balíček odvozování Azure AI pro JavaScript | JavaScript | Odkaz |
Balíček odvozování Azure AI pro Python | Python | Odkaz |
OpenAI SDK (experimentální) | Python | Odkaz |
LangChain | Python | Odkaz |
Cohere SDK | Python | Odkaz |
LiteLLM SDK | Python | Odkaz |
Načítání rozšířené generace (RAG) a nástroje používají ukázky
Popis | Balíčky | Vzorek |
---|---|---|
Vytvoření místního indexu vektorového vyhledávání AI na Facebooku (FAISS) pomocí vkládání cohere – Langchain | langchain , langchain_cohere |
cohere_faiss_langchain_embed.ipynb |
Odpovědi na otázky z dat v místním indexu vektoru FAISS – Langchain pomocí příkazu Cohere Command R/R+ | langchain , langchain_cohere |
command_faiss_langchain.ipynb |
Použití příkazu Cohere Command R/R+ k zodpovězení otázek z dat v indexu vektoru vyhledávání AI – Langchain | langchain , langchain_cohere |
cohere-aisearch-langchain-rag.ipynb |
Použití příkazu Cohere Command R/R+ k zodpovězení otázek z dat v indexu vektoru vyhledávání AI – Cohere SDK | cohere , azure_search_documents |
cohere-aisearch-rag.ipynb |
Command R+ tool/function calling, using LangChain | cohere , , langchain langchain_cohere |
command_tools-langchain.ipynb |
Důležité informace o nákladech a kvótách pro modely Cohere nasazené jako koncové body bezserverového rozhraní API
Modely cohere nasazené jako bezserverové rozhraní API nabízí Společnost Cohere prostřednictvím Azure Marketplace a je integrovaná s studio Azure Machine Learning pro použití. Ceny na Azure Marketplace najdete při nasazení modelu.
Pokaždé, když si projekt předplatí danou nabídku z tržiště Azure Marketplace, vytvoří se nový prostředek pro sledování nákladů spojených s jeho spotřebou. Stejný zdroj se používá ke sledování nákladů spojených s odvozováním; Pro nezávislé sledování jednotlivých scénářů je však k dispozici více měřičů.
Další informace o sledování nákladů naleznete v části Sledování nákladů na modely nabízené prostřednictvím služby Azure Marketplace.
Kvóta se spravuje podle nasazení. Každé nasazení má limit rychlosti 200 000 tokenů za minutu a 1 000 požadavků rozhraní API za minutu. V současné době ale omezujeme jedno nasazení na model na jeden projekt. Pokud aktuální limity sazeb pro vaše scénáře nestačí, obraťte se na podporu Microsoft Azure.