Bagikan melalui


Cara menggunakan model obrolan Mistral-7B dan Mixtral

Penting

Item-item yang ditandai (pratinjau) dalam artikel ini saat ini sedang berada dalam pratinjau publik. Pratinjau ini disediakan tanpa kesepakatan tingkat layanan, dan kami tidak merekomendasikannya untuk penggunaan dalam lingkungan produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk informasi lebih lanjut, lihat Supplemental Terms of Use for Microsoft Azure Previews.

Dalam artikel ini, Anda mempelajari tentang model obrolan Mistral-7B dan Mixtral serta cara menggunakannya. Mistral AI menawarkan dua kategori model, yaitu:

Penting

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

Model obrolan Mistral-7B dan Mixtral

Model obrolan Mistral-7B dan Mixtral mencakup model berikut:

Mistral-7B-Instruct Large Language Model (LLM) adalah versi instruksi yang disempurnakan dari Mistral-7B, model transformator dengan pilihan arsitektur berikut:

  • Perhatian Kueri yang Dikelompokkan
  • Perhatian Jendela Geser
  • Tokenizer BPE byte-fallback

Model berikut tersedia:

Petunjuk / Saran

Selain itu, MistralAI mendukung penggunaan API yang disesuaikan untuk digunakan dengan fitur model tertentu. Untuk menggunakan API khusus penyedia model, periksa dokumentasi MistralAI atau lihat bagian contoh inferensi untuk mengodekan contoh.

Prasyarat

Untuk menggunakan model obrolan Mistral-7B dan Mixtral dengan Azure AI Foundry, Anda memerlukan prasyarat berikut:

Penyebaran model

Penyebaran ke komputasi terkelola yang dihost sendiri

Model obrolan Mistral-7B dan Mixtral dapat disebarkan ke solusi inferensi terkelola yang dihost sendiri, yang memungkinkan Anda menyesuaikan dan mengontrol semua detail tentang bagaimana model disajikan.

Untuk penyebaran ke komputasi terkelola yang dihost sendiri, Anda harus memiliki kuota yang cukup dalam langganan Anda. Jika Anda tidak memiliki cukup kuota yang tersedia, Anda dapat menggunakan akses kuota sementara kami dengan memilih opsi Saya ingin menggunakan kuota bersama dan saya mengakui bahwa titik akhir ini akan dihapus dalam 168 jam.

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.

Bekerja dengan penyelesaian obrolan

Di bagian ini, Anda menggunakan Azure AI Model Inference API dengan model penyelesaian obrolan untuk obrolan.

Petunjuk / Saran

API Inferensi Model memungkinkan Anda berbicara dengan sebagian besar model yang disebarkan di portal Azure AI Foundry dengan kode dan struktur yang sama, termasuk model obrolan Mistral-7B dan Mixtral.

Membuat klien untuk menggunakan model

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

import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential

client = ChatCompletionsClient(
    endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
    credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
)

Saat Anda menyebarkan model ke titik akhir online yang dihost sendiri dengan dukungan ID Microsoft Entra, Anda dapat menggunakan cuplikan kode berikut untuk membuat klien.

import os
from azure.ai.inference import ChatCompletionsClient
from azure.identity import DefaultAzureCredential

client = ChatCompletionsClient(
    endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

Mendapatkan kemampuan model

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

model_info = client.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_name)
Model name: mistralai-Mistral-7B-Instruct-v01
Model type: chat-completions
Model provider name: MistralAI

Membuat permintaan penyelesaian obrolan

Contoh berikut menunjukkan bagaimana Anda dapat membuat permintaan penyelesaian obrolan dasar ke model.

from azure.ai.inference.models import SystemMessage, UserMessage

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="How many languages are in the world?"),
    ],
)

Nota

mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02, dan mistralai-Mixtral-8x22B-Instruct-v0-1 tidak mendukung pesan sistem (role="system"). Saat Anda menggunakan API Inferensi Model, pesan sistem diterjemahkan ke pesan pengguna, yang merupakan kemampuan terdekat yang tersedia. Terjemahan ini ditawarkan untuk kenyamanan, tetapi penting bagi Anda untuk memverifikasi bahwa model mengikuti instruksi dalam pesan sistem dengan tingkat keyakinan yang tepat.

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

print("Response:", response.choices[0].message.content)
print("Model:", response.model)
print("Usage:")
print("\tPrompt tokens:", response.usage.prompt_tokens)
print("\tTotal tokens:", response.usage.total_tokens)
print("\tCompletion tokens:", response.usage.completion_tokens)
Response: As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.
Model: mistralai-Mistral-7B-Instruct-v01
Usage: 
  Prompt tokens: 19
  Total tokens: 91
  Completion tokens: 72

Periksa bagian usage dalam respons untuk melihat jumlah token yang digunakan untuk perintah, jumlah total token yang dihasilkan, dan jumlah token yang digunakan untuk penyelesaian.

Siarkan konten

Secara default, API penyelesaian mengembalikan seluruh konten yang dihasilkan dalam satu respons. Jika Anda menghasilkan penyelesaian yang lama, menunggu respons dapat memakan waktu banyak detik.

