Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Bu makalede işaretlenen (önizleme) öğeler şu anda genel önizleme aşamasındadır. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Bu makalede Mistral-7B ve Mixtral sohbet modelleri ve bunların nasıl kullanılacağı hakkında bilgi ediniyorsunuz. Mistral AI iki model kategorisi sunar:
- Premium modeller: Bunlar Mistral Large, Mistral Small, Mistral-OCR-2503, Mistral Medium 3 (25.05) ve Ministral 3B modelleridir ve kullandıkça öde faturalaması ile sunucusuz API olarak kullanılabilir.
- Açık modeller: Codestral ve Mistral Nemo (sunucusuz API dağıtımları olarak kullanılabilir) ve Mixtral-8x7B-Instruct-v01, Mixtral-8x7B-v01, Mistral-7B-Instruct-v01 ve Mistral-7B-v01 (şirket içinde barındırılan yönetilen uç noktalarda indirilip çalıştırılarak kullanılabilir).
Önemli
Önizleme aşamasında olan modeller, model kataloğundaki model kartlarında önizleme olarak işaretlenir.
Mistral-7B ve Mixtral sohbet modelleri
Mistral-7B ve Mixtral sohbet modelleri aşağıdaki modelleri içerir:
Mistral-7B-Instruct Büyük Dil Modeli (LLM), aşağıdaki mimari seçeneklerine sahip bir transformatör modeli olan Mistral-7B'nin öğretici, ince ayarlı bir sürümüdür:
- Gruplandırılmış Sorgu dikkati
- Kayan Pencere Dikkati
- Bayt-geri dönüş BPE belirteç oluşturucu
Aşağıdaki modeller kullanılabilir:
İpucu
Ayrıca, MistralAI modelin belirli özellikleriyle kullanılmak üzere uyarlanmış bir API kullanımını destekler. Model sağlayıcısına özgü API'yi kullanmak için MistralAI belgelerine bakın veya kod örneklerinin çıkarım örnekleri bölümüne bakın.
Önkoşullar
Azure AI Foundry ile Mistral-7B ve Mixtral sohbet modellerini kullanmak için aşağıdaki önkoşullara ihtiyacınız vardır:
Model dağıtımı
Şirket içinde barındırılan yönetilen işleme dağıtım
Mistral-7B ve Mixtral sohbet modelleri, şirket içinde barındırılan yönetilen çıkarım çözümümüze dağıtılabilir. Bu çözüm, modelin nasıl sunulduğuna ilişkin tüm ayrıntıları özelleştirmenize ve denetlemenize olanak tanır.
Şirket içinde barındırılan yönetilen bir işleme dağıtım için aboneliğinizde yeterli kota olması gerekir. Yeterli kotanız yoksa, paylaşılan kota kullanmak istiyorum seçeneğini belirleyerek geçici kota erişimimizi kullanabilirsiniz ve bu uç noktanın 168 saat içinde silineceğini kabul ediyorum.
Çıkarım paketi yüklü
Python ile paketini kullanarak bu modeldeki azure-ai-inference
tahminleri kullanabilirsiniz. Bu paketi yüklemek için aşağıdaki önkoşullara ihtiyacınız vardır:
- Pip de dahil olmak üzere Python 3.8 veya üzeri yüklü.
- Uç nokta URL'si. İstemci kitaplığını oluşturmak için uç nokta URL'sini geçirmeniz gerekir. Uç nokta URL'si biçimindedir
https://your-host-name.your-azure-region.inference.ai.azure.com
; buradayour-host-name
benzersiz model dağıtım ana bilgisayar adınızdır veyour-azure-region
modelin dağıtıldığı Azure bölgesidir (örneğin eastus2). - Model dağıtımınıza ve kimlik doğrulama tercihinize bağlı olarak, hizmette kimlik doğrulaması yapmak için bir anahtara veya Microsoft Entra Id kimlik bilgilerine ihtiyacınız vardır. Anahtar 32 karakterlik bir dizedir.
Bu önkoşullara sahip olduktan sonra aşağıdaki komutu kullanarak Azure AI çıkarım paketini yükleyin:
pip install azure-ai-inference
Azure AI çıkarım paketi ve başvurusu hakkında daha fazla bilgi edinin.
Sohbet tamamlamalarıyla çalışma
Bu bölümde, sohbet için bir sohbet tamamlama modeliyle Azure AI Model Çıkarım API'sini kullanacaksınız.
İpucu
Model Çıkarımı API'si, Mistral-7B ve Mixtral sohbet modelleri dahil olmak üzere Azure AI Foundry portalında dağıtılan çoğu modelle aynı koda ve yapıya sahip konuşmanızı sağlar.
Modeli kullanmak için istemci oluşturma
İlk olarak, modeli kullanmak için istemcisini oluşturun. Aşağıdaki kod, ortam değişkenlerinde depolanan bir uç nokta URL'si ve anahtarı kullanır.
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"]),
)
Microsoft Entra ID desteğiyle modeli şirket içinde barındırılan bir çevrimiçi uç noktaya dağıttığınızda, istemci oluşturmak için aşağıdaki kod parçacığını kullanabilirsiniz.
import os
from azure.ai.inference import ChatCompletionsClient
from azure.identity import DefaultAzureCredential
client = ChatCompletionsClient(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=DefaultAzureCredential(),
)
Modelin özelliklerini alma
Yol, /info
uç noktaya dağıtılan model hakkındaki bilgileri döndürür. Aşağıdaki yöntemi çağırarak modelin bilgilerini döndürebilirsiniz:
model_info = client.get_model_info()
Yanıt aşağıdaki gibidir:
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
Sohbet tamamlama isteği oluşturma
Aşağıdaki örnekte modele yönelik temel bir sohbet tamamlama isteği oluşturma işlemi gösterilmektedir.
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?"),
],
)
Uyarı
mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02 ve mistralai-Mixtral-8x22B-Instruct-v0-1 sistem iletilerini (role="system"
) desteklemez. Model Çıkarımı API'sini kullandığınızda sistem iletileri, kullanılabilir en yakın özellik olan kullanıcı iletilerine çevrilir. Bu çeviri kolaylık sağlamak için sunulur, ancak modelin sistem iletisindeki yönergeleri doğru güvenilirlik düzeyiyle izlediğini doğrulamanız önemlidir.
Yanıt aşağıdaki gibidir ve modelin kullanım istatistiklerini görebilirsiniz:
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
usage
İstem için kullanılan belirteç sayısını, oluşturulan toplam belirteç sayısını ve tamamlanma için kullanılan belirteç sayısını görmek için yanıttaki bölümü inceleyin.
İçerik yayınla
Varsayılan olarak, tamamlamalar API'si oluşturulan içeriğin tamamını tek bir yanıtta döndürür. Uzun tamamlamalar oluşturuyorsanız yanıtın beklenmesi birkaç saniye sürebilir.
Oluşturulan içeriği almak için içeriği akışla aktarabilirsiniz. Akış içeriği, içerik kullanılabilir hale geldikçe tamamlama işlemini başlatmanıza olanak tanır. Bu mod, yanıtı yalnızca sunucu tarafından gönderilen veri tabanlı olaylar olarak aktaran bir nesne döndürür. İleti alanı yerine delta alanından öbekleri ayıklayın.
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,
)
Tamamlanmaları akış halinde almak için modeli çağırdığınızda stream=True
ayarlayın.
Çıkışı görselleştirmek için akışı yazdıracak bir yardımcı işlev tanımlayın.
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="")
Akışın nasıl içerik oluşturduğunu görselleştirebilirsiniz.
print_stream(result)
Çıkarım istemcisi tarafından desteklenen diğer parametreleri keşfedin
Çıkarım istemcisinde belirtebileceğiniz diğer parametreleri keşfedin. Desteklenen tüm parametrelerin ve bunlara karşılık gelen belgelerin tam listesi için bkz. Model Çıkarım API'si başvurusu.
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() },
)
Uyarı
Mistral modeller JSON çıkış biçimlendirmeyi (response_format = { "type": "json_object" }
) desteklemez. Modelden istediğiniz zaman JSON çıkışları oluşturmasını isteyebilirsiniz. Ancak bu tür çıkışların geçerli JSON olduğu garanti edilmemektedir.
Desteklenen parametreler listesinde olmayan bir parametre geçirmek istiyorsanız, ek parametreler kullanarak bunu temel modele geçirebilirsiniz. Bkz. Modele ek parametreler geçirme.
Modele ek parametreler geçirme
Model Çıkarımı API'si, modele ek parametreler geçirmenizi sağlar. Aşağıdaki kod örneği, modele ek parametre logprobs
geçirmeyi gösterir.
Model Çıkarım API'sine ek parametreler geçirmeden önce modelinizin bu ek parametreleri desteklediğinden emin olun. İstek alt modele yapıldığında, başlık extra-parameters
, pass-through
değeriyle modele iletilir. Bu değer uç noktaya ek parametreleri modele geçirmesini söyler. Modelle ek parametrelerin kullanılması, modelin bunları işleyebileceğini garanti etmez. Hangi ek parametrelerin desteklendiği hakkında bilgi edinmek için modelin belgelerini okuyun.
response = client.complete(
messages=[
SystemMessage(content="You are a helpful assistant."),
UserMessage(content="How many languages are in the world?"),
],
model_extras={
"logprobs": True
}
)
Aşağıdaki ek parametreler Mistral-7B ve Mixtral sohbet modellerine geçirilebilir:
İsim | Açıklama | Türü |
---|---|---|
logit_bias |
Belirteçleri (belirteç oluşturucudaki belirteç kimliğiyle belirtilen) -100 ile 100 arasındaki ilişkili bir sapma değeriyle eşleyen bir JSON nesnesi kabul eder. Matematiksel olarak sapma, örneklemeden önce model tarafından oluşturulan logit'lere eklenir. Tam etki modele göre değişir, ancak -1 ile 1 arasındaki değerler seçim olasılığını azaltmalı veya artırmalıdır; -100 veya 100 gibi değerler, ilgili belirtecin yasaklanması veya özel olarak seçilmesiyle sonuçlanmalıdır. | float |
logprobs |
Çıkış belirteçlerinin günlük olasılıklarının döndürülmesi veya döndürülmemesi. True ise, içinde döndürülen content message her çıkış belirtecinin günlük olasılıklarını döndürür. |
int |
top_logprobs |
Her biri ilişkili günlük olasılığına sahip her belirteç konumunda döndürülecek en olası belirteç sayısını belirten 0 ile 20 arasında bir tamsayı.
logprobs bu parametre kullanılıyorsa olarak ayarlanmalıdır true . |
float |
n |
Her giriş iletisi için oluşturulacak sohbet tamamlama seçenekleri. Tüm seçeneklerde oluşturulan belirteç sayısına göre ücretlendirilirsiniz. | int |
Mistral-7B ve Mixtral sohbet modelleri
Mistral-7B ve Mixtral sohbet modelleri aşağıdaki modelleri içerir:
Mistral-7B-Instruct Büyük Dil Modeli (LLM), aşağıdaki mimari seçeneklerine sahip bir transformatör modeli olan Mistral-7B'nin öğretici, ince ayarlı bir sürümüdür:
- Gruplandırılmış Sorgu dikkati
- Kayan Pencere Dikkati
- Bayt-geri dönüş BPE belirteç oluşturucu
Aşağıdaki modeller kullanılabilir:
İpucu
Ayrıca, MistralAI modelin belirli özellikleriyle kullanılmak üzere uyarlanmış bir API kullanımını destekler. Model sağlayıcısına özgü API'yi kullanmak için MistralAI belgelerine bakın veya kod örneklerinin çıkarım örnekleri bölümüne bakın.
Önkoşullar
Azure AI Foundry ile Mistral-7B ve Mixtral sohbet modellerini kullanmak için aşağıdaki önkoşullara ihtiyacınız vardır:
Model dağıtımı
Şirket içinde barındırılan yönetilen işleme dağıtım
Mistral-7B ve Mixtral sohbet modelleri, şirket içinde barındırılan yönetilen çıkarım çözümümüze dağıtılabilir. Bu çözüm, modelin nasıl sunulduğuna ilişkin tüm ayrıntıları özelleştirmenize ve denetlemenize olanak tanır.
Şirket içinde barındırılan yönetilen bir işleme dağıtım için aboneliğinizde yeterli kota olması gerekir. Yeterli kotanız yoksa, paylaşılan kota kullanmak istiyorum seçeneğini belirleyerek geçici kota erişimimizi kullanabilirsiniz ve bu uç noktanın 168 saat içinde silineceğini kabul ediyorum.
Çıkarım paketi yüklü
bu modeldeki tahminleri, paketinden @azure-rest/ai-inference
kullanarak npm
kullanabilirsiniz. Bu paketi yüklemek için aşağıdaki önkoşullara ihtiyacınız vardır:
- ile
Node.js
lts sürümlerinpm
. - Uç nokta URL'si. İstemci kitaplığını oluşturmak için uç nokta URL'sini geçirmeniz gerekir. Uç nokta URL'si biçimindedir
https://your-host-name.your-azure-region.inference.ai.azure.com
; buradayour-host-name
benzersiz model dağıtım ana bilgisayar adınızdır veyour-azure-region
modelin dağıtıldığı Azure bölgesidir (örneğin eastus2). - Model dağıtımınıza ve kimlik doğrulama tercihinize bağlı olarak, hizmette kimlik doğrulaması yapmak için bir anahtara veya Microsoft Entra Id kimlik bilgilerine ihtiyacınız vardır. Anahtar 32 karakterlik bir dizedir.
Bu önkoşullara sahip olduktan sonra aşağıdaki komutla JavaScript için Azure Çıkarım kitaplığını yükleyin:
npm install @azure-rest/ai-inference
Sohbet tamamlamalarıyla çalışma
Bu bölümde, sohbet için bir sohbet tamamlama modeliyle Azure AI Model Çıkarım API'sini kullanacaksınız.
İpucu
Model Çıkarımı API'si, Mistral-7B ve Mixtral sohbet modelleri dahil olmak üzere Azure AI Foundry portalında dağıtılan çoğu modelle aynı koda ve yapıya sahip konuşmanızı sağlar.
Modeli kullanmak için istemci oluşturma
İlk olarak, modeli kullanmak için istemcisini oluşturun. Aşağıdaki kod, ortam değişkenlerinde depolanan bir uç nokta URL'si ve anahtarı kullanır.
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)
);
Microsoft Entra ID desteğiyle modeli şirket içinde barındırılan bir çevrimiçi uç noktaya dağıttığınızda, istemci oluşturmak için aşağıdaki kod parçacığını kullanabilirsiniz.
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()
);
Modelin özelliklerini alma
Yol, /info
uç noktaya dağıtılan model hakkındaki bilgileri döndürür. Aşağıdaki yöntemi çağırarak modelin bilgilerini döndürebilirsiniz:
var model_info = await client.path("/info").get()
Yanıt aşağıdaki gibidir:
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
Sohbet tamamlama isteği oluşturma
Aşağıdaki örnekte modele yönelik temel bir sohbet tamamlama isteği oluşturma işlemi gösterilmektedir.
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,
}
});
Uyarı
mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02 ve mistralai-Mixtral-8x22B-Instruct-v0-1 sistem iletilerini (role="system"
) desteklemez. Model Çıkarımı API'sini kullandığınızda sistem iletileri, kullanılabilir en yakın özellik olan kullanıcı iletilerine çevrilir. Bu çeviri kolaylık sağlamak için sunulur, ancak modelin sistem iletisindeki yönergeleri doğru güvenilirlik düzeyiyle izlediğini doğrulamanız önemlidir.
Yanıt aşağıdaki gibidir ve modelin kullanım istatistiklerini görebilirsiniz:
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
usage
İstem için kullanılan belirteç sayısını, oluşturulan toplam belirteç sayısını ve tamamlanma için kullanılan belirteç sayısını görmek için yanıttaki bölümü inceleyin.
İçerik yayınla
Varsayılan olarak, tamamlamalar API'si oluşturulan içeriğin tamamını tek bir yanıtta döndürür. Uzun tamamlamalar oluşturuyorsanız yanıtın beklenmesi birkaç saniye sürebilir.
Oluşturulan içeriği almak için içeriği akışla aktarabilirsiniz. Akış içeriği, içerik kullanılabilir hale geldikçe tamamlama işlemini başlatmanıza olanak tanır. Bu mod, yanıtı yalnızca sunucu tarafından gönderilen veri tabanlı olaylar olarak aktaran bir nesne döndürür. İleti alanı yerine delta alanından öbekleri ayıklayın.
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();
Modeli çağırdığınızda tamamlamaların akışı için .asNodeStream()
kullanın.
Akışın nasıl içerik oluşturduğunu görselleştirebilirsiniz.
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 ?? "");
}
}
Çıkarım istemcisi tarafından desteklenen diğer parametreleri keşfedin
Çıkarım istemcisinde belirtebileceğiniz diğer parametreleri keşfedin. Desteklenen tüm parametrelerin ve bunlara karşılık gelen belgelerin tam listesi için bkz. Model Çıkarım API'si başvurusu.
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" },
}
});
Uyarı
Mistral modeller JSON çıkış biçimlendirmeyi (response_format = { "type": "json_object" }
) desteklemez. Modelden istediğiniz zaman JSON çıkışları oluşturmasını isteyebilirsiniz. Ancak bu tür çıkışların geçerli JSON olduğu garanti edilmemektedir.
Desteklenen parametreler listesinde olmayan bir parametre geçirmek istiyorsanız, ek parametreler kullanarak bunu temel modele geçirebilirsiniz. Bkz. Modele ek parametreler geçirme.
Modele ek parametreler geçirme
Model Çıkarımı API'si, modele ek parametreler geçirmenizi sağlar. Aşağıdaki kod örneği, modele ek parametre logprobs
geçirmeyi gösterir.
Model Çıkarım API'sine ek parametreler geçirmeden önce modelinizin bu ek parametreleri desteklediğinden emin olun. İstek alt modele yapıldığında, başlık extra-parameters
, pass-through
değeriyle modele iletilir. Bu değer uç noktaya ek parametreleri modele geçirmesini söyler. Modelle ek parametrelerin kullanılması, modelin bunları işleyebileceğini garanti etmez. Hangi ek parametrelerin desteklendiği hakkında bilgi edinmek için modelin belgelerini okuyun.
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
}
});
Aşağıdaki ek parametreler Mistral-7B ve Mixtral sohbet modellerine geçirilebilir:
İsim | Açıklama | Türü |
---|---|---|
logit_bias |
Belirteçleri (belirteç oluşturucudaki belirteç kimliğiyle belirtilen) -100 ile 100 arasındaki ilişkili bir sapma değeriyle eşleyen bir JSON nesnesi kabul eder. Matematiksel olarak sapma, örneklemeden önce model tarafından oluşturulan logit'lere eklenir. Tam etki modele göre değişir, ancak -1 ile 1 arasındaki değerler seçim olasılığını azaltmalı veya artırmalıdır; -100 veya 100 gibi değerler, ilgili belirtecin yasaklanması veya özel olarak seçilmesiyle sonuçlanmalıdır. | float |
logprobs |
Çıkış belirteçlerinin günlük olasılıklarının döndürülmesi veya döndürülmemesi. True ise, içinde döndürülen content message her çıkış belirtecinin günlük olasılıklarını döndürür. |
int |
top_logprobs |
Her biri ilişkili günlük olasılığına sahip her belirteç konumunda döndürülecek en olası belirteç sayısını belirten 0 ile 20 arasında bir tamsayı.
logprobs bu parametre kullanılıyorsa olarak ayarlanmalıdır true . |
float |
n |
Her giriş iletisi için oluşturulacak sohbet tamamlama seçenekleri. Tüm seçeneklerde oluşturulan belirteç sayısına göre ücretlendirilirsiniz. | int |
Mistral-7B ve Mixtral sohbet modelleri
Mistral-7B ve Mixtral sohbet modelleri aşağıdaki modelleri içerir:
Mistral-7B-Instruct Büyük Dil Modeli (LLM), aşağıdaki mimari seçeneklerine sahip bir transformatör modeli olan Mistral-7B'nin öğretici, ince ayarlı bir sürümüdür:
- Gruplandırılmış Sorgu dikkati
- Kayan Pencere Dikkati
- Bayt-geri dönüş BPE belirteç oluşturucu
Aşağıdaki modeller kullanılabilir:
İpucu
Ayrıca, MistralAI modelin belirli özellikleriyle kullanılmak üzere uyarlanmış bir API kullanımını destekler. Model sağlayıcısına özgü API'yi kullanmak için MistralAI belgelerine bakın veya kod örneklerinin çıkarım örnekleri bölümüne bakın.
Önkoşullar
Azure AI Foundry ile Mistral-7B ve Mixtral sohbet modellerini kullanmak için aşağıdaki önkoşullara ihtiyacınız vardır:
Model dağıtımı
Şirket içinde barındırılan yönetilen işleme dağıtım
Mistral-7B ve Mixtral sohbet modelleri, şirket içinde barındırılan yönetilen çıkarım çözümümüze dağıtılabilir. Bu çözüm, modelin nasıl sunulduğuna ilişkin tüm ayrıntıları özelleştirmenize ve denetlemenize olanak tanır.
Şirket içinde barındırılan yönetilen bir işleme dağıtım için aboneliğinizde yeterli kota olması gerekir. Yeterli kotanız yoksa, paylaşılan kota kullanmak istiyorum seçeneğini belirleyerek geçici kota erişimimizi kullanabilirsiniz ve bu uç noktanın 168 saat içinde silineceğini kabul ediyorum.
Çıkarım paketi yüklü
NuGet'ten gelen paketi kullanarak bu modeldeki Azure.AI.Inference
tahminleri kullanabilirsiniz. Bu paketi yüklemek için aşağıdaki önkoşullara ihtiyacınız vardır:
- Uç nokta URL'si. İstemci kitaplığını oluşturmak için uç nokta URL'sini geçirmeniz gerekir. Uç nokta URL'si biçimindedir
https://your-host-name.your-azure-region.inference.ai.azure.com
; buradayour-host-name
benzersiz model dağıtım ana bilgisayar adınızdır veyour-azure-region
modelin dağıtıldığı Azure bölgesidir (örneğin eastus2). - Model dağıtımınıza ve kimlik doğrulama tercihinize bağlı olarak, hizmette kimlik doğrulaması yapmak için bir anahtara veya Microsoft Entra Id kimlik bilgilerine ihtiyacınız vardır. Anahtar 32 karakterlik bir dizedir.
Bu önkoşullara sahip olduktan sonra aşağıdaki komutla Azure AI çıkarım kitaplığını yükleyin:
dotnet add package Azure.AI.Inference --prerelease
Ayrıca Microsoft Entra Id (eski adıyla Azure Active Directory) ile de kimlik doğrulaması yapabilirsiniz. Azure SDK ile sağlanan kimlik bilgisi sağlayıcılarını kullanmak için paketini yükleyin Azure.Identity
:
dotnet add package Azure.Identity
Aşağıdaki ad alanlarını içeri aktarın:
using Azure;
using Azure.Identity;
using Azure.AI.Inference;
Bu örnekte aşağıdaki ad alanları da kullanılır ancak bunlara her zaman ihtiyacınız olmayabilir:
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Reflection;
Sohbet tamamlamalarıyla çalışma
Bu bölümde, sohbet için bir sohbet tamamlama modeliyle Azure AI Model Çıkarım API'sini kullanacaksınız.
İpucu
Model Çıkarımı API'si, Mistral-7B ve Mixtral sohbet modelleri dahil olmak üzere Azure AI Foundry portalında dağıtılan çoğu modelle aynı koda ve yapıya sahip konuşmanızı sağlar.
Modeli kullanmak için istemci oluşturma
İlk olarak, modeli kullanmak için istemcisini oluşturun. Aşağıdaki kod, ortam değişkenlerinde depolanan bir uç nokta URL'si ve anahtarı kullanır.
ChatCompletionsClient client = new ChatCompletionsClient(
new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL"))
);
Microsoft Entra ID desteğiyle modeli şirket içinde barındırılan bir çevrimiçi uç noktaya dağıttığınızda, istemci oluşturmak için aşağıdaki kod parçacığını kullanabilirsiniz.
client = new ChatCompletionsClient(
new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
new DefaultAzureCredential(includeInteractiveCredentials: true)
);
Modelin özelliklerini alma
Yol, /info
uç noktaya dağıtılan model hakkındaki bilgileri döndürür. Aşağıdaki yöntemi çağırarak modelin bilgilerini döndürebilirsiniz:
Response<ModelInfo> modelInfo = client.GetModelInfo();
Yanıt aşağıdaki gibidir:
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
Sohbet tamamlama isteği oluşturma
Aşağıdaki örnekte modele yönelik temel bir sohbet tamamlama isteği oluşturma işlemi gösterilmektedir.
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);
Uyarı
mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02 ve mistralai-Mixtral-8x22B-Instruct-v0-1 sistem iletilerini (role="system"
) desteklemez. Model Çıkarımı API'sini kullandığınızda sistem iletileri, kullanılabilir en yakın özellik olan kullanıcı iletilerine çevrilir. Bu çeviri kolaylık sağlamak için sunulur, ancak modelin sistem iletisindeki yönergeleri doğru güvenilirlik düzeyiyle izlediğini doğrulamanız önemlidir.
Yanıt aşağıdaki gibidir ve modelin kullanım istatistiklerini görebilirsiniz:
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
usage
İstem için kullanılan belirteç sayısını, oluşturulan toplam belirteç sayısını ve tamamlanma için kullanılan belirteç sayısını görmek için yanıttaki bölümü inceleyin.
İçerik yayınla
Varsayılan olarak, tamamlamalar API'si oluşturulan içeriğin tamamını tek bir yanıtta döndürür. Uzun tamamlamalar oluşturuyorsanız yanıtın beklenmesi birkaç saniye sürebilir.
Oluşturulan içeriği almak için içeriği akışla aktarabilirsiniz. Akış içeriği, içerik kullanılabilir hale geldikçe tamamlama işlemini başlatmanıza olanak tanır. Bu mod, yanıtı yalnızca sunucu tarafından gönderilen veri tabanlı olaylar olarak aktaran bir nesne döndürür. İleti alanı yerine delta alanından öbekleri ayıklayın.
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);
}
Tamamlanmaların akışını gerçekleştirmek için modeli çağırırken CompleteStreamingAsync
yöntemini kullanın. Bu örnekte çağrının zaman uyumsuz bir yöntemde sarmalandığına dikkat edin.
Çıkışı görselleştirmek için, akışı konsolda yazdırmak için zaman uyumsuz bir yöntem tanımlayın.
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);
}
}
}
Akışın nasıl içerik oluşturduğunu görselleştirebilirsiniz.
StreamMessageAsync(client).GetAwaiter().GetResult();
Çıkarım istemcisi tarafından desteklenen diğer parametreleri keşfedin
Çıkarım istemcisinde belirtebileceğiniz diğer parametreleri keşfedin. Desteklenen tüm parametrelerin ve bunlara karşılık gelen belgelerin tam listesi için bkz. Model Çıkarım API'si başvurusu.
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}");
Uyarı
Mistral modeller JSON çıkış biçimlendirmeyi (response_format = { "type": "json_object" }
) desteklemez. Modelden istediğiniz zaman JSON çıkışları oluşturmasını isteyebilirsiniz. Ancak bu tür çıkışların geçerli JSON olduğu garanti edilmemektedir.
Desteklenen parametreler listesinde olmayan bir parametre geçirmek istiyorsanız, ek parametreler kullanarak bunu temel modele geçirebilirsiniz. Bkz. Modele ek parametreler geçirme.
Modele ek parametreler geçirme
Model Çıkarımı API'si, modele ek parametreler geçirmenizi sağlar. Aşağıdaki kod örneği, modele ek parametre logprobs
geçirmeyi gösterir.
Model Çıkarım API'sine ek parametreler geçirmeden önce modelinizin bu ek parametreleri desteklediğinden emin olun. İstek alt modele yapıldığında, başlık extra-parameters
, pass-through
değeriyle modele iletilir. Bu değer uç noktaya ek parametreleri modele geçirmesini söyler. Modelle ek parametrelerin kullanılması, modelin bunları işleyebileceğini garanti etmez. Hangi ek parametrelerin desteklendiği hakkında bilgi edinmek için modelin belgelerini okuyun.
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}");
Aşağıdaki ek parametreler Mistral-7B ve Mixtral sohbet modellerine geçirilebilir:
İsim | Açıklama | Türü |
---|---|---|
logit_bias |
Belirteçleri (belirteç oluşturucudaki belirteç kimliğiyle belirtilen) -100 ile 100 arasındaki ilişkili bir sapma değeriyle eşleyen bir JSON nesnesi kabul eder. Matematiksel olarak sapma, örneklemeden önce model tarafından oluşturulan logit'lere eklenir. Tam etki modele göre değişir, ancak -1 ile 1 arasındaki değerler seçim olasılığını azaltmalı veya artırmalıdır; -100 veya 100 gibi değerler, ilgili belirtecin yasaklanması veya özel olarak seçilmesiyle sonuçlanmalıdır. | float |
logprobs |
Çıkış belirteçlerinin günlük olasılıklarının döndürülmesi veya döndürülmemesi. True ise, içinde döndürülen content message her çıkış belirtecinin günlük olasılıklarını döndürür. |
int |
top_logprobs |
Her biri ilişkili günlük olasılığına sahip her belirteç konumunda döndürülecek en olası belirteç sayısını belirten 0 ile 20 arasında bir tamsayı.
logprobs bu parametre kullanılıyorsa olarak ayarlanmalıdır true . |
float |
n |
Her giriş iletisi için oluşturulacak sohbet tamamlama seçenekleri. Tüm seçeneklerde oluşturulan belirteç sayısına göre ücretlendirilirsiniz. | int |
Mistral-7B ve Mixtral sohbet modelleri
Mistral-7B ve Mixtral sohbet modelleri aşağıdaki modelleri içerir:
Mistral-7B-Instruct Büyük Dil Modeli (LLM), aşağıdaki mimari seçeneklerine sahip bir transformatör modeli olan Mistral-7B'nin öğretici, ince ayarlı bir sürümüdür:
- Gruplandırılmış Sorgu dikkati
- Kayan Pencere Dikkati
- Bayt-geri dönüş BPE belirteç oluşturucu
Aşağıdaki modeller kullanılabilir:
İpucu
Ayrıca, MistralAI modelin belirli özellikleriyle kullanılmak üzere uyarlanmış bir API kullanımını destekler. Model sağlayıcısına özgü API'yi kullanmak için MistralAI belgelerine bakın veya kod örneklerinin çıkarım örnekleri bölümüne bakın.
Önkoşullar
Azure AI Foundry ile Mistral-7B ve Mixtral sohbet modellerini kullanmak için aşağıdaki önkoşullara ihtiyacınız vardır:
Model dağıtımı
Şirket içinde barındırılan yönetilen işleme dağıtım
Mistral-7B ve Mixtral sohbet modelleri, şirket içinde barındırılan yönetilen çıkarım çözümümüze dağıtılabilir. Bu çözüm, modelin nasıl sunulduğuna ilişkin tüm ayrıntıları özelleştirmenize ve denetlemenize olanak tanır.
Şirket içinde barındırılan yönetilen bir işleme dağıtım için aboneliğinizde yeterli kota olması gerekir. Yeterli kotanız yoksa, paylaşılan kota kullanmak istiyorum seçeneğini belirleyerek geçici kota erişimimizi kullanabilirsiniz ve bu uç noktanın 168 saat içinde silineceğini kabul ediyorum.
REST istemcisi
Model Çıkarım API'siyle dağıtılan modeller herhangi bir REST istemcisi kullanılarak kullanılabilir. REST istemcisini kullanmak için aşağıdaki önkoşullara ihtiyacınız vardır:
- İstekleri oluşturmak için uç nokta URL'sini geçirmeniz gerekir. Uç nokta URL'si biçimindedir
https://your-host-name.your-azure-region.inference.ai.azure.com
; buradayour-host-name`` is your unique model deployment host name and
your-azure-region'' modelin dağıtıldığı Azure bölgesidir (örneğin, eastus2). - Model dağıtımınıza ve kimlik doğrulama tercihinize bağlı olarak, hizmette kimlik doğrulaması yapmak için bir anahtara veya Microsoft Entra Id kimlik bilgilerine ihtiyacınız vardır. Anahtar 32 karakterlik bir dizedir.
Sohbet tamamlamalarıyla çalışma
Bu bölümde, sohbet için bir sohbet tamamlama modeliyle Azure AI Model Çıkarım API'sini kullanacaksınız.
İpucu
Model Çıkarımı API'si, Mistral-7B ve Mixtral sohbet modelleri dahil olmak üzere Azure AI Foundry portalında dağıtılan çoğu modelle aynı koda ve yapıya sahip konuşmanızı sağlar.
Modeli kullanmak için istemci oluşturma
İlk olarak, modeli kullanmak için istemcisini oluşturun. Aşağıdaki kod, ortam değişkenlerinde depolanan bir uç nokta URL'si ve anahtarı kullanır.
Microsoft Entra ID desteğiyle modeli şirket içinde barındırılan bir çevrimiçi uç noktaya dağıttığınızda, istemci oluşturmak için aşağıdaki kod parçacığını kullanabilirsiniz.
Modelin özelliklerini alma
Yol, /info
uç noktaya dağıtılan model hakkındaki bilgileri döndürür. Aşağıdaki yöntemi çağırarak modelin bilgilerini döndürebilirsiniz:
GET /info HTTP/1.1
Host: <ENDPOINT_URI>
Authorization: Bearer <TOKEN>
Content-Type: application/json
Yanıt aşağıdaki gibidir:
{
"model_name": "mistralai-Mistral-7B-Instruct-v01",
"model_type": "chat-completions",
"model_provider_name": "MistralAI"
}
Sohbet tamamlama isteği oluşturma
Aşağıdaki örnekte modele yönelik temel bir sohbet tamamlama isteği oluşturma işlemi gösterilmektedir.
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "How many languages are in the world?"
}
]
}
Uyarı
mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02 ve mistralai-Mixtral-8x22B-Instruct-v0-1 sistem iletilerini (role="system"
) desteklemez. Model Çıkarımı API'sini kullandığınızda sistem iletileri, kullanılabilir en yakın özellik olan kullanıcı iletilerine çevrilir. Bu çeviri kolaylık sağlamak için sunulur, ancak modelin sistem iletisindeki yönergeleri doğru güvenilirlik düzeyiyle izlediğini doğrulamanız önemlidir.
Yanıt aşağıdaki gibidir ve modelin kullanım istatistiklerini görebilirsiniz:
{
"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
}
}
usage
İstem için kullanılan belirteç sayısını, oluşturulan toplam belirteç sayısını ve tamamlanma için kullanılan belirteç sayısını görmek için yanıttaki bölümü inceleyin.
İçerik yayınla
Varsayılan olarak, tamamlamalar API'si oluşturulan içeriğin tamamını tek bir yanıtta döndürür. Uzun tamamlamalar oluşturuyorsanız yanıtın beklenmesi birkaç saniye sürebilir.
Oluşturulan içeriği almak için içeriği akışla aktarabilirsiniz. Akış içeriği, içerik kullanılabilir hale geldikçe tamamlama işlemini başlatmanıza olanak tanır. Bu mod, yanıtı yalnızca sunucu tarafından gönderilen veri tabanlı olaylar olarak aktaran bir nesne döndürür. İleti alanı yerine delta alanından öbekleri ayıklayın.
{
"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
}
Akışın nasıl içerik oluşturduğunu görselleştirebilirsiniz.
{
"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
}
]
}
Akıştaki finish_reason
son ileti ayarlandı ve oluşturma işleminin durma nedenini belirtir.
{
"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
}
}
Çıkarım istemcisi tarafından desteklenen diğer parametreleri keşfedin
Çıkarım istemcisinde belirtebileceğiniz diğer parametreleri keşfedin. Desteklenen tüm parametrelerin ve bunlara karşılık gelen belgelerin tam listesi için bkz. Model Çıkarım API'si başvurusu.
{
"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
}
}
Uyarı
Mistral modeller JSON çıkış biçimlendirmeyi (response_format = { "type": "json_object" }
) desteklemez. Modelden istediğiniz zaman JSON çıkışları oluşturmasını isteyebilirsiniz. Ancak bu tür çıkışların geçerli JSON olduğu garanti edilmemektedir.
Desteklenen parametreler listesinde olmayan bir parametre geçirmek istiyorsanız, ek parametreler kullanarak bunu temel modele geçirebilirsiniz. Bkz. Modele ek parametreler geçirme.
Modele ek parametreler geçirme
Model Çıkarımı API'si, modele ek parametreler geçirmenizi sağlar. Aşağıdaki kod örneği, modele ek parametre logprobs
geçirmeyi gösterir.
Model Çıkarım API'sine ek parametreler geçirmeden önce modelinizin bu ek parametreleri desteklediğinden emin olun. İstek alt modele yapıldığında, başlık extra-parameters
, pass-through
değeriyle modele iletilir. Bu değer uç noktaya ek parametreleri modele geçirmesini söyler. Modelle ek parametrelerin kullanılması, modelin bunları işleyebileceğini garanti etmez. Hangi ek parametrelerin desteklendiği hakkında bilgi edinmek için modelin belgelerini okuyun.
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
}
Aşağıdaki ek parametreler Mistral-7B ve Mixtral sohbet modellerine geçirilebilir:
İsim | Açıklama | Türü |
---|---|---|
logit_bias |
Belirteçleri (belirteç oluşturucudaki belirteç kimliğiyle belirtilen) -100 ile 100 arasındaki ilişkili bir sapma değeriyle eşleyen bir JSON nesnesi kabul eder. Matematiksel olarak sapma, örneklemeden önce model tarafından oluşturulan logit'lere eklenir. Tam etki modele göre değişir, ancak -1 ile 1 arasındaki değerler seçim olasılığını azaltmalı veya artırmalıdır; -100 veya 100 gibi değerler, ilgili belirtecin yasaklanması veya özel olarak seçilmesiyle sonuçlanmalıdır. | float |
logprobs |
Çıkış belirteçlerinin günlük olasılıklarının döndürülmesi veya döndürülmemesi. True ise, içinde döndürülen content message her çıkış belirtecinin günlük olasılıklarını döndürür. |
int |
top_logprobs |
Her biri ilişkili günlük olasılığına sahip her belirteç konumunda döndürülecek en olası belirteç sayısını belirten 0 ile 20 arasında bir tamsayı.
logprobs bu parametre kullanılıyorsa olarak ayarlanmalıdır true . |
float |
n |
Her giriş iletisi için oluşturulacak sohbet tamamlama seçenekleri. Tüm seçeneklerde oluşturulan belirteç sayısına göre ücretlendirilirsiniz. | int |
Diğer çıkarım örnekleri
Mistral modellerini kullanma hakkında daha fazla örnek için aşağıdaki örneklere ve öğreticilere bakın:
Açıklama | Dil | Örnek |
---|---|---|
CURL isteği | Bash | Bağlantı |
C# için Azure AI Çıkarım paketi | C# (programlama dili) | Bağlantı |
JavaScript için Azure AI Çıkarım paketi | JavaScript | Bağlantı |
Python için Azure AI Çıkarım paketi | Piton | Bağlantı |
Python web istekleri | Piton | Bağlantı |
OpenAI SDK (deneysel) | Piton | Bağlantı |
LangChain | Piton | Bağlantı |
Mistral AI | Piton | Bağlantı |
LiteLLM | Piton | Bağlantı |
Yönetilen işlemde dağıtılan Mistral modelleri için maliyet ve kota konuları
Yönetilen işlem için dağıtılan mistral modeller, ilişkili işlem örneğinin çekirdek saatlerine göre faturalandırılır. İşlem örneğinin maliyeti, örneğin boyutuna, çalışan örnek sayısına ve çalıştırma süresine göre belirlenir.
Düşük sayıda örnekle başlamak ve gerektiğinde ölçeği genişletmek iyi bir uygulamadır. İşlem örneğinin maliyetini Azure portalından izleyebilirsiniz.