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 manayour-host-name
adalah nama host penyebaran model unik Anda danyour-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 manayour-host-name
adalah nama host penyebaran model unik Anda danyour-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 manayour-host-name
adalah nama host penyebaran model unik Anda danyour-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 , , langchain langchain_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.