Anda dapat stream konten untuk mendapatkannya seiring dengan proses pembuatannya. Konten streaming memungkinkan Anda untuk mulai memproses penyelesaian saat konten tersedia. Mode ini mengembalikan objek yang mengalirkan respons kembali dalam bentuk peristiwa yang hanya berisi data yang dikirimkan oleh server. Ekstrak potongan dari bidang delta, bukan bidang pesan.

result = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="How many languages are in the world?"),
    ],
    temperature=0,
    top_p=1,
    max_tokens=2048,
    stream=True,
)

Untuk melakukan streaming penyelesaian, atur stream=True saat Anda memanggil model.

Untuk memvisualisasikan output, tentukan fungsi pembantu untuk mencetak aliran.

def print_stream(result):
    """
    Prints the chat completion with streaming.
    """
    import time
    for update in result:
        if update.choices:
            print(update.choices[0].delta.content, end="")

Anda dapat memvisualisasikan cara streaming menghasilkan konten:

print_stream(result)

Jelajahi lebih banyak parameter yang didukung oleh klien inferensi

Jelajahi parameter lain yang dapat Anda tentukan di klien inferensi. Untuk daftar lengkap semua parameter yang didukung dan dokumentasi yang sesuai, lihat Referensi API Inferensi Model.

from azure.ai.inference.models import ChatCompletionsResponseFormatText

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="How many languages are in the world?"),
    ],
    presence_penalty=0.1,
    frequency_penalty=0.8,
    max_tokens=2048,
    stop=["<|endoftext|>"],
    temperature=0,
    top_p=1,
    response_format={ "type": ChatCompletionsResponseFormatText() },
)

Peringatan

Model Mistral tidak mendukung pemformatan output JSON (response_format = { "type": "json_object" }). Anda selalu dapat meminta model untuk menghasilkan output JSON. Namun, output tersebut tidak dijamin sebagai JSON yang valid.

Jika Anda ingin meneruskan parameter yang tidak ada dalam daftar parameter yang didukung, Anda dapat meneruskannya ke model yang mendasar menggunakan parameter tambahan. Lihat Meneruskan parameter tambahan ke model.

Melewatkan parameter tambahan ke model

API Inferensi Model memungkinkan Anda meneruskan parameter tambahan ke model. Contoh kode berikut menunjukkan cara meneruskan parameter logprobs tambahan ke model.

Sebelum Anda meneruskan parameter tambahan ke API Inferensi Model, pastikan model Anda mendukung parameter tambahan tersebut. Ketika permintaan dibuat ke model yang mendasar, header extra-parameters diteruskan ke model dengan nilai pass-through. Nilai ini memberi tahu titik akhir untuk meneruskan parameter tambahan ke model. Penggunaan parameter tambahan dengan model tidak menjamin bahwa model benar-benar dapat menanganinya. Baca dokumentasi model untuk memahami parameter tambahan mana yang didukung.

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="How many languages are in the world?"),
    ],
    model_extras={
        "logprobs": True
    }
)

Parameter tambahan berikut dapat diteruskan ke model obrolan Mistral-7B dan Mixtral:

Nama Deskripsi Tipe
logit_bias Menerima objek JSON yang memetakan token (ditentukan oleh ID token mereka di tokenizer) ke nilai bias terkait dari -100 hingga 100. Secara matematis, bias ditambahkan ke logit yang dihasilkan oleh model sebelum pengambilan sampel. Efek yang tepat bervariasi per model, tetapi nilai antara -1 dan 1 harus mengurangi atau meningkatkan kemungkinan pemilihan; nilai seperti -100 atau 100 harus menghasilkan larangan atau pilihan eksklusif dari token yang relevan. float
logprobs Apakah akan mengembalikan probabilitas log dari token output atau tidak. Jika benar, mengembalikan probabilitas logaritmik dari setiap token keluaran yang dikembalikan di content dari message. int
top_logprobs Bilangan bulat antara 0 dan 20 yang menentukan jumlah token yang kemungkinan besar akan dikembalikan pada setiap posisi token, masing-masing dengan probabilitas log terkait. logprobs harus diatur ke true jika parameter ini digunakan. float
n Berapa banyak pilihan penyelesaian obrolan yang akan dihasilkan untuk setiap pesan input. Anda dikenakan biaya berdasarkan jumlah token yang dihasilkan di semua pilihan. int

Model obrolan Mistral-7B dan Mixtral

Model obrolan Mistral-7B dan Mixtral mencakup model berikut:

Mistral-7B-Instruct Large Language Model (LLM) adalah versi instruksi yang disempurnakan dari Mistral-7B, model transformator dengan pilihan arsitektur berikut:

  • Perhatian Kueri yang Dikelompokkan
  • Perhatian Jendela Geser
  • Tokenizer BPE byte-fallback

Model berikut tersedia:

Petunjuk / Saran

Selain itu, MistralAI mendukung penggunaan API yang disesuaikan untuk digunakan dengan fitur model tertentu. Untuk menggunakan API khusus penyedia model, periksa dokumentasi MistralAI atau lihat bagian contoh inferensi untuk mengodekan contoh.

Prasyarat

Untuk menggunakan model obrolan Mistral-7B dan Mixtral dengan Azure AI Foundry, Anda memerlukan prasyarat berikut:

Penyebaran model

Penyebaran ke komputasi terkelola yang dihost sendiri

Model obrolan Mistral-7B dan Mixtral dapat disebarkan ke solusi inferensi terkelola yang dihost sendiri, yang memungkinkan Anda menyesuaikan dan mengontrol semua detail tentang bagaimana model disajikan.

