Sdílet prostřednictvím


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, kde your-host-name je jedinečný název hostitele nasazení modelu a your-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, kde your-host-name je jedinečný název hostitele nasazení modelu a your-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, kde your-host-name je jedinečný název hostitele nasazení modelu a your-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, , langchainlangchain_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.