다음을 통해 공유


Mistral-7B 및 Mixtral 채팅 모델 사용 방법

Important

이 문서에 표시된 항목(미리 보기)은 현재 퍼블릭 미리 보기에서 확인할 수 있습니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

이 문서에서는 Mistral-7B와 Mixtral 채팅 모델에 대해 알아보고 이를 사용하는 방법을 알아봅니다. Mistral AI는 두 가지 범주의 모델을 제공합니다. Mistral Large 및 Mistral Small을 포함한 프리미엄 모델은 종량제 토큰 기반 청구를 사용하는 서버리스 API로 제공됩니다. Mistral Nemo, Mixtral-8x7B-Instruct-v01, Mixtral-8x7B-v01, Mistral-7B-Instruct-v01 및 Mistral-7B-v01을 포함한 오픈 모델도 다운로드할 수 있으며 자체 호스팅 관리 엔드포인트에서 실행할 수 있습니다.

Important

미리 보기에 있는 모델은 모델 카탈로그의 모델 카드에서 미리 보기표시됩니다.

Mistral-7B 및 Mixtral 채팅 모델

Mistral-7B 및 Mixtral 채팅 모델에는 다음 모델이 포함됩니다.

Mistral-7B-Instruct LLM(대규모 언어 모델)은 다음과 같은 아키텍처 선택이 가능한 변환기 모델인 Mistral-7B의 지침이 담긴 미세 조정 버전입니다.

  • 그룹화된 쿼리 주의
  • 슬라이딩 윈도우 주의
  • 바이트 대체 BPE 토크나이저

다음 모델을 사용할 수 있습니다.

또한 MistralAI는 모델의 특정 기능과 함께 사용할 수 있는 맞춤형 API 사용을 지원합니다. 모델 공급자별 API를 사용하려면 MistralAI 설명서를 확인하거나 유추 예 섹션에서 코드 예를 참조하세요.

필수 조건

Azure AI Foundry에서 Mistral-7B 및 Mixtral 채팅 모델을 사용하려면 다음 필수 구성 요소가 필요합니다.

모델 배포

자체 호스팅 관리 컴퓨팅에 대한 배포

Mistral-7B와 Mixtral 채팅 모델은 자체 호스팅 관리 유추 솔루션에 배포할 수 있으며, 이를 통해 모델이 제공되는 방식에 대한 모든 세부 정보를 사용자 지정하고 제어할 수 있습니다.

자체 호스팅 관리 컴퓨팅에 배포하려면 구독에 충분한 할당량이 있어야 합니다. 사용할 수 있는 할당량이 충분하지 않은 경우 공유 할당량을 사용하려 하며 이 엔드포인트가 168시간 후에 삭제됨을 확인합니다 옵션을 선택하여 사용할 수 있습니다.

설치된 유추 패키지

Python과 함께 azure-ai-inference 패키지를 사용하여 이 모델의 예측을 사용할 수 있습니다. 이 패키지를 설치하려면 다음 필수 구성 요소가 필요합니다.

  • pip를 포함하여 Python 3.8 이상이 설치됨.
  • 엔드포인트 URL. 클라이언트 라이브러리를 생성하려면 엔드포인트 URL을 전달해야 합니다. 엔드포인트 URL에는 https://your-host-name.your-azure-region.inference.ai.azure.com 형식이 있습니다. 여기서 your-host-name은(는) 고유한 모델 배포 호스트 이름이고 your-azure-region은(는) 모델이 배포되는 Azure 지역입니다(예: eastus2).
  • 모델 배포 및 인증 기본 설정에 따라 서비스에 대해 인증할 키 또는 Microsoft Entra ID 자격 증명이 필요합니다. 키는 32자 문자열입니다.

이러한 필수 구성 요소가 있으면 다음 명령을 사용하여 Azure AI 유추 패키지를 설치합니다.

pip install azure-ai-inference

Azure AI 유추 패키지 및 참조에 대해 자세히 알아보세요.

채팅 완료 작업

이 섹션에서는 채팅을 위한 채팅 완성 모델과 함께 Azure AI 모델 유추 API를 사용합니다.

Azure AI 모델 유추 API를 사용하면 Mistral-7B 및 Mixtral 채팅 모델을 포함하여 동일한 코드와 구조로 Azure AI Foundry 포털에 배포된 대부분의 모델과 통신할 수 있습니다.

모델을 사용할 클라이언트 만들기

먼저 모델을 사용할 클라이언트를 만듭니다. 다음 코드는 환경 변수에 저장된 엔드포인트 URL과 키를 사용합니다.

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 지원을 사용하여 자체 호스팅 온라인 엔드포인트에 모델을 배포하는 경우 다음 코드 조각을 사용하여 클라이언트를 만들 수 있습니다.

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

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

모델의 기능 가져오기