Untuk penyebaran ke komputasi terkelola yang dihost sendiri, Anda harus memiliki kuota yang cukup dalam langganan Anda. Jika Anda tidak memiliki cukup kuota yang tersedia, Anda dapat menggunakan akses kuota sementara kami dengan memilih opsi Saya ingin menggunakan kuota bersama dan saya mengakui bahwa titik akhir ini akan dihapus dalam 168 jam.

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.jsnpm.
  • 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

Bekerja dengan penyelesaian obrolan

Di bagian ini, Anda menggunakan Azure AI Model Inference API dengan model penyelesaian obrolan untuk obrolan.

Petunjuk / Saran

API Inferensi Model memungkinkan Anda berbicara dengan sebagian besar model yang disebarkan di portal Azure AI Foundry dengan kode dan struktur yang sama, termasuk model obrolan Mistral-7B dan Mixtral.

Membuat klien untuk menggunakan model

Pertama, buat klien untuk memanfaatkan 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)
);

Saat Anda menyebarkan model ke titik akhir online yang dihost sendiri dengan dukungan ID Microsoft Entra, Anda dapat menggunakan cuplikan kode berikut untuk membuat klien.

import ModelClient from "@azure-rest/ai-inference";
import { isUnexpected } from "@azure-rest/ai-inference";
import { DefaultAzureCredential }  from "@azure/identity";

const client = new ModelClient(
    process.env.AZURE_INFERENCE_ENDPOINT, 
    new DefaultAzureCredential()
);

Mendapatkan kemampuan model

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

var model_info = 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: mistralai-Mistral-7B-Instruct-v01
Model type: chat-completions
Model provider name: MistralAI

Membuat permintaan penyelesaian obrolan

Contoh berikut menunjukkan bagaimana Anda dapat membuat permintaan penyelesaian obrolan dasar ke model.

var messages = [
    { role: "system", content: "You are a helpful assistant" },
    { role: "user", content: "How many languages are in the world?" },
];

var response = await client.path("/chat/completions").post({
    body: {
        messages: messages,
    }
});

Nota

mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02, dan mistralai-Mixtral-8x22B-Instruct-v0-1 tidak mendukung pesan sistem (role="system"). Saat Anda menggunakan API Inferensi Model, pesan sistem diterjemahkan ke pesan pengguna, yang merupakan kemampuan terdekat yang tersedia. Terjemahan ini ditawarkan untuk kenyamanan, tetapi penting bagi Anda untuk memverifikasi bahwa model mengikuti instruksi dalam pesan sistem dengan tingkat keyakinan yang tepat.

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

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

console.log("Response: ", response.body.choices[0].message.content);
console.log("Model: ", response.body.model);
console.log("Usage:");
console.log("\tPrompt tokens:", response.body.usage.prompt_tokens);
console.log("\tTotal tokens:", response.body.usage.total_tokens);
console.log("\tCompletion tokens:", response.body.usage.completion_tokens);
Response: As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.
Model: mistralai-Mistral-7B-Instruct-v01
Usage: 
  Prompt tokens: 19
  Total tokens: 91
  Completion tokens: 72

Periksa bagian usage dalam respons untuk melihat jumlah token yang digunakan untuk perintah, jumlah total token yang dihasilkan, dan jumlah token yang digunakan untuk penyelesaian.

Siarkan konten

Secara default, API penyelesaian mengembalikan seluruh konten yang dihasilkan dalam satu respons. Jika Anda menghasilkan penyelesaian yang lama, menunggu respons dapat memakan waktu banyak detik.

Anda dapat stream konten untuk mendapatkannya seiring dengan proses pembuatannya. Konten streaming memungkinkan Anda untuk mulai memproses penyelesaian saat konten tersedia. Mode ini mengembalikan objek yang mengalirkan respons kembali dalam bentuk peristiwa yang hanya berisi data yang dikirimkan oleh server. Ekstrak potongan dari bidang delta, bukan bidang pesan.

var messages = [
    { role: "system", content: "You are a helpful assistant" },
    { role: "user", content: "How many languages are in the world?" },
];

var response = await client.path("/chat/completions").post({
    body: {
        messages: messages,
    }
}).asNodeStream();

Untuk melakukan streaming hasil, gunakan .asNodeStream() saat Anda memanggil model.

Anda dapat memvisualisasikan cara streaming menghasilkan konten:

var stream = response.body;
if (!stream) {
    stream.destroy();
    throw new Error(`Failed to get chat completions with status: ${response.status}`);
}

if (response.status !== "200") {
    throw new Error(`Failed to get chat completions: ${response.body.error}`);
}

var sses = createSseStream(stream);

for await (const event of sses) {
    if (event.data === "[DONE]") {
        return;
    }
    for (const choice of (JSON.parse(event.data)).choices) {
        console.log(choice.delta?.content ?? "");
    }
}

Jelajahi lebih banyak parameter yang didukung oleh klien inferensi

Jelajahi parameter lain yang dapat Anda tentukan di klien inferensi. Untuk daftar lengkap semua parameter yang didukung dan dokumentasi yang sesuai, lihat Referensi API Inferensi Model.

var messages = [
    { role: "system", content: "You are a helpful assistant" },
    { role: "user", content: "How many languages are in the world?" },
];

