Bagikan melalui


Cara menggunakan model Cohere Embed V3 dengan Azure AI Studio

Penting

Item yang ditandai (pratinjau) dalam artikel ini sedang dalam pratinjau publik. Pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan kami tidak merekomendasikannya untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Dalam artikel ini, Anda mempelajari tentang model Cohere Embed V3 dan cara menggunakannya dengan Azure AI Studio. Keluarga model Cohere mencakup berbagai model yang dioptimalkan untuk kasus penggunaan yang berbeda, termasuk penyelesaian obrolan, penyematan, dan rerank. Model Cohere dioptimalkan untuk berbagai kasus penggunaan yang mencakup penalaran, ringkasan, dan jawaban atas pertanyaan.

Penting

Model yang dalam pratinjau ditandai sebagai pratinjau pada kartu model mereka di katalog model.

Model penyematan kohere

Keluarga model Cohere untuk penyematan mencakup model berikut:

Cohere Embed English adalah model representasi multimodal (teks dan gambar) yang digunakan untuk pencarian semantik, retrieval-augmented generation (RAG), klasifikasi, dan pengklusteran. Embed English berkinerja baik pada tolok ukur MTEB HuggingFace (teks besar-besaran) dan pada kasus penggunaan untuk berbagai industri, seperti Keuangan, Hukum, dan Tujuan Umum Corpora. Sematkan bahasa Inggris juga memiliki atribut berikut:

  • Embed English memiliki 1.024 dimensi
  • Jendela konteks model adalah 512 token
  • Embed English menerima gambar sebagai url data yang dikodekan base64

Penyematan gambar menggunakan jumlah token tetap per gambar—1.000 token per gambar—yang diterjemahkan ke harga $0,0001 per gambar yang disematkan. Ukuran atau resolusi gambar tidak memengaruhi jumlah token yang digunakan, asalkan gambar berada dalam dimensi, ukuran file, dan format yang diterima.

Prasyarat

Untuk menggunakan model Cohere Embed V3 dengan Azure AI Studio, Anda memerlukan prasyarat berikut:

Penyebaran model

Penyebaran ke API tanpa server

Model Cohere Embed V3 dapat disebarkan ke titik akhir API tanpa server dengan penagihan bayar sesuai penggunaan. Penyebaran semacam ini menyediakan cara untuk menggunakan model sebagai API tanpa menghostingnya di langganan Anda, sambil menjaga keamanan dan kepatuhan perusahaan yang dibutuhkan organisasi.

Penyebaran ke titik akhir API tanpa server tidak memerlukan kuota dari langganan Anda. Jika model Anda belum disebarkan, gunakan Azure AI Studio, Azure Pembelajaran Mesin SDK untuk Python, Azure CLI, atau templat ARM untuk menyebarkan model sebagai API tanpa server.

Paket inferensi terinstal

Anda dapat menggunakan prediksi dari model ini dengan menggunakan azure-ai-inference paket dengan Python. Untuk menginstal paket ini, Anda memerlukan prasyarat berikut:

  • Python 3.8 atau yang lebih baru terinstal, termasuk pip.
  • URL titik akhir. Untuk membuat pustaka klien, Anda perlu meneruskan URL titik akhir. URL titik akhir memiliki formulir https://your-host-name.your-azure-region.inference.ai.azure.com, di mana your-host-name adalah nama host penyebaran model unik Anda dan your-azure-region merupakan wilayah Azure tempat model disebarkan (misalnya, eastus2).
  • Bergantung pada penyebaran model dan preferensi autentikasi, Anda memerlukan kunci untuk mengautentikasi terhadap layanan, atau kredensial ID Microsoft Entra. Kuncinya adalah string 32 karakter.

Setelah Anda memiliki prasyarat ini, instal paket inferensi Azure AI dengan perintah berikut:

pip install azure-ai-inference

Baca selengkapnya tentang paket dan referensi inferensi Azure AI.

Tip

Selain itu, Cohere mendukung penggunaan API yang disesuaikan untuk digunakan dengan fitur model tertentu. Untuk menggunakan API khusus penyedia model, periksa dokumentasi Cohere.

Bekerja dengan penyematan

Di bagian ini, Anda menggunakan API inferensi model Azure AI dengan model penyematan.