/info 경로는 엔드포인트에 배포된 모델에 대한 정보를 반환합니다. 다음 메서드를 호출하여 모델의 정보를 반환합니다.

model_info = client.get_model_info()

응답은 다음과 같습니다.

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

채팅 완료 요청 만들기

다음 예제에서는 모델에 대한 기본 채팅 완료 요청을 만드는 방법을 보여 줍니다.

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

참고 항목

mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02 및 mistralai-Mixtral-8x22B-Instruct-v0-1은 시스템 메시지(role="system")를 지원하지 않습니다. Azure AI 모델 유추 API를 사용하면 시스템 메시지가 사용자 메시지로 변환되는데, 이는 사용 가능한 기능 중 가장 가까운 기능입니다. 이러한 번역은 편의를 위해 제공되지만, 모델이 적절한 신뢰도 수준으로 시스템 메시지의 지침을 따르는지 확인해야 합니다.

응답은 다음과 같습니다. 여기서 모델의 사용 통계를 볼 수 있습니다.

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 섹션을 검사하여 프롬프트에 사용된 토큰 수, 생성된 총 토큰 수 및 완료에 사용된 토큰 수를 확인합니다.

콘텐츠 스트리밍

기본적으로 완료 API는 생성된 전체 콘텐츠를 단일 응답으로 반환합니다. 긴 완료를 생성하는 경우 응답을 기다리는 데 몇 초 정도 걸릴 수 있습니다.

생성될 때 가져오기 위해 콘텐츠를 스트리밍할 수 있습니다. 콘텐츠를 스트리밍하면 콘텐츠를 사용할 수 있게 되면 완료 처리를 시작할 수 있습니다. 이 모드는 데이터 전용 서버 전송 이벤트 응답을 다시 스트리밍하는 개체를 반환합니다. 메시지 필드가 아닌 델타 필드에서 청크를 추출합니다.

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

완성을 스트리밍하려면 모델을 호출할 때 stream=True를 설정합니다.

출력을 시각화하려면 스트림을 인쇄하는 도우미 함수를 정의합니다.

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="")

스트리밍에서 콘텐츠를 생성하는 방법을 시각화할 수 있습니다.

print_stream(result)

유추 클라이언트에서 지원하는 더 많은 매개 변수 살펴보기

유추 클라이언트에서 지정할 수 있는 다른 매개 변수를 탐색합니다. 지원되는 모든 매개 변수 및 해당 설명서의 전체 목록은 Azure AI 모델 유추 API 참조를 확인하세요.

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

Warning

Mistral 모델은 JSON 출력 서식(response_format = { "type": "json_object" })을 지원하지 않습니다. 언제든지 모델에 JSON 출력을 생성하라는 메시지를 표시할 수 있습니다. 그러나 이러한 출력이 유효한 JSON으로 보장되지는 않습니다.

지원되는 매개 변수 목록에 없는 매개 변수를 전달하려면 추가 매개 변수를 사용하여 기본 모델에 전달할 수 있습니다. 모델 추가 매개 변수 전달을 참조하세요.

모델에 추가 매개 변수 전달

Azure AI 모델 유추 API를 사용하면 모델에 추가 매개 변수를 전달할 수 있습니다. 다음 코드 예에서는 추가 매개 변수 logprobs를 모델에 전달하는 방법을 보여줍니다.

Azure AI 모델 유추 API에 추가 매개 변수를 전달하기 전에 모델이 이러한 추가 매개 변수를 지원하는지 확인합니다. 기본 모델에 대한 요청이 이루어지면 헤더 extra-parameterspass-through 값이 모델에 전달됩니다. 이 값은 모델에 추가 매개 변수를 전달하도록 엔드포인트에 지시합니다. 모델에서 추가 매개 변수를 사용하면 모델이 실제로 매개 변수를 처리할 수 있다고 보장할 수 없습니다. 지원되는 추가 매개 변수를 이해하려면 모델의 설명서를 읽어보세요.

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

다음 추가 매개 변수는 Mistral-7B 및 Mixtral 채팅 모델에 전달될 수 있습니다.

속성 Description Type
logit_bias 토큰(토크나이저에서 토큰 ID로 지정)을 -100에서 100 사이의 관련 바이어스 값에 매핑하는 JSON 개체를 허용합니다. 수학적으로, 바이어스는 샘플링 전에 모델에 의해 생성된 로짓에 추가됩니다. 정확한 효과는 모델마다 다르지만 -1과 1 사이의 값은 선택 가능성을 줄이거나 높여야 합니다. -100 또는 100과 같은 값은 관련 토큰을 금지하거나 독점적으로 선택해야 합니다. float
logprobs 출력 토큰의 로그 확률을 반환할지 여부를 나타냅니다. true인 경우 messagecontent에 반환된 각 출력 토큰의 로그 확률을 반환합니다. int
top_logprobs 각 토큰 위치에서 반환될 가능성이 가장 높은 토큰 수를 지정하는 0에서 20 사이의 정수로, 각 토큰에는 관련 로그 가능성이 있습니다. 이 매개 변수를 사용하는 경우 logprobstrue로 설정해야 합니다. float
n 각 입력 메시지에 대해 생성할 채팅 완료 선택 항목 수입니다. 모든 선택 항목에 걸쳐 생성된 토큰 수에 따라 요금이 부과됩니다. int