var response = await client.path("/chat/completions").post({
    body: {
        messages: messages,
        presence_penalty: "0.1",
        frequency_penalty: "0.8",
        max_tokens: 2048,
        stop: ["<|endoftext|>"],
        temperature: 0,
        top_p: 1,
        response_format: { type: "text" },
    }
});

Peringatan

Model Mistral tidak mendukung pemformatan output JSON (response_format = { "type": "json_object" }). Anda selalu dapat meminta model untuk menghasilkan output JSON. Namun, output tersebut tidak dijamin sebagai JSON yang valid.

Jika Anda ingin meneruskan parameter yang tidak ada dalam daftar parameter yang didukung, Anda dapat meneruskannya ke model yang mendasar menggunakan parameter tambahan. Lihat Meneruskan parameter tambahan ke model.

Melewatkan parameter tambahan ke model

API Inferensi Model memungkinkan Anda meneruskan parameter tambahan ke model. Contoh kode berikut menunjukkan cara meneruskan parameter logprobs tambahan ke model.

Sebelum Anda meneruskan parameter tambahan ke API Inferensi Model, pastikan model Anda mendukung parameter tambahan tersebut. Ketika permintaan dibuat ke model yang mendasar, header extra-parameters diteruskan ke model dengan nilai pass-through. Nilai ini memberi tahu titik akhir untuk meneruskan parameter tambahan ke model. Penggunaan parameter tambahan dengan model tidak menjamin bahwa model benar-benar dapat menanganinya. Baca dokumentasi model untuk memahami parameter tambahan mana yang didukung.

var messages = [
    { role: "system", content: "You are a helpful assistant" },
    { role: "user", content: "How many languages are in the world?" },
];

var response = await client.path("/chat/completions").post({
    headers: {
        "extra-params": "pass-through"
    },
    body: {
        messages: messages,
        logprobs: true
    }
});

Parameter tambahan berikut dapat diteruskan ke model obrolan Mistral-7B dan Mixtral:

Nama Deskripsi Tipe
logit_bias Menerima objek JSON yang memetakan token (ditentukan oleh ID token mereka di tokenizer) ke nilai bias terkait dari -100 hingga 100. Secara matematis, bias ditambahkan ke logit yang dihasilkan oleh model sebelum pengambilan sampel. Efek yang tepat bervariasi per model, tetapi nilai antara -1 dan 1 harus mengurangi atau meningkatkan kemungkinan pemilihan; nilai seperti -100 atau 100 harus menghasilkan larangan atau pilihan eksklusif dari token yang relevan. float
logprobs Apakah akan mengembalikan probabilitas log dari token output atau tidak. Jika benar, mengembalikan probabilitas logaritmik dari setiap token keluaran yang dikembalikan di content dari message. int
top_logprobs Bilangan bulat antara 0 dan 20 yang menentukan jumlah token yang kemungkinan besar akan dikembalikan pada setiap posisi token, masing-masing dengan probabilitas log terkait. logprobs harus diatur ke true jika parameter ini digunakan. float
n Berapa banyak pilihan penyelesaian obrolan yang akan dihasilkan untuk setiap pesan input. Anda dikenakan biaya berdasarkan jumlah token yang dihasilkan di semua pilihan. int

Model obrolan Mistral-7B dan Mixtral

Model obrolan Mistral-7B dan Mixtral mencakup model berikut:

Mistral-7B-Instruct Large Language Model (LLM) adalah versi instruksi yang disempurnakan dari Mistral-7B, model transformator dengan pilihan arsitektur berikut:

  • Perhatian Kueri yang Dikelompokkan
  • Perhatian Jendela Geser
  • Tokenizer BPE byte-fallback

Model berikut tersedia:

Petunjuk / Saran

Selain itu, MistralAI mendukung penggunaan API yang disesuaikan untuk digunakan dengan fitur model tertentu. Untuk menggunakan API khusus penyedia model, periksa dokumentasi MistralAI atau lihat bagian contoh inferensi untuk mengodekan contoh.

Prasyarat

Untuk menggunakan model obrolan Mistral-7B dan Mixtral dengan Azure AI Foundry, Anda memerlukan prasyarat berikut:

Penyebaran model

Penyebaran ke komputasi terkelola yang dihost sendiri

Model obrolan Mistral-7B dan Mixtral dapat disebarkan ke solusi inferensi terkelola yang dihost sendiri, yang memungkinkan Anda menyesuaikan dan mengontrol semua detail tentang bagaimana model disajikan.

Untuk penyebaran ke komputasi terkelola yang dihost sendiri, Anda harus memiliki kuota yang cukup dalam langganan Anda. Jika Anda tidak memiliki cukup kuota yang tersedia, Anda dapat menggunakan akses kuota sementara kami dengan memilih opsi Saya ingin menggunakan kuota bersama dan saya mengakui bahwa titik akhir ini akan dihapus dalam 168 jam.

Paket inferensi terinstal

Anda dapat menggunakan prediksi dari model ini dengan menggunakan Azure.AI.Inference paket dari NuGet. Untuk menginstal paket ini, Anda memerlukan prasyarat berikut:

  • 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 inferensi Azure AI dengan perintah berikut:

dotnet add package Azure.AI.Inference --prerelease