Membuat klien untuk menggunakan model

Pertama, buat klien untuk menggunakan model. Kode berikut menggunakan URL titik akhir dan kunci yang disimpan dalam variabel lingkungan.

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"]),
)

Mendapatkan kemampuan model

Rute /info mengembalikan informasi tentang model yang disebarkan ke titik akhir. Kembalikan informasi model dengan memanggil metode berikut:

model_info = model.get_model_info()

Responsnya adalah sebagai berikut:

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

Membuat penyematan

Buat permintaan penyematan untuk melihat output model.

response = model.embed(
    input=["The ultimate answer to the question of life"],
)

Tip

Jendela konteks untuk model Cohere Embed V3 adalah 512. Pastikan Anda tidak melebihi batas ini saat membuat penyematan.

Responsnya adalah sebagai berikut, di mana Anda dapat melihat statistik penggunaan model:

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)

Ini dapat berguna untuk menghitung penyematan dalam batch input. Parameter inputs dapat menjadi daftar string, di mana setiap string adalah input yang berbeda. Pada gilirannya respons adalah daftar penyematan, di mana setiap penyematan sesuai dengan input dalam posisi yang sama.

response = model.embed(
    input=[
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter",
    ],
)

Responsnya adalah sebagai berikut, di mana Anda dapat melihat statistik penggunaan model:

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

Model Cohere Embed V3 dapat mengambil batch 1024 pada satu waktu. Saat membuat batch, pastikan Anda tidak melebihi batas ini.

Membuat berbagai jenis penyematan

Model Cohere Embed V3 dapat menghasilkan beberapa penyematan untuk input yang sama tergantung pada bagaimana Anda berencana untuk menggunakannya. Kemampuan ini memungkinkan Anda untuk mengambil penyematan yang lebih akurat untuk pola RAG.

Contoh berikut menunjukkan cara membuat penyematan yang digunakan untuk membuat penyematan untuk dokumen yang akan disimpan dalam database vektor:

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,
)

Saat Anda mengerjakan kueri untuk mengambil dokumen tersebut, Anda bisa menggunakan cuplikan kode berikut untuk membuat penyematan untuk kueri dan memaksimalkan performa pengambilan.

from azure.ai.inference.models import EmbeddingInputType

response = model.embed(
    input=["What's the ultimate meaning of life?"],
    input_type=EmbeddingInputType.QUERY,
)

Model Cohere Embed V3 dapat mengoptimalkan penyematan berdasarkan kasus penggunaannya.

Model penyematan kohere

Keluarga model Cohere untuk penyematan mencakup model berikut:

Cohere Embed English adalah model representasi multimodal (teks dan gambar) yang digunakan untuk pencarian semantik, retrieval-augmented generation (RAG), klasifikasi, dan pengklusteran. Embed English berkinerja baik pada tolok ukur MTEB HuggingFace (teks besar-besaran) dan pada kasus penggunaan untuk berbagai industri, seperti Keuangan, Hukum, dan Tujuan Umum Corpora. Sematkan bahasa Inggris juga memiliki atribut berikut:

  • Embed English memiliki 1.024 dimensi
  • Jendela konteks model adalah 512 token
  • Embed English menerima gambar sebagai url data yang dikodekan base64

Penyematan gambar menggunakan jumlah token tetap per gambar—1.000 token per gambar—yang diterjemahkan ke harga $0,0001 per gambar yang disematkan. Ukuran atau resolusi gambar tidak memengaruhi jumlah token yang digunakan, asalkan gambar berada dalam dimensi, ukuran file, dan format yang diterima.

Prasyarat

Untuk menggunakan model Cohere Embed V3 dengan Azure AI Studio, Anda memerlukan prasyarat berikut:

Penyebaran model

Penyebaran ke API tanpa server

Model Cohere Embed V3 dapat disebarkan ke titik akhir API tanpa server dengan penagihan bayar sesuai penggunaan. Penyebaran semacam ini menyediakan cara untuk menggunakan model sebagai API tanpa menghostingnya di langganan Anda, sambil menjaga keamanan dan kepatuhan perusahaan yang dibutuhkan organisasi.