Mistral-7B 및 Mixtral 채팅 모델

Mistral-7B 및 Mixtral 채팅 모델에는 다음 모델이 포함됩니다.

Mistral-7B-Instruct LLM(대규모 언어 모델)은 다음과 같은 아키텍처 선택이 가능한 변환기 모델인 Mistral-7B의 지침이 담긴 미세 조정 버전입니다.

  • 그룹화된 쿼리 주의
  • 슬라이딩 윈도우 주의
  • 바이트 대체 BPE 토크나이저

다음 모델을 사용할 수 있습니다.

또한 MistralAI는 모델의 특정 기능과 함께 사용할 수 있는 맞춤형 API 사용을 지원합니다. 모델 공급자별 API를 사용하려면 MistralAI 설명서를 확인하거나 유추 예 섹션에서 코드 예를 참조하세요.

필수 조건

Azure AI Foundry에서 Mistral-7B 및 Mixtral 채팅 모델을 사용하려면 다음 필수 구성 요소가 필요합니다.

모델 배포

자체 호스팅 관리 컴퓨팅에 대한 배포

Mistral-7B와 Mixtral 채팅 모델은 자체 호스팅 관리 유추 솔루션에 배포할 수 있으며, 이를 통해 모델이 제공되는 방식에 대한 모든 세부 정보를 사용자 지정하고 제어할 수 있습니다.

자체 호스팅 관리 컴퓨팅에 배포하려면 구독에 충분한 할당량이 있어야 합니다. 사용할 수 있는 할당량이 충분하지 않은 경우 공유 할당량을 사용하려 하며 이 엔드포인트가 168시간 후에 삭제됨을 확인합니다 옵션을 선택하여 사용할 수 있습니다.

설치된 유추 패키지

@azure-rest/ai-inference 패키지를 npm으로부터 사용하여 이 모델의 예측을 사용할 수 있습니다. 이 패키지를 설치하려면 다음 필수 구성 요소가 필요합니다.

  • npm이(가) 있는 Node.js의 LTS 버전입니다.
  • 엔드포인트 URL. 클라이언트 라이브러리를 생성하려면 엔드포인트 URL을 전달해야 합니다. 엔드포인트 URL에는 https://your-host-name.your-azure-region.inference.ai.azure.com 형식이 있습니다. 여기서 your-host-name은(는) 고유한 모델 배포 호스트 이름이고 your-azure-region은(는) 모델이 배포되는 Azure 지역입니다(예: eastus2).
  • 모델 배포 및 인증 기본 설정에 따라 서비스에 대해 인증할 키 또는 Microsoft Entra ID 자격 증명이 필요합니다. 키는 32자 문자열입니다.

이러한 필수 구성 요소가 있으면 다음 명령을 사용하여 JavaScript용 Azure 유추 라이브러리를 설치합니다.

npm install @azure-rest/ai-inference

채팅 완료 작업

이 섹션에서는 채팅을 위한 채팅 완성 모델과 함께 Azure AI 모델 유추 API를 사용합니다.

Azure AI 모델 유추 API를 사용하면 Mistral-7B 및 Mixtral 채팅 모델을 포함하여 동일한 코드와 구조로 Azure AI Foundry 포털에 배포된 대부분의 모델과 통신할 수 있습니다.

모델을 사용할 클라이언트 만들기

먼저 모델을 사용할 클라이언트를 만듭니다. 다음 코드는 환경 변수에 저장된 엔드포인트 URL과 키를 사용합니다.

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 지원을 사용하여 자체 호스팅 온라인 엔드포인트에 모델을 배포하는 경우 다음 코드 조각을 사용하여 클라이언트를 만들 수 있습니다.

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

모델의 기능 가져오기

/info 경로는 엔드포인트에 배포된 모델에 대한 정보를 반환합니다. 다음 메서드를 호출하여 모델의 정보를 반환합니다.

var model_info = await client.path("/info").get()

응답은 다음과 같습니다.

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

채팅 완료 요청 만들기

다음 예제에서는 모델에 대한 기본 채팅 완료 요청을 만드는 방법을 보여 줍니다.

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

참고 항목

mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02 및 mistralai-Mixtral-8x22B-Instruct-v0-1은 시스템 메시지(role="system")를 지원하지 않습니다. Azure AI 모델 유추 API를 사용하면 시스템 메시지가 사용자 메시지로 변환되는데, 이는 사용 가능한 기능 중 가장 가까운 기능입니다. 이러한 번역은 편의를 위해 제공되지만, 모델이 적절한 신뢰도 수준으로 시스템 메시지의 지침을 따르는지 확인해야 합니다.

응답은 다음과 같습니다. 여기서 모델의 사용 통계를 볼 수 있습니다.

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 섹션을 검사하여 프롬프트에 사용된 토큰 수, 생성된 총 토큰 수 및 완료에 사용된 토큰 수를 확인합니다.

콘텐츠 스트리밍

기본적으로 완료 API는 생성된 전체 콘텐츠를 단일 응답으로 반환합니다. 긴 완료를 생성하는 경우 응답을 기다리는 데 몇 초 정도 걸릴 수 있습니다.

생성될 때 가져오기 위해 콘텐츠를 스트리밍할 수 있습니다. 콘텐츠를 스트리밍하면 콘텐츠를 사용할 수 있게 되면 완료 처리를 시작할 수 있습니다. 이 모드는 데이터 전용 서버 전송 이벤트 응답을 다시 스트리밍하는 개체를 반환합니다. 메시지 필드가 아닌 델타 필드에서 청크를 추출합니다.

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

완성을 스트리밍하려면 모델을 호출할 때 .asNodeStream()을 사용합니다.

스트리밍에서 콘텐츠를 생성하는 방법을 시각화할 수 있습니다.

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

유추 클라이언트에서 지원하는 더 많은 매개 변수 살펴보기

유추 클라이언트에서 지정할 수 있는 다른 매개 변수를 탐색합니다. 지원되는 모든 매개 변수 및 해당 설명서의 전체 목록은 Azure AI 모델 유추 API 참조를 확인하세요.

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

Warning

Mistral 모델은 JSON 출력 서식(response_format = { "type": "json_object" })을 지원하지 않습니다. 언제든지 모델에 JSON 출력을 생성하라는 메시지를 표시할 수 있습니다. 그러나 이러한 출력이 유효한 JSON으로 보장되지는 않습니다.

지원되는 매개 변수 목록에 없는 매개 변수를 전달하려면 추가 매개 변수를 사용하여 기본 모델에 전달할 수 있습니다. 모델 추가 매개 변수 전달을 참조하세요.

모델에 추가 매개 변수 전달

Azure AI 모델 유추 API를 사용하면 모델에 추가 매개 변수를 전달할 수 있습니다. 다음 코드 예에서는 추가 매개 변수 logprobs를 모델에 전달하는 방법을 보여줍니다.

Azure AI 모델 유추 API에 추가 매개 변수를 전달하기 전에 모델이 이러한 추가 매개 변수를 지원하는지 확인합니다. 기본 모델에 대한 요청이 이루어지면 헤더 extra-parameterspass-through 값이 모델에 전달됩니다. 이 값은 모델에 추가 매개 변수를 전달하도록 엔드포인트에 지시합니다. 모델에서 추가 매개 변수를 사용하면 모델이 실제로 매개 변수를 처리할 수 있다고 보장할 수 없습니다. 지원되는 추가 매개 변수를 이해하려면 모델의 설명서를 읽어보세요.

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

다음 추가 매개 변수는 Mistral-7B 및 Mixtral 채팅 모델에 전달될 수 있습니다.

속성 Description Type
logit_bias 토큰(토크나이저에서 토큰 ID로 지정)을 -100에서 100 사이의 관련 바이어스 값에 매핑하는 JSON 개체를 허용합니다. 수학적으로, 바이어스는 샘플링 전에 모델에 의해 생성된 로짓에 추가됩니다. 정확한 효과는 모델마다 다르지만 -1과 1 사이의 값은 선택 가능성을 줄이거나 높여야 합니다. -100 또는 100과 같은 값은 관련 토큰을 금지하거나 독점적으로 선택해야 합니다. float
logprobs 출력 토큰의 로그 확률을 반환할지 여부를 나타냅니다. true인 경우 messagecontent에 반환된 각 출력 토큰의 로그 확률을 반환합니다. int
top_logprobs 각 토큰 위치에서 반환될 가능성이 가장 높은 토큰 수를 지정하는 0에서 20 사이의 정수로, 각 토큰에는 관련 로그 가능성이 있습니다. 이 매개 변수를 사용하는 경우 logprobstrue로 설정해야 합니다. float
n 각 입력 메시지에 대해 생성할 채팅 완료 선택 항목 수입니다. 모든 선택 항목에 걸쳐 생성된 토큰 수에 따라 요금이 부과됩니다. int

Mistral-7B 및 Mixtral 채팅 모델

Mistral-7B 및 Mixtral 채팅 모델에는 다음 모델이 포함됩니다.