Anda juga dapat mengautentikasi dengan ID Microsoft Entra (sebelumnya Azure Active Directory). Untuk menggunakan penyedia info masuk yang disediakan dengan Azure SDK, instal Azure.Identity paket:

dotnet add package Azure.Identity

Impor namespace berikut:

using Azure;
using Azure.Identity;
using Azure.AI.Inference;

Contoh ini juga menggunakan namespace berikut tetapi Anda mungkin tidak selalu membutuhkannya:

using System.Text.Json;
using System.Text.Json.Serialization;
using System.Reflection;

Bekerja dengan penyelesaian obrolan

Di bagian ini, Anda menggunakan Azure AI Model Inference API dengan model penyelesaian obrolan untuk obrolan.

Petunjuk / Saran

API Inferensi Model memungkinkan Anda berbicara dengan sebagian besar model yang disebarkan di portal Azure AI Foundry dengan kode dan struktur yang sama, termasuk model obrolan Mistral-7B dan Mixtral.

Membuat klien untuk menggunakan model

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

ChatCompletionsClient client = new ChatCompletionsClient(
    new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
    new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL"))
);

Saat Anda menyebarkan model ke titik akhir online yang dihost sendiri dengan dukungan ID Microsoft Entra, Anda dapat menggunakan cuplikan kode berikut untuk membuat klien.

client = new ChatCompletionsClient(
    new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
    new DefaultAzureCredential(includeInteractiveCredentials: true)
);

Mendapatkan kemampuan model

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

Response<ModelInfo> modelInfo = client.GetModelInfo();

Responsnya adalah sebagai berikut:

Console.WriteLine($"Model name: {modelInfo.Value.ModelName}");
Console.WriteLine($"Model type: {modelInfo.Value.ModelType}");
Console.WriteLine($"Model provider name: {modelInfo.Value.ModelProviderName}");
Model name: mistralai-Mistral-7B-Instruct-v01
Model type: chat-completions
Model provider name: MistralAI

Membuat permintaan penyelesaian obrolan

Contoh berikut menunjukkan bagaimana Anda dapat membuat permintaan penyelesaian obrolan dasar ke model.

ChatCompletionsOptions requestOptions = new ChatCompletionsOptions()
{
    Messages = {
        new ChatRequestSystemMessage("You are a helpful assistant."),
        new ChatRequestUserMessage("How many languages are in the world?")
    },
};

Response<ChatCompletions> response = client.Complete(requestOptions);

Nota

mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02, dan mistralai-Mixtral-8x22B-Instruct-v0-1 tidak mendukung pesan sistem (role="system"). Saat Anda menggunakan API Inferensi Model, pesan sistem diterjemahkan ke pesan pengguna, yang merupakan kemampuan terdekat yang tersedia. Terjemahan ini ditawarkan untuk kenyamanan, tetapi penting bagi Anda untuk memverifikasi bahwa model mengikuti instruksi dalam pesan sistem dengan tingkat keyakinan yang tepat.

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

Console.WriteLine($"Response: {response.Value.Choices[0].Message.Content}");
Console.WriteLine($"Model: {response.Value.Model}");
Console.WriteLine("Usage:");
Console.WriteLine($"\tPrompt tokens: {response.Value.Usage.PromptTokens}");
Console.WriteLine($"\tTotal tokens: {response.Value.Usage.TotalTokens}");
Console.WriteLine($"\tCompletion tokens: {response.Value.Usage.CompletionTokens}");
Response: As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.
Model: mistralai-Mistral-7B-Instruct-v01
Usage: 
  Prompt tokens: 19
  Total tokens: 91
  Completion tokens: 72

Periksa bagian usage dalam respons untuk melihat jumlah token yang digunakan untuk perintah, jumlah total token yang dihasilkan, dan jumlah token yang digunakan untuk penyelesaian.

Siarkan konten

Secara default, API penyelesaian mengembalikan seluruh konten yang dihasilkan dalam satu respons. Jika Anda menghasilkan penyelesaian yang lama, menunggu respons dapat memakan waktu banyak detik.

Anda dapat stream konten untuk mendapatkannya seiring dengan proses pembuatannya. Konten streaming memungkinkan Anda untuk mulai memproses penyelesaian saat konten tersedia. Mode ini mengembalikan objek yang mengalirkan respons kembali dalam bentuk peristiwa yang hanya berisi data yang dikirimkan oleh server. Ekstrak potongan dari bidang delta, bukan bidang pesan.

static async Task StreamMessageAsync(ChatCompletionsClient client)
{
    ChatCompletionsOptions requestOptions = new ChatCompletionsOptions()
    {
        Messages = {
            new ChatRequestSystemMessage("You are a helpful assistant."),
            new ChatRequestUserMessage("How many languages are in the world? Write an essay about it.")
        },
        MaxTokens=4096
    };

    StreamingResponse<StreamingChatCompletionsUpdate> streamResponse = await client.CompleteStreamingAsync(requestOptions);

    await PrintStream(streamResponse);
}

Untuk melakukan streaming penyelesaian, gunakan metode CompleteStreamingAsync saat Anda memanggil model. Perhatikan bahwa dalam contoh ini, panggilan tersebut dimuat dalam metode asinkron.

Untuk memvisualisasikan output, tentukan metode asinkron untuk mencetak aliran di konsol.