Penyebaran ke titik akhir API tanpa server tidak memerlukan kuota dari langganan Anda. Jika model Anda belum disebarkan, gunakan Azure AI Studio, Azure Pembelajaran Mesin SDK untuk Python, Azure CLI, atau templat ARM untuk menyebarkan model sebagai API tanpa server.

Paket inferensi terinstal

Anda dapat menggunakan prediksi dari model ini dengan menggunakan @azure-rest/ai-inference paket dari npm. Untuk menginstal paket ini, Anda memerlukan prasyarat berikut:

  • Versi LTS dengan Node.js npm.
  • URL titik akhir. Untuk membuat pustaka klien, Anda perlu meneruskan URL titik akhir. URL titik akhir memiliki formulir https://your-host-name.your-azure-region.inference.ai.azure.com, di mana your-host-name adalah nama host penyebaran model unik Anda dan your-azure-region merupakan wilayah Azure tempat model disebarkan (misalnya, eastus2).
  • Bergantung pada penyebaran model dan preferensi autentikasi, Anda memerlukan kunci untuk mengautentikasi terhadap layanan, atau kredensial ID Microsoft Entra. Kuncinya adalah string 32 karakter.

Setelah Anda memiliki prasyarat ini, instal pustaka Azure Inference untuk JavaScript dengan perintah berikut:

npm install @azure-rest/ai-inference

Tip

Selain itu, Cohere mendukung penggunaan API yang disesuaikan untuk digunakan dengan fitur model tertentu. Untuk menggunakan API khusus penyedia model, periksa dokumentasi Cohere.

Bekerja dengan penyematan

Di bagian ini, Anda menggunakan API inferensi model Azure AI dengan model penyematan.

Membuat klien untuk menggunakan model

Pertama, buat klien untuk menggunakan model. Kode berikut menggunakan URL titik akhir dan kunci yang disimpan dalam variabel lingkungan.

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)
);

Mendapatkan kemampuan model

Rute /info mengembalikan informasi tentang model yang disebarkan ke titik akhir. Kembalikan informasi model dengan memanggil metode berikut:

await client.path("/info").get()

Responsnya adalah sebagai berikut:

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

Membuat penyematan

Buat permintaan penyematan untuk melihat output model.

var response = await client.path("/embeddings").post({
    body: {
        input: ["The ultimate answer to the question of life"],
    }
});

Tip

Jendela konteks untuk model Cohere Embed V3 adalah 512. Pastikan Anda tidak melebihi batas ini saat membuat penyematan.

Responsnya adalah sebagai berikut, di mana Anda dapat melihat statistik penggunaan model:

if (isUnexpected(response)) {
    throw response.body.error;
}

console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);

Ini dapat berguna untuk menghitung penyematan dalam batch input. Parameter inputs dapat menjadi daftar string, di mana setiap string adalah input yang berbeda. Pada gilirannya respons adalah daftar penyematan, di mana setiap penyematan sesuai dengan input dalam posisi yang sama.

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",
        ],
    }
});

Responsnya adalah sebagai berikut, di mana Anda dapat melihat statistik penggunaan model:

if (isUnexpected(response)) {
    throw response.body.error;
}

console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);

Tip

Model Cohere Embed V3 dapat mengambil batch 1024 pada satu waktu. Saat membuat batch, pastikan Anda tidak melebihi batas ini.

Membuat berbagai jenis penyematan

Model Cohere Embed V3 dapat menghasilkan beberapa penyematan untuk input yang sama tergantung pada bagaimana Anda berencana untuk menggunakannya. Kemampuan ini memungkinkan Anda untuk mengambil penyematan yang lebih akurat untuk pola RAG.

Contoh berikut menunjukkan cara membuat penyematan yang digunakan untuk membuat penyematan untuk dokumen yang akan disimpan dalam database vektor:

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",
    }
});

Saat Anda mengerjakan kueri untuk mengambil dokumen tersebut, Anda bisa menggunakan cuplikan kode berikut untuk membuat penyematan untuk kueri dan memaksimalkan performa pengambilan.

var response = await client.path("/embeddings").post({
    body: {
        input: ["What's the ultimate meaning of life?"],
        input_type: "query",
    }
});

Model Cohere Embed V3 dapat mengoptimalkan penyematan berdasarkan kasus penggunaannya.

Model penyematan kohere

Keluarga model Cohere untuk penyematan mencakup model berikut:

Cohere Embed English adalah model representasi multimodal (teks dan gambar) yang digunakan untuk pencarian semantik, retrieval-augmented generation (RAG), klasifikasi, dan pengklusteran. Embed English berkinerja baik pada tolok ukur MTEB HuggingFace (teks besar-besaran) dan pada kasus penggunaan untuk berbagai industri, seperti Keuangan, Hukum, dan Tujuan Umum Corpora. Sematkan bahasa Inggris juga memiliki atribut berikut:

  • Embed English memiliki 1.024 dimensi
  • Jendela konteks model adalah 512 token
  • Embed English menerima gambar sebagai url data yang dikodekan base64

Penyematan gambar menggunakan jumlah token tetap per gambar—1.000 token per gambar—yang diterjemahkan ke harga $0,0001 per gambar yang disematkan. Ukuran atau resolusi gambar tidak memengaruhi jumlah token yang digunakan, asalkan gambar berada dalam dimensi, ukuran file, dan format yang diterima.

Prasyarat

Untuk menggunakan model Cohere Embed V3 dengan Azure AI Studio, Anda memerlukan prasyarat berikut:

Penyebaran model

Penyebaran ke API tanpa server

Model Cohere Embed V3 dapat disebarkan ke titik akhir API tanpa server dengan penagihan bayar sesuai penggunaan. Penyebaran semacam ini menyediakan cara untuk menggunakan model sebagai API tanpa menghostingnya di langganan Anda, sambil menjaga keamanan dan kepatuhan perusahaan yang dibutuhkan organisasi.

Penyebaran ke titik akhir API tanpa server tidak memerlukan kuota dari langganan Anda. Jika model Anda belum disebarkan, gunakan Azure AI Studio, Azure Pembelajaran Mesin SDK untuk Python, Azure CLI, atau templat ARM untuk menyebarkan model sebagai API tanpa server.

Klien REST

Model yang disebarkan dengan API inferensi model Azure AI dapat digunakan menggunakan klien REST apa pun. Untuk menggunakan klien REST, Anda memerlukan prasyarat berikut:

  • Untuk membuat permintaan, Anda perlu meneruskan URL titik akhir. URL titik akhir memiliki formulir https://your-host-name.your-azure-region.inference.ai.azure.com, di mana your-host-name adalah nama host penyebaran model unik Anda dan your-azure-region merupakan wilayah Azure tempat model disebarkan (misalnya, eastus2).
  • Bergantung pada penyebaran model dan preferensi autentikasi, Anda memerlukan kunci untuk mengautentikasi terhadap layanan, atau kredensial ID Microsoft Entra. Kuncinya adalah string 32 karakter.

Tip

Selain itu, Cohere mendukung penggunaan API yang disesuaikan untuk digunakan dengan fitur model tertentu. Untuk menggunakan API khusus penyedia model, periksa dokumentasi Cohere.

Bekerja dengan penyematan

Di bagian ini, Anda menggunakan API inferensi model Azure AI dengan model penyematan.

Membuat klien untuk menggunakan model

Pertama, buat klien untuk menggunakan model. Kode berikut menggunakan URL titik akhir dan kunci yang disimpan dalam variabel lingkungan.

Mendapatkan kemampuan model

Rute /info mengembalikan informasi tentang model yang disebarkan ke titik akhir. Kembalikan informasi model dengan memanggil metode berikut:

GET /info HTTP/1.1
Host: <ENDPOINT_URI>
Authorization: Bearer <TOKEN>
Content-Type: application/json

Responsnya adalah sebagai berikut:

{
    "model_name": "Cohere-embed-v3-english",
    "model_type": "embeddings",
    "model_provider_name": "Cohere"
}

Membuat penyematan

Buat permintaan penyematan untuk melihat output model.

{
    "input": [
        "The ultimate answer to the question of life"
    ]
}

Tip

Jendela konteks untuk model Cohere Embed V3 adalah 512. Pastikan Anda tidak melebihi batas ini saat membuat penyematan.

Responsnya adalah sebagai berikut, di mana Anda dapat melihat statistik penggunaan model:

{
    "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
    }
}