Mistral-7B-Instruct LLM(대규모 언어 모델)은 다음과 같은 아키텍처 선택이 가능한 변환기 모델인 Mistral-7B의 지침이 담긴 미세 조정 버전입니다.

  • 그룹화된 쿼리 주의
  • 슬라이딩 윈도우 주의
  • 바이트 대체 BPE 토크나이저

다음 모델을 사용할 수 있습니다.

또한 MistralAI는 모델의 특정 기능과 함께 사용할 수 있는 맞춤형 API 사용을 지원합니다. 모델 공급자별 API를 사용하려면 MistralAI 설명서를 확인하거나 유추 예 섹션에서 코드 예를 참조하세요.

필수 조건

Azure AI Foundry에서 Mistral-7B 및 Mixtral 채팅 모델을 사용하려면 다음 필수 구성 요소가 필요합니다.

모델 배포

자체 호스팅 관리 컴퓨팅에 대한 배포

Mistral-7B와 Mixtral 채팅 모델은 자체 호스팅 관리 유추 솔루션에 배포할 수 있으며, 이를 통해 모델이 제공되는 방식에 대한 모든 세부 정보를 사용자 지정하고 제어할 수 있습니다.

자체 호스팅 관리 컴퓨팅에 배포하려면 구독에 충분한 할당량이 있어야 합니다. 사용할 수 있는 할당량이 충분하지 않은 경우 공유 할당량을 사용하려 하며 이 엔드포인트가 168시간 후에 삭제됨을 확인합니다 옵션을 선택하여 사용할 수 있습니다.

설치된 유추 패키지

NuGet으로부터 Azure.AI.Inference 패키지를 사용하여 이 모델의 예측을 사용할 수 있습니다. 이 패키지를 설치하려면 다음 필수 구성 요소가 필요합니다.

  • 엔드포인트 URL입니다. 클라이언트 라이브러리를 생성하려면 엔드포인트 URL을 전달해야 합니다. 엔드포인트 URL에는 https://your-host-name.your-azure-region.inference.ai.azure.com 형식이 있습니다. 여기서 your-host-name은(는) 고유한 모델 배포 호스트 이름이고 your-azure-region은(는) 모델이 배포되는 Azure 지역입니다(예: eastus2).
  • 모델 배포 및 인증 기본 설정에 따라 서비스에 대해 인증할 키 또는 Microsoft Entra ID 자격 증명이 필요합니다. 키는 32자 문자열입니다.

이러한 필수 구성 요소가 있으면 다음 명령을 사용하여 Azure AI 유추 라이브러리를 설치합니다.

dotnet add package Azure.AI.Inference --prerelease

Microsoft Entra ID(이전의 Azure Active Directory)로 인증할 수도 있습니다. Azure SDK와 함께 제공되는 자격 증명 공급자를 사용하려면 다음의 Azure.Identity 패키지를 설치합니다.

dotnet add package Azure.Identity

다음 네임스페이스를 가져옵니다.

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

이 예제에서는 다음 네임스페이스도 사용하지만, 항상 필요하지는 않을 수도 있습니다.

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

채팅 완료 작업

이 섹션에서는 채팅을 위한 채팅 완성 모델과 함께 Azure AI 모델 유추 API를 사용합니다.

Azure AI 모델 유추 API를 사용하면 Mistral-7B 및 Mixtral 채팅 모델을 포함하여 동일한 코드와 구조로 Azure AI Foundry 포털에 배포된 대부분의 모델과 통신할 수 있습니다.

모델을 사용할 클라이언트 만들기

먼저 모델을 사용할 클라이언트를 만듭니다. 다음 코드는 환경 변수에 저장된 엔드포인트 URL과 키를 사용합니다.

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

Microsoft Entra ID 지원을 사용하여 자체 호스팅 온라인 엔드포인트에 모델을 배포하는 경우 다음 코드 조각을 사용하여 클라이언트를 만들 수 있습니다.

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

모델의 기능 가져오기

/info 경로는 엔드포인트에 배포된 모델에 대한 정보를 반환합니다. 다음 메서드를 호출하여 모델의 정보를 반환합니다.

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

응답은 다음과 같습니다.

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

채팅 완료 요청 만들기

다음 예제에서는 모델에 대한 기본 채팅 완료 요청을 만드는 방법을 보여 줍니다.

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

참고 항목

mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02 및 mistralai-Mixtral-8x22B-Instruct-v0-1은 시스템 메시지(role="system")를 지원하지 않습니다. Azure AI 모델 유추 API를 사용하면 시스템 메시지가 사용자 메시지로 변환되는데, 이는 사용 가능한 기능 중 가장 가까운 기능입니다. 이러한 번역은 편의를 위해 제공되지만, 모델이 적절한 신뢰도 수준으로 시스템 메시지의 지침을 따르는지 확인해야 합니다.