static async Task PrintStream(StreamingResponse<StreamingChatCompletionsUpdate> response)
{
    await foreach (StreamingChatCompletionsUpdate chatUpdate in response)
    {
        if (chatUpdate.Role.HasValue)
        {
            Console.Write($"{chatUpdate.Role.Value.ToString().ToUpperInvariant()}: ");
        }
        if (!string.IsNullOrEmpty(chatUpdate.ContentUpdate))
        {
            Console.Write(chatUpdate.ContentUpdate);
        }
    }
}

Anda dapat memvisualisasikan cara streaming menghasilkan konten:

StreamMessageAsync(client).GetAwaiter().GetResult();

Jelajahi lebih banyak parameter yang didukung oleh klien inferensi

Jelajahi parameter lain yang dapat Anda tentukan di klien inferensi. Untuk daftar lengkap semua parameter yang didukung dan dokumentasi yang sesuai, lihat Referensi API Inferensi Model.

requestOptions = new ChatCompletionsOptions()
{
    Messages = {
        new ChatRequestSystemMessage("You are a helpful assistant."),
        new ChatRequestUserMessage("How many languages are in the world?")
    },
    PresencePenalty = 0.1f,
    FrequencyPenalty = 0.8f,
    MaxTokens = 2048,
    StopSequences = { "<|endoftext|>" },
    Temperature = 0,
    NucleusSamplingFactor = 1,
    ResponseFormat = new ChatCompletionsResponseFormatText()
};

response = client.Complete(requestOptions);
Console.WriteLine($"Response: {response.Value.Choices[0].Message.Content}");

Peringatan

Model Mistral tidak mendukung pemformatan output JSON (response_format = { "type": "json_object" }). Anda selalu dapat meminta model untuk menghasilkan output JSON. Namun, output tersebut tidak dijamin sebagai JSON yang valid.

Jika Anda ingin meneruskan parameter yang tidak ada dalam daftar parameter yang didukung, Anda dapat meneruskannya ke model yang mendasar menggunakan parameter tambahan. Lihat Meneruskan parameter tambahan ke model.

Melewatkan parameter tambahan ke model

API Inferensi Model memungkinkan Anda meneruskan parameter tambahan ke model. Contoh kode berikut menunjukkan cara meneruskan parameter logprobs tambahan ke model.

Sebelum Anda meneruskan parameter tambahan ke API Inferensi Model, pastikan model Anda mendukung parameter tambahan tersebut. Ketika permintaan dibuat ke model yang mendasar, header extra-parameters diteruskan ke model dengan nilai pass-through. Nilai ini memberi tahu titik akhir untuk meneruskan parameter tambahan ke model. Penggunaan parameter tambahan dengan model tidak menjamin bahwa model benar-benar dapat menanganinya. Baca dokumentasi model untuk memahami parameter tambahan mana yang didukung.

requestOptions = new ChatCompletionsOptions()
{
    Messages = {
        new ChatRequestSystemMessage("You are a helpful assistant."),
        new ChatRequestUserMessage("How many languages are in the world?")
    },
    AdditionalProperties = { { "logprobs", BinaryData.FromString("true") } },
};

response = client.Complete(requestOptions, extraParams: ExtraParameters.PassThrough);
Console.WriteLine($"Response: {response.Value.Choices[0].Message.Content}");

Parameter tambahan berikut dapat diteruskan ke model obrolan Mistral-7B dan Mixtral:

Nama Deskripsi Tipe
logit_bias Menerima objek JSON yang memetakan token (ditentukan oleh ID token mereka di tokenizer) ke nilai bias terkait dari -100 hingga 100. Secara matematis, bias ditambahkan ke logit yang dihasilkan oleh model sebelum pengambilan sampel. Efek yang tepat bervariasi per model, tetapi nilai antara -1 dan 1 harus mengurangi atau meningkatkan kemungkinan pemilihan; nilai seperti -100 atau 100 harus menghasilkan larangan atau pilihan eksklusif dari token yang relevan. float
logprobs Apakah akan mengembalikan probabilitas log dari token output atau tidak. Jika benar, mengembalikan probabilitas logaritmik dari setiap token keluaran yang dikembalikan di content dari message. int
top_logprobs Bilangan bulat antara 0 dan 20 yang menentukan jumlah token yang kemungkinan besar akan dikembalikan pada setiap posisi token, masing-masing dengan probabilitas log terkait. logprobs harus diatur ke true jika parameter ini digunakan. float
n Berapa banyak pilihan penyelesaian obrolan yang akan dihasilkan untuk setiap pesan input. Anda dikenakan biaya berdasarkan jumlah token yang dihasilkan di semua pilihan. int

Model obrolan Mistral-7B dan Mixtral

Model obrolan Mistral-7B dan Mixtral mencakup model berikut:

Mistral-7B-Instruct Large Language Model (LLM) adalah versi instruksi yang disempurnakan dari Mistral-7B, model transformator dengan pilihan arsitektur berikut:

  • Perhatian Kueri yang Dikelompokkan
  • Perhatian Jendela Geser
  • Tokenizer BPE byte-fallback

Model berikut tersedia:

Petunjuk / Saran

Selain itu, MistralAI mendukung penggunaan API yang disesuaikan untuk digunakan dengan fitur model tertentu. Untuk menggunakan API khusus penyedia model, periksa dokumentasi MistralAI atau lihat bagian contoh inferensi untuk mengodekan contoh.