Ini dapat berguna untuk menghitung penyematan dalam batch input. Parameter inputs dapat menjadi daftar string, di mana setiap string adalah input yang berbeda. Pada gilirannya respons adalah daftar penyematan, di mana setiap penyematan sesuai dengan input dalam posisi yang sama.

{
    "input": [
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter"
    ]
}

Responsnya adalah sebagai berikut, di mana Anda dapat melihat statistik penggunaan model:

{
    "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

Model Cohere Embed V3 dapat mengambil batch 1024 pada satu waktu. Saat membuat batch, pastikan Anda tidak melebihi batas ini.

Membuat berbagai jenis penyematan

Model Cohere Embed V3 dapat menghasilkan beberapa penyematan untuk input yang sama tergantung pada bagaimana Anda berencana untuk menggunakannya. Kemampuan ini memungkinkan Anda untuk mengambil penyematan yang lebih akurat untuk pola RAG.

Contoh berikut menunjukkan cara membuat penyematan yang digunakan untuk membuat penyematan untuk dokumen yang akan disimpan dalam database vektor:

{
    "input": [
        "The answer to the ultimate question of life, the universe, and everything is 42"
    ],
    "input_type": "document"
}

Saat Anda mengerjakan kueri untuk mengambil dokumen tersebut, Anda bisa menggunakan cuplikan kode berikut untuk membuat penyematan untuk kueri dan memaksimalkan performa pengambilan.

{
    "input": [
        "What's the ultimate meaning of life?"
    ],
    "input_type": "query"
}

Model Cohere Embed V3 dapat mengoptimalkan penyematan berdasarkan kasus penggunaannya.

Contoh inferensi lainnya

Deskripsi Bahasa Sampel
Permintaan web Bash cohere-embed.ipynb
Paket Inferensi Azure AI untuk JavaScript JavaScript Tautan
Paket Inferensi Azure AI untuk Python Python Tautan
OpenAI SDK (eksperimental) Python Tautan
LangChain Python Tautan
Cohere SDK Python Tautan
LiteLLM SDK Python Tautan

Pengambilan Augmented Generation (RAG) dan alat menggunakan sampel

Deskripsi Paket Sampel
Membuat indeks vektor pencarian kesamaan Facebook AI (FAISS) lokal, menggunakan penyematan Cohere - Langchain langchain, langchain_cohere cohere_faiss_langchain_embed.ipynb
Gunakan Cohere Command R/R+ untuk menjawab pertanyaan dari data dalam indeks vektor FAISS lokal - Langchain langchain, langchain_cohere command_faiss_langchain.ipynb
Gunakan Cohere Command R/R+ untuk menjawab pertanyaan dari data dalam indeks vektor pencarian AI - Langchain langchain, langchain_cohere cohere-aisearch-langchain-rag.ipynb
Gunakan Cohere Command R/R+ untuk menjawab pertanyaan dari data dalam indeks vektor pencarian AI - Cohere SDK cohere, azure_search_documents cohere-aisearch-rag.ipynb
Command R+ tool/function calling, menggunakan LangChain cohere, , langchainlangchain_cohere command_tools-langchain.ipynb

Pertimbangan biaya dan kuota untuk keluarga model Cohere yang disebarkan sebagai titik akhir API tanpa server

Model Cohere yang disebarkan sebagai API tanpa server ditawarkan oleh Cohere melalui Marketplace Azure dan terintegrasi dengan Azure AI Studio untuk digunakan. Anda dapat menemukan harga Marketplace Azure saat menyebarkan model.

Setiap kali proyek berlangganan penawaran tertentu dari Marketplace Azure, sumber daya baru dibuat untuk melacak biaya yang terkait dengan konsumsinya. Sumber daya yang sama digunakan untuk melacak biaya yang terkait dengan inferensi; namun, beberapa meter tersedia untuk melacak setiap skenario secara independen.

Untuk informasi selengkapnya tentang cara melacak biaya, lihat memantau biaya untuk model yang ditawarkan di seluruh Marketplace Azure.

Kuota dikelola per penyebaran. Setiap penyebaran memiliki batas tarif 200.000 token per menit dan 1.000 permintaan API per menit. Namun, saat ini kami membatasi satu penyebaran per model per proyek. Hubungi Dukungan Microsoft Azure jika batas tarif saat ini tidak cukup untuk skenario Anda.