응답은 다음과 같습니다. 여기서 모델의 사용 통계를 볼 수 있습니다.

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 섹션을 검사하여 프롬프트에 사용된 토큰 수, 생성된 총 토큰 수 및 완료에 사용된 토큰 수를 확인합니다.

콘텐츠 스트리밍

기본적으로 완료 API는 생성된 전체 콘텐츠를 단일 응답으로 반환합니다. 긴 완료를 생성하는 경우 응답을 기다리는 데 몇 초 정도 걸릴 수 있습니다.

생성될 때 가져오기 위해 콘텐츠를 스트리밍할 수 있습니다. 콘텐츠를 스트리밍하면 콘텐츠를 사용할 수 있게 되면 완료 처리를 시작할 수 있습니다. 이 모드는 데이터 전용 서버 전송 이벤트 응답을 다시 스트리밍하는 개체를 반환합니다. 메시지 필드가 아닌 델타 필드에서 청크를 추출합니다.

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

완성을 스트리밍하려면 모델을 호출할 때 CompleteStreamingAsync 메서드를 사용합니다. 이 예제에서는 호출이 비동기 메서드로 래핑됩니다.

출력을 시각화하려면 콘솔에서 스트림을 인쇄하는 비동기 메서드를 정의합니다.

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

스트리밍에서 콘텐츠를 생성하는 방법을 시각화할 수 있습니다.

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

유추 클라이언트에서 지원하는 더 많은 매개 변수 살펴보기

유추 클라이언트에서 지정할 수 있는 다른 매개 변수를 탐색합니다. 지원되는 모든 매개 변수 및 해당 설명서의 전체 목록은 Azure AI 모델 유추 API 참조를 확인하세요.

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

Warning

Mistral 모델은 JSON 출력 서식(response_format = { "type": "json_object" })을 지원하지 않습니다. 언제든지 모델에 JSON 출력을 생성하라는 메시지를 표시할 수 있습니다. 그러나 이러한 출력이 유효한 JSON으로 보장되지는 않습니다.

지원되는 매개 변수 목록에 없는 매개 변수를 전달하려면 추가 매개 변수를 사용하여 기본 모델에 전달할 수 있습니다. 모델 추가 매개 변수 전달을 참조하세요.

모델에 추가 매개 변수 전달

Azure AI 모델 유추 API를 사용하면 모델에 추가 매개 변수를 전달할 수 있습니다. 다음 코드 예에서는 추가 매개 변수 logprobs를 모델에 전달하는 방법을 보여줍니다.

Azure AI 모델 유추 API에 추가 매개 변수를 전달하기 전에 모델이 이러한 추가 매개 변수를 지원하는지 확인합니다. 기본 모델에 대한 요청이 이루어지면 헤더 extra-parameterspass-through 값이 모델에 전달됩니다. 이 값은 모델에 추가 매개 변수를 전달하도록 엔드포인트에 지시합니다. 모델에서 추가 매개 변수를 사용하면 모델이 실제로 매개 변수를 처리할 수 있다고 보장할 수 없습니다. 지원되는 추가 매개 변수를 이해하려면 모델의 설명서를 읽어보세요.

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

다음 추가 매개 변수는 Mistral-7B 및 Mixtral 채팅 모델에 전달될 수 있습니다.

속성 Description Type
logit_bias 토큰(토크나이저에서 토큰 ID로 지정)을 -100에서 100 사이의 관련 바이어스 값에 매핑하는 JSON 개체를 허용합니다. 수학적으로, 바이어스는 샘플링 전에 모델에 의해 생성된 로짓에 추가됩니다. 정확한 효과는 모델마다 다르지만 -1과 1 사이의 값은 선택 가능성을 줄이거나 높여야 합니다. -100 또는 100과 같은 값은 관련 토큰을 금지하거나 독점적으로 선택해야 합니다. float
logprobs 출력 토큰의 로그 확률을 반환할지 여부를 나타냅니다. true인 경우 messagecontent에 반환된 각 출력 토큰의 로그 확률을 반환합니다. int
top_logprobs 각 토큰 위치에서 반환될 가능성이 가장 높은 토큰 수를 지정하는 0에서 20 사이의 정수로, 각 토큰에는 관련 로그 가능성이 있습니다. 이 매개 변수를 사용하는 경우 logprobstrue로 설정해야 합니다. float
n 각 입력 메시지에 대해 생성할 채팅 완료 선택 항목 수입니다. 모든 선택 항목에 걸쳐 생성된 토큰 수에 따라 요금이 부과됩니다. int

Mistral-7B 및 Mixtral 채팅 모델

Mistral-7B 및 Mixtral 채팅 모델에는 다음 모델이 포함됩니다.

Mistral-7B-Instruct LLM(대규모 언어 모델)은 다음과 같은 아키텍처 선택이 가능한 변환기 모델인 Mistral-7B의 지침이 담긴 미세 조정 버전입니다.

  • 그룹화된 쿼리 주의
  • 슬라이딩 윈도우 주의
  • 바이트 대체 BPE 토크나이저