Prasyarat

Untuk menggunakan model obrolan Mistral-7B dan Mixtral dengan Azure AI Foundry, Anda memerlukan prasyarat berikut:

Penyebaran model

Penyebaran ke komputasi terkelola yang dihost sendiri

Model obrolan Mistral-7B dan Mixtral dapat disebarkan ke solusi inferensi terkelola yang dihost sendiri, yang memungkinkan Anda menyesuaikan dan mengontrol semua detail tentang bagaimana model disajikan.

Untuk penyebaran ke komputasi terkelola yang dihost sendiri, Anda harus memiliki kuota yang cukup dalam langganan Anda. Jika Anda tidak memiliki cukup kuota yang tersedia, Anda dapat menggunakan akses kuota sementara kami dengan memilih opsi Saya ingin menggunakan kuota bersama dan saya mengakui bahwa titik akhir ini akan dihapus dalam 168 jam.

Klien REST

Model yang disebarkan dengan API Inferensi Model 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`` is your unique model deployment host name and wilayah-azure Anda'' adalah 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.

Bekerja dengan penyelesaian obrolan

Di bagian ini, Anda menggunakan Azure AI Model Inference API dengan model penyelesaian obrolan untuk obrolan.

Petunjuk / Saran

API Inferensi Model memungkinkan Anda berbicara dengan sebagian besar model yang disebarkan di portal Azure AI Foundry dengan kode dan struktur yang sama, termasuk model obrolan Mistral-7B dan Mixtral.

Membuat klien untuk menggunakan model

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

Saat Anda menyebarkan model ke titik akhir online yang dihost sendiri dengan dukungan ID Microsoft Entra, Anda dapat menggunakan cuplikan kode berikut untuk membuat klien.

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": "mistralai-Mistral-7B-Instruct-v01",
    "model_type": "chat-completions",
    "model_provider_name": "MistralAI"
}

Membuat permintaan penyelesaian obrolan

Contoh berikut menunjukkan bagaimana Anda dapat membuat permintaan penyelesaian obrolan dasar ke model.

{
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "How many languages are in the world?"
        }
    ]
}

Nota

mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02, dan mistralai-Mixtral-8x22B-Instruct-v0-1 tidak mendukung pesan sistem (role="system"). Saat Anda menggunakan API Inferensi Model, pesan sistem diterjemahkan ke pesan pengguna, yang merupakan kemampuan terdekat yang tersedia. Terjemahan ini ditawarkan untuk kenyamanan, tetapi penting bagi Anda untuk memverifikasi bahwa model mengikuti instruksi dalam pesan sistem dengan tingkat keyakinan yang tepat.

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

{
    "id": "0a1234b5de6789f01gh2i345j6789klm",
    "object": "chat.completion",
    "created": 1718726686,
    "model": "mistralai-Mistral-7B-Instruct-v01",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.",
                "tool_calls": null
            },
            "finish_reason": "stop",
            "logprobs": null
        }
    ],
    "usage": {
        "prompt_tokens": 19,
        "total_tokens": 91,
        "completion_tokens": 72
    }
}

Periksa bagian usage dalam respons untuk melihat jumlah token yang digunakan untuk perintah, jumlah total token yang dihasilkan, dan jumlah token yang digunakan untuk penyelesaian.

Siarkan konten

Secara default, API penyelesaian mengembalikan seluruh konten yang dihasilkan dalam satu respons. Jika Anda menghasilkan penyelesaian yang lama, menunggu respons dapat memakan waktu banyak detik.

Anda dapat stream konten untuk mendapatkannya seiring dengan proses pembuatannya. Konten streaming memungkinkan Anda untuk mulai memproses penyelesaian saat konten tersedia. Mode ini mengembalikan objek yang mengalirkan respons kembali dalam bentuk peristiwa yang hanya berisi data yang dikirimkan oleh server. Ekstrak potongan dari bidang delta, bukan bidang pesan.

{
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "How many languages are in the world?"
        }
    ],
    "stream": true,
    "temperature": 0,
    "top_p": 1,
    "max_tokens": 2048
}

Anda dapat memvisualisasikan cara streaming menghasilkan konten:

{
    "id": "23b54589eba14564ad8a2e6978775a39",
    "object": "chat.completion.chunk",
    "created": 1718726371,
    "model": "mistralai-Mistral-7B-Instruct-v01",
    "choices": [
        {
            "index": 0,
            "delta": {
                "role": "assistant",
                "content": ""
            },
            "finish_reason": null,
            "logprobs": null
        }
    ]
}

Pesan terakhir dalam aliran memiliki finish_reason ditetapkan, menunjukkan alasan proses generasi berhenti.

{
    "id": "23b54589eba14564ad8a2e6978775a39",
    "object": "chat.completion.chunk",
    "created": 1718726371,
    "model": "mistralai-Mistral-7B-Instruct-v01",
    "choices": [
        {
            "index": 0,
            "delta": {
                "content": ""
            },
            "finish_reason": "stop",
            "logprobs": null
        }
    ],
    "usage": {
        "prompt_tokens": 19,
        "total_tokens": 91,
        "completion_tokens": 72
    }
}

Jelajahi lebih banyak parameter yang didukung oleh klien inferensi

Jelajahi parameter lain yang dapat Anda tentukan di klien inferensi. Untuk daftar lengkap semua parameter yang didukung dan dokumentasi yang sesuai, lihat Referensi API Inferensi Model.

{
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "How many languages are in the world?"
        }
    ],
    "presence_penalty": 0.1,
    "frequency_penalty": 0.8,
    "max_tokens": 2048,
    "stop": ["<|endoftext|>"],
    "temperature" :0,
    "top_p": 1,
    "response_format": { "type": "text" }
}
{
    "id": "0a1234b5de6789f01gh2i345j6789klm",
    "object": "chat.completion",
    "created": 1718726686,
    "model": "mistralai-Mistral-7B-Instruct-v01",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "As of now, it's estimated that there are about 7,000 languages spoken around the world. However, this number can vary as some languages become extinct and new ones develop. It's also important to note that the number of speakers can greatly vary between languages, with some having millions of speakers and others only a few hundred.",
                "tool_calls": null
            },
            "finish_reason": "stop",
            "logprobs": null
        }
    ],
    "usage": {
        "prompt_tokens": 19,
        "total_tokens": 91,
        "completion_tokens": 72
    }
}

Peringatan

Model Mistral tidak mendukung pemformatan output JSON (response_format = { "type": "json_object" }). Anda selalu dapat meminta model untuk menghasilkan output JSON. Namun, output tersebut tidak dijamin sebagai JSON yang valid.

Jika Anda ingin meneruskan parameter yang tidak ada dalam daftar parameter yang didukung, Anda dapat meneruskannya ke model yang mendasar menggunakan parameter tambahan. Lihat Meneruskan parameter tambahan ke model.

Melewatkan parameter tambahan ke model

API Inferensi Model memungkinkan Anda meneruskan parameter tambahan ke model. Contoh kode berikut menunjukkan cara meneruskan parameter logprobs tambahan ke model.

Sebelum Anda meneruskan parameter tambahan ke API Inferensi Model, pastikan model Anda mendukung parameter tambahan tersebut. Ketika permintaan dibuat ke model yang mendasar, header extra-parameters diteruskan ke model dengan nilai pass-through. Nilai ini memberi tahu titik akhir untuk meneruskan parameter tambahan ke model. Penggunaan parameter tambahan dengan model tidak menjamin bahwa model benar-benar dapat menanganinya. Baca dokumentasi model untuk memahami parameter tambahan mana yang didukung.

POST /chat/completions HTTP/1.1
Host: <ENDPOINT_URI>
Authorization: Bearer <TOKEN>
Content-Type: application/json
extra-parameters: pass-through
{
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "How many languages are in the world?"
        }
    ],
    "logprobs": true
}

Parameter tambahan berikut dapat diteruskan ke model obrolan Mistral-7B dan Mixtral:

Nama Deskripsi Tipe
logit_bias Menerima objek JSON yang memetakan token (ditentukan oleh ID token mereka di tokenizer) ke nilai bias terkait dari -100 hingga 100. Secara matematis, bias ditambahkan ke logit yang dihasilkan oleh model sebelum pengambilan sampel. Efek yang tepat bervariasi per model, tetapi nilai antara -1 dan 1 harus mengurangi atau meningkatkan kemungkinan pemilihan; nilai seperti -100 atau 100 harus menghasilkan larangan atau pilihan eksklusif dari token yang relevan. float
logprobs Apakah akan mengembalikan probabilitas log dari token output atau tidak. Jika benar, mengembalikan probabilitas logaritmik dari setiap token keluaran yang dikembalikan di content dari message. int
top_logprobs Bilangan bulat antara 0 dan 20 yang menentukan jumlah token yang kemungkinan besar akan dikembalikan pada setiap posisi token, masing-masing dengan probabilitas log terkait. logprobs harus diatur ke true jika parameter ini digunakan. float
n Berapa banyak pilihan penyelesaian obrolan yang akan dihasilkan untuk setiap pesan input. Anda dikenakan biaya berdasarkan jumlah token yang dihasilkan di semua pilihan. int

Contoh inferensi lainnya

Untuk contoh selengkapnya tentang cara menggunakan model Mistral, lihat contoh dan tutorial berikut:

Deskripsi Bahasa Contoh
permintaan CURL Bash (sebuah bahasa shell dan bahasa perintah untuk Unix) Tautan
Paket Inferensi Azure AI untuk C# C# Tautan
Paket Inferensi Azure AI untuk JavaScript JavaScript Tautan
Paket Inferensi Azure AI untuk Python Phyton Tautan
Permintaan HTTP dengan Python Phyton Tautan
OpenAI SDK (eksperimental) Phyton Tautan
LangChain Phyton Tautan
Mistral Kecerdasan Buatan Phyton Tautan
LiteLLM Phyton Tautan

Pertimbangan biaya dan kuota untuk model Mistral yang disebarkan ke komputasi terkelola

Model Mistral yang disebarkan ke komputasi terkelola ditagih berdasarkan jam inti instans komputasi terkait. Biaya instans komputasi ditentukan oleh ukuran instans, jumlah instans yang berjalan, dan durasi eksekusi.

Ini adalah praktik yang baik untuk memulai dengan jumlah instans yang rendah dan meningkatkan skala sesuai kebutuhan. Anda dapat memantau biaya instans komputasi di portal Azure.