다음 모델을 사용할 수 있습니다.

또한 MistralAI는 모델의 특정 기능과 함께 사용할 수 있는 맞춤형 API 사용을 지원합니다. 모델 공급자별 API를 사용하려면 MistralAI 설명서를 확인하거나 유추 예 섹션에서 코드 예를 참조하세요.

필수 조건

Azure AI Foundry에서 Mistral-7B 및 Mixtral 채팅 모델을 사용하려면 다음 필수 구성 요소가 필요합니다.

모델 배포

자체 호스팅 관리 컴퓨팅에 대한 배포

Mistral-7B와 Mixtral 채팅 모델은 자체 호스팅 관리 유추 솔루션에 배포할 수 있으며, 이를 통해 모델이 제공되는 방식에 대한 모든 세부 정보를 사용자 지정하고 제어할 수 있습니다.

자체 호스팅 관리 컴퓨팅에 배포하려면 구독에 충분한 할당량이 있어야 합니다. 사용할 수 있는 할당량이 충분하지 않은 경우 공유 할당량을 사용하려 하며 이 엔드포인트가 168시간 후에 삭제됨을 확인합니다 옵션을 선택하여 사용할 수 있습니다.

REST 클라이언트

Azure AI 모델 유추 API를 사용하여 배포된 모델은 REST 클라이언트를 사용하여 사용할 수 있습니다. REST 클라이언트를 사용하려면 다음 필수 구성 요소가 필요합니다.

  • 요청을 생성하려면 엔드포인트 URL을 전달해야 합니다. 엔드포인트 URL에는 https://your-host-name.your-azure-region.inference.ai.azure.com 형식이 있습니다. 여기서 your-host-name`` is your unique model deployment host name and azure-region``은 모델이 배포되는 Azure 지역입니다(예: eastus2).
  • 모델 배포 및 인증 기본 설정에 따라 서비스에 대해 인증할 키 또는 Microsoft Entra ID 자격 증명이 필요합니다. 키는 32자 문자열입니다.

채팅 완료 작업

이 섹션에서는 채팅을 위한 채팅 완성 모델과 함께 Azure AI 모델 유추 API를 사용합니다.

Azure AI 모델 유추 API를 사용하면 Mistral-7B 및 Mixtral 채팅 모델을 포함하여 동일한 코드와 구조로 Azure AI Foundry 포털에 배포된 대부분의 모델과 통신할 수 있습니다.

모델을 사용할 클라이언트 만들기

먼저 모델을 사용할 클라이언트를 만듭니다. 다음 코드는 환경 변수에 저장된 엔드포인트 URL과 키를 사용합니다.

Microsoft Entra ID 지원을 사용하여 자체 호스팅 온라인 엔드포인트에 모델을 배포하는 경우 다음 코드 조각을 사용하여 클라이언트를 만들 수 있습니다.

모델의 기능 가져오기

/info 경로는 엔드포인트에 배포된 모델에 대한 정보를 반환합니다. 다음 메서드를 호출하여 모델의 정보를 반환합니다.

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

응답은 다음과 같습니다.

{
    "model_name": "mistralai-Mistral-7B-Instruct-v01",
    "model_type": "chat-completions",
    "model_provider_name": "MistralAI"
}

채팅 완료 요청 만들기

다음 예제에서는 모델에 대한 기본 채팅 완료 요청을 만드는 방법을 보여 줍니다.

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

참고 항목

mistralai-Mistral-7B-Instruct-v01, mistralai-Mistral-7B-Instruct-v02 및 mistralai-Mixtral-8x22B-Instruct-v0-1은 시스템 메시지(role="system")를 지원하지 않습니다. Azure AI 모델 유추 API를 사용하면 시스템 메시지가 사용자 메시지로 변환되는데, 이는 사용 가능한 기능 중 가장 가까운 기능입니다. 이러한 번역은 편의를 위해 제공되지만, 모델이 적절한 신뢰도 수준으로 시스템 메시지의 지침을 따르는지 확인해야 합니다.

응답은 다음과 같습니다. 여기서 모델의 사용 통계를 볼 수 있습니다.

{
    "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 섹션을 검사하여 프롬프트에 사용된 토큰 수, 생성된 총 토큰 수 및 완료에 사용된 토큰 수를 확인합니다.

콘텐츠 스트리밍

기본적으로 완료 API는 생성된 전체 콘텐츠를 단일 응답으로 반환합니다. 긴 완료를 생성하는 경우 응답을 기다리는 데 몇 초 정도 걸릴 수 있습니다.

생성될 때 가져오기 위해 콘텐츠를 스트리밍할 수 있습니다. 콘텐츠를 스트리밍하면 콘텐츠를 사용할 수 있게 되면 완료 처리를 시작할 수 있습니다. 이 모드는 데이터 전용 서버 전송 이벤트 응답을 다시 스트리밍하는 개체를 반환합니다. 메시지 필드가 아닌 델타 필드에서 청크를 추출합니다.

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

스트리밍에서 콘텐츠를 생성하는 방법을 시각화할 수 있습니다.

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

스트림의 마지막 메시지는 생성 프로세스가 중지되는 이유를 나타내는 finish_reason이 설정되었습니다.

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

유추 클라이언트에서 지원하는 더 많은 매개 변수 살펴보기

유추 클라이언트에서 지정할 수 있는 다른 매개 변수를 탐색합니다. 지원되는 모든 매개 변수 및 해당 설명서의 전체 목록은 Azure AI 모델 유추 API 참조를 확인하세요.

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

Warning

Mistral 모델은 JSON 출력 서식(response_format = { "type": "json_object" })을 지원하지 않습니다. 언제든지 모델에 JSON 출력을 생성하라는 메시지를 표시할 수 있습니다. 그러나 이러한 출력이 유효한 JSON으로 보장되지는 않습니다.

지원되는 매개 변수 목록에 없는 매개 변수를 전달하려면 추가 매개 변수를 사용하여 기본 모델에 전달할 수 있습니다. 모델 추가 매개 변수 전달을 참조하세요.

모델에 추가 매개 변수 전달

Azure AI 모델 유추 API를 사용하면 모델에 추가 매개 변수를 전달할 수 있습니다. 다음 코드 예에서는 추가 매개 변수 logprobs를 모델에 전달하는 방법을 보여줍니다.

Azure AI 모델 유추 API에 추가 매개 변수를 전달하기 전에 모델이 이러한 추가 매개 변수를 지원하는지 확인합니다. 기본 모델에 대한 요청이 이루어지면 헤더 extra-parameterspass-through 값이 모델에 전달됩니다. 이 값은 모델에 추가 매개 변수를 전달하도록 엔드포인트에 지시합니다. 모델에서 추가 매개 변수를 사용하면 모델이 실제로 매개 변수를 처리할 수 있다고 보장할 수 없습니다. 지원되는 추가 매개 변수를 이해하려면 모델의 설명서를 읽어보세요.

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
}

다음 추가 매개 변수는 Mistral-7B 및 Mixtral 채팅 모델에 전달될 수 있습니다.

속성 Description Type
logit_bias 토큰(토크나이저에서 토큰 ID로 지정)을 -100에서 100 사이의 관련 바이어스 값에 매핑하는 JSON 개체를 허용합니다. 수학적으로, 바이어스는 샘플링 전에 모델에 의해 생성된 로짓에 추가됩니다. 정확한 효과는 모델마다 다르지만 -1과 1 사이의 값은 선택 가능성을 줄이거나 높여야 합니다. -100 또는 100과 같은 값은 관련 토큰을 금지하거나 독점적으로 선택해야 합니다. float
logprobs 출력 토큰의 로그 확률을 반환할지 여부를 나타냅니다. true인 경우 messagecontent에 반환된 각 출력 토큰의 로그 확률을 반환합니다. int
top_logprobs 각 토큰 위치에서 반환될 가능성이 가장 높은 토큰 수를 지정하는 0에서 20 사이의 정수로, 각 토큰에는 관련 로그 가능성이 있습니다. 이 매개 변수를 사용하는 경우 logprobstrue로 설정해야 합니다. float
n 각 입력 메시지에 대해 생성할 채팅 완료 선택 항목 수입니다. 모든 선택 항목에 걸쳐 생성된 토큰 수에 따라 요금이 부과됩니다. int

더 많은 유추 예

Mistral 모델을 사용하는 방법에 대한 더 많은 예를 보려면 다음 예와 자습서를 참조하세요.

설명 언어 Sample
CURL 요청 Bash 링크
JavaScript용 Azure AI 유추 패키지 JavaScript 링크
Python용 Azure AI 유추 패키지 Python 링크
Python 웹 요청 Python 링크
OpenAI SDK(실험용) Python 링크
LangChain Python 링크
Mistral AI Python 링크
LiteLLM Python 링크

관리 컴퓨팅에 배포된 Mistral 모델에 대한 비용 및 할당량 고려 사항

관리 컴퓨팅에 배포된 Mistral 모델은 연관된 컴퓨팅 인스턴스의 코어 시간을 기준으로 요금이 청구됩니다. 컴퓨팅 인스턴스의 비용은 인스턴스 크기, 실행 중인 인스턴스 수, 실행 기간에 따라 결정됩니다.

처음에는 적은 수의 인스턴스로 시작하여 필요에 따라 스케일링 업하는 것이 좋습니다. Azure Portal에서 컴퓨팅 인스턴스 비용을 모니터링할 수 있습